17 KiB
Raw Blame History

常见问题

这些是人们开始使用 Speakr 时最常遇到的问题。这里的答案将为你节省时间,并帮助你了解如何充分利用该平台。

一般问题

Speakr 究竟是什么?

Speakr 是一个自托管的 Web 应用程序,可将你的音频录音转化为有组织、可搜索且智能的笔记。它将转录AI 摘要说话人识别语义搜索整合到一个你完全掌控的单一平台中。如果你自托管了像 Whisper 端点或推荐的 ASR 服务这样的 ASR 模型,以及用于 LLM 的 OpenAI 兼容 API你的数据永远不会离开你的基础设施从而为你提供完整的隐私和控制权。

Speakr 与其他转录服务有何不同?

关键区别在于自托管——你在自己的服务器上运行 Speakr完全掌控自己的数据。除了隐私保护之外Speakr 还将转录与 AI 驱动的功能(如智能摘要、与录音的交互式聊天以及跨所有内容的语义搜索)进行了集成。它不仅仅将语音转换为文本,还让这些文本变得有用且易于访问。

Speakr 支持哪些音频格式?

Speakr 支持大多数常见音频格式,包括 MP3、WAV、M4A、OGG、FLAC 等。系统在内部使用 FFmpeg 来处理音频,因此基本上任何 FFmpeg 支持的格式都能正常工作。包含音轨的视频文件也受到支持——Speakr 会提取并处理其音频部分。

多人可以使用同一个 Speakr 实例吗?

可以Speakr 被设计为一个多用户系统。每个用户都有自己的账户,拥有独立的录音、设置和说话人库。管理员可以创建和管理用户账户。请参阅系统统计以监控使用情况、监控使用情况以及配置系统范围的设置。除非通过分享链接明确共享,否则用户无法看到彼此的录音。了解分享安全性

安装与设置

最低系统要求是什么?

Speakr 可以在适度的硬件上舒适运行。你至少需要 2GB RAM但推荐使用 4GB 以获得更好的性能。CPU 需求取决于你的使用情况——双核处理器可以应对单用户实例,而繁忙的多用户安装则受益于更多核心。存储需求取决于你的录音量,但请至少预留 20GB 可用空间用于应用程序和初始录音。

安装 Speakr 需要了解 Docker 吗?

基本的 Docker 知识会有帮助,但并非必需。快速入门指南提供了可以复制和运行的确切命令。对于生产部署,请参阅安装指南。你需要在服务器上安装 Docker 和 Docker Compose创建包含 API 密钥的配置文件,然后运行一条命令启动所有内容。通常最难的部分是从 OpenAI 或 OpenRouter 获取 API 密钥。

我可以在树莓派上运行 Speakr 吗?

可以Speakr 可以在配备至少 4GB RAM 的树莓派 4 或更新版本上运行。性能无法与完整服务器相比尤其是在转录处理方面但对于个人使用来说完全足够。ARM 兼容的 Docker 镜像开箱即用。只需对大录音的较长处理时间保持耐心即可。

我可以在 Mac 上使用 ASR webservice 进行说话人分离吗?

提供说话人分离功能的可选 ASR webserviceonerahmet/openai-whisper-asr-webservice)在 macOS 上有特定要求:

GPU 限制GPU 直通在 macOS 上无法工作,因为 Docker 在 Linux 虚拟机内运行容器。这是 Mac 上 Docker 的根本限制。

解决方案:使用标准 CPU 镜像而非 GPU 版本:

  • 使用 onerahmet/openai-whisper-asr-webservice:latest(而非 :latest-gpu
  • :latest 标签同时提供 amd64Intel和 arm64Apple Silicon架构
  • 没有 GPU 加速时处理速度会变慢,但功能完全正常

Mac 的配置示例:

docker run -d -p 9000:9000 \
  -e ASR_MODEL=base \
  -e ASR_ENGINE=whisperx \
  -e HF_TOKEN=your_huggingface_token \
  onerahmet/openai-whisper-asr-webservice:latest

注意:如果你不需要在转录中进行说话人识别,可以直接使用 Speakr 配合标准 Whisper API这不需要额外的容器。

如何备份我的 Speakr 数据?

你的 Speakr 数据由三个基本组件组成:instance/ 目录中的 SQLite 数据库、uploads/ 目录中的音频文件和转录内容,以及 .env 文件中的配置。要创建完整备份,请先停止容器以确保数据库一致性,然后备份所有三个目录:

docker compose down
tar czf speakr_backup_$(date +%Y%m%d).tar.gz uploads/ instance/ .env
docker compose up -d

强烈建议在生产环境中定期进行自动化备份。

转录与 AI 功能

转录的准确度如何?

转录准确度取决于多个因素——音频质量、说话人清晰度、背景噪音和专业词汇。请参阅故障排除指南获取建议。为专业词汇配置自定义提示词。在音频质量良好的情况下,清晰的英语语音预计可达到 90-95% 的准确度。在口音较重、多人重叠说话或录音质量差的情况下,准确度会下降。配备说话人分离功能的 ASR 端点通常能提供更好的实际可用性,即使原始准确度相近。

Whisper API 和 ASR 端点有什么区别?

Whisper API 提供基本转录功能——将语音转换为文本,但不包含说话人识别。推荐的 ASR 容器onerahmet/openai-whisper-asr-webservice)提供高级功能,如说话人分离,可以识别并标记对话中的不同说话人。了解转录后如何管理说话人。对于有多位参与者的会议说话人分离是必不可少的而对于单人录音如口述或播客Whisper API 就足够了。

关于 ASR 引擎的说明:为了让说话人分离在 ASR webservice 中正常工作,你必须使用 ASR_ENGINE=whisperx,而不是 faster_whisper。虽然 faster_whisper 提供转录功能,但它不支持说话人识别。

Speakr 可以转录英语以外的语言吗?

可以Speakr 通过其转录服务支持多种语言。Whisper 模型可以处理数十种语言,准确度各不相同——西班牙语、法语、德语和中文等主要语言效果良好,而不太常见的语言准确度可能会降低。你可以在账户设置中设置首选语言,或将其留空以自动检测。请参阅语言支持详情

中文转录的重要提示:使用 ASR 端点进行中文音频转录时,请避免使用 distil 模型(如 distil-large-v3因为它们可能会将中文错误识别为英文。请使用完整 large-v3 模型或类似的非蒸馏模型以获得准确的中文转录。

我的录音可以有多长?

录音长度没有硬性限制,但需要考虑实际因素。非常长的录音(超过 2-3 小时)处理时间更长,消耗更多 API 额度,并且可能导致界面响应变慢。文件上传限制默认为 300MB足以容纳数小时的压缩音频。对于全天候研讨会等超长内容建议将其拆分为逻辑段落。

什么 AI 模型生成摘要?

摘要生成使用在环境配置文件中配置的语言模型。通过 AI 提示词自定义摘要——可以通过本地 LLM 端点或 OpenAI、OpenRouter 等云服务提供商。模型选择会影响摘要质量、成本和处理速度。在系统统计中监控性能。

隐私与安全

我的数据真的私密吗?

正确自托管时,你的音频和转录内容永远不会离开你的服务器。但是,转录和摘要 APIOpenAI、OpenRouter确实会在他们的服务器上处理你的内容。要实现完全隐私你需要对转录和摘要都使用本地模型这需要大量的计算资源。

我可以将 Speakr 用于机密商务会议吗?

可以,但需要采取适当的预防措施。自托管让数据处于你的控制之下,但请考虑你的 API 提供商的数据政策。OpenAI 和 OpenRouter 有不同的数据保留和使用政策。为了获得最高安全性,请使用本地转录和摘要模型,但这需要强大的硬件和技术专长。

分享链接安全吗?

分享链接使用密码学安全的随机令牌,无法被猜测。你可以从分享仪表板管理已分享的录音。但是,任何拥有链接的人都可以在未经身份验证的情况下访问共享内容。请将分享链接视为密码——仅通过安全渠道发送它们,并在不再需要时撤销访问权限。对于敏感内容,请考虑需要身份验证的替代分享方式。

谁可以看到我的录音?

默认情况下,只有你可以看到自己的录音。管理员用户无法通过界面直接查看其他用户的录音,尽管他们可以监控使用模式,但理论上他们可以访问数据库。已分享的录音对拥有分享链接的任何人可访问。同一 Speakr 实例上的其他用户无法看到你的录音,除非你明确分享。

功能与特性

什么是 Inquire Mode

Inquire Mode 是 Speakr 的语义搜索功能,让你可以使用自然语言问题在所有录音中查找信息。必须配置向量存储才能使其正常工作。与其搜索精确的关键词,你可以提出诸如"我们关于营销预算做了什么决定?"这样的问题,并获得讨论过该主题的任何录音的相关摘录。它使用 AI 嵌入来理解含义和上下文。

说话人档案如何工作?

当你在转录中识别说话人通过点击通用标签SPEAKER_01 等并分配名称Speakr 会将这些保存为说话人档案。你可以在账户设置中管理它们。在未来的更新中,我们打算添加功能,允许录音根据声音特征自动建议说话人身份。随着时间的推移,你会建立一个已识别说话人的库,使多人转录变得更加有用。

转录生成后可以编辑吗?

可以,转录内容完全可编辑。点击任何转录上方的"编辑"按钮进行修改。请参阅转录指南了解编辑选项。这对于修正识别错误的专业术语、专有名词或更正说话人分配特别有用。你的编辑会被保留——如果你重新生成摘要或使用聊天功能,它们不会丢失。可以使用各种格式导出已编辑的转录。

有哪些导出格式可用?

Speakr 可以以多种格式导出录音。你可以直接将转录内容复制到剪贴板,以便粘贴到其他应用程序中。了解导出选项分享。可以下载完整的录音为 Word 文档(.docx包括转录、摘要和笔记。分享链接提供只读的 Web 访问。你可以在分享设置中配置可见内容。聊天历史记录也可以导出用于文档目的。

故障排除

为什么转录需要这么长时间?

多个因素会影响转录速度——文件大小、API 服务负载、网络速度和模型选择。大文件自然需要更长时间。API 服务在高峰使用时段可能会变慢。慢速互联网连接会在上传音频时造成瓶颈。使用更大、更准确的模型(如 Whisper Large比使用较小模型耗时更长。

我的录音卡在"待处理"状态

这通常意味着后台处理器已停止或遇到错误。请检查 Docker 日志中的错误消息。请参阅故障排除指南了解详情。在向量存储中监控处理进度。常见原因包括 API 密钥无效、API 配额超限或网络连接问题。重启容器通常可以解决临时问题。请检查你的 API 提供商仪表板,了解使用限制或账单问题。

为什么所有说话人都显示为"UNKNOWN_SPEAKER"

这是说话人分离配置不正确时的常见问题。以下是修复方法:

  1. 检查 ASR_ENGINE:确保你在 ASR 容器中使用的是 ASR_ENGINE=whisperx,而不是 faster_whisper
  2. 验证 ASR_DIARIZE:虽然在 USE_ASR_ENDPOINT=true 时默认设置为 true,但请在 .env 文件中显式设置 ASR_DIARIZE=true
  3. HuggingFace TokenASR 容器需要有效的 HF_TOKEN 环境变量来下载说话人分离模型
  4. Docker 网络:如果容器在同一个 docker-compose 中,请使用容器名称(例如 http://whisper-asr:9000),而不是 localhost 或外部 IP
  5. 检查日志:在 ASR 容器日志中查找 pyannote/VAD 消息以确认说话人分离已激活

ASR 服务应在转录中返回类似 "SPEAKER_00"、"SPEAKER_01" 的说话人标签。然后你可以识别这些说话人并赋予真实姓名。

为什么我无法分享录音?

分享需要你的 Speakr 实例可以从互联网通过 HTTPS/SSL 加密访问。请检查分享要求故障排除。本地安装或未配置 HTTPS 的环境无法生成可用的分享链接。当不满足这些要求时,系统会禁用分享功能。要启用分享功能,请在具有域名和 SSL 证书的公共服务器上部署 Speakr。

大转录时界面响应缓慢

浏览器在显示大量文本时会遇到困难,尤其是在带有说话人分离的气泡视图中。对于超过 2 小时的录音,请考虑使用简单视图而非气泡视图。如果性能随时间下降,请清除浏览器缓存。将超长录音拆分为多个段落可以提高性能和可用性。

最佳实践

我应该如何组织我的录音?

尽早开发一个一致的标签系统。为不同的项目、会议类型或客户创建标签。标签可以包含用于专门处理的自定义提示词。使用描述性标题,帮助你在数月后找到录音。在录音后立即添加笔记,此时上下文仍然清晰。定期维护——归档旧录音和清理测试文件——让你的录音库保持易于管理的状态。

我需要告知他人他们正在被录音吗?

法律要求因司法管辖区而异。许多地区要求所有被录制方的明确同意。Speakr 包含可配置的录音免责声明功能。请参阅合规性考虑。设置适当的法律文本,在录音开始前显示。请咨询当地法律以确保合规——这在欧盟、加州或澳大利亚等有严格录音法律的地区尤为重要。

什么音频质量最适合转录?

尽可能在安静的环境中录音。使用靠近说话人的优质麦克风。对于会议,请将录音设备放置在所有参与者都能清晰听到的中心位置。避免背景音乐或电视噪音。高质量的音频不仅能提高转录准确度,还能减少处理时间和 API 成本。

如何最大化转录准确度?

说话清晰,避免互相打断。尽量减少背景噪音和回声。对于技术内容,请考虑在你的提示词中添加自定义词汇表或术语表。用户可以为其录音设置个人提示词。请使用适当的语言设置,而不是依赖自动检测。请参阅语言支持以获得最佳效果。对于多人录音,请使用 ASR 端点并设置适当的说话人数量。转录后识别说话人以获得最佳效果。

对于中文转录,请使用 large-v3 模型,因为较小的模型可能无法正确输出中文字符。对于其他语言,请测试不同模型,为你的特定语言和口音找到最佳准确度。

按大小分块和按持续时间分块有什么区别?

按文件大小分块(如 CHUNK_LIMIT=20MB适用于比特率一致的音频。当转录服务有时间限制时如 Azure 的 1500 秒上限),按持续时间分块(如 CHUNK_LIMIT=1400s更为合适。基于持续时间的分块确保无论文件压缩或质量如何都不会有任何分块超过时间限制。


返回 首页