# 常见问题

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

## 一般问题

### Speakr 究竟是什么？

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

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

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

### Speakr 支持哪些音频格式？

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

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

可以，Speakr 被设计为一个多用户系统。每个用户都有自己的账户，拥有独立的录音、设置和说话人库。管理员可以[创建和管理用户账户](admin-guide/user-management.md)。请参阅[系统统计](admin-guide/statistics.md)以监控使用情况、监控使用情况以及配置系统范围的设置。除非通过[分享链接](user-guide/sharing.md)明确共享，否则用户无法看到彼此的录音。了解[分享安全性](user-guide/sharing.md#security-and-privacy-considerations)。

## 安装与设置

### 最低系统要求是什么？

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

### 安装 Speakr 需要了解 Docker 吗？

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

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

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

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

提供[说话人分离](features.md#speaker-diarization)功能的可选 ASR webservice（`onerahmet/openai-whisper-asr-webservice`）在 macOS 上有特定要求：

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

**解决方案**：使用标准 CPU 镜像而非 GPU 版本：
- 使用 `onerahmet/openai-whisper-asr-webservice:latest`（而非 `:latest-gpu`）
- `:latest` 标签同时提供 amd64（Intel）和 arm64（Apple Silicon）架构
- 没有 GPU 加速时处理速度会变慢，但功能完全正常

Mac 的配置示例：
```bash
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` 文件中的配置。要创建完整备份，请先停止容器以确保数据库一致性，然后备份所有三个目录：

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

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

## 转录与 AI 功能

### 转录的准确度如何？

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

### Whisper API 和 ASR 端点有什么区别？

Whisper API 提供基本转录功能——将语音转换为文本，但不包含说话人识别。[推荐的 ASR 容器](getting-started.md#option-b-custom-asr-endpoint-configuration)（`onerahmet/openai-whisper-asr-webservice`）提供高级功能，如[说话人分离](features.md#speaker-diarization)，可以识别并标记对话中的不同说话人。了解转录后如何[管理说话人](user-guide/transcripts.md#speaker-identification)。对于有多位参与者的会议，说话人分离是必不可少的，而对于单人录音（如口述或播客），Whisper API 就足够了。

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

### Speakr 可以转录英语以外的语言吗？

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

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

### 我的录音可以有多长？

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

### 什么 AI 模型生成摘要？

摘要生成使用在[环境配置文件](getting-started.md#step-3-configure-your-transcription-service)中配置的语言模型。通过 [AI 提示词](admin-guide/prompts.md)自定义摘要——可以通过本地 LLM 端点或 OpenAI、OpenRouter 等云服务提供商。模型选择会影响[摘要质量](features.md#automatic-summarization)、成本和处理速度。在[系统统计](admin-guide/statistics.md)中监控性能。

## 隐私与安全

### 我的数据真的私密吗？

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

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

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

### 分享链接安全吗？

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

### 谁可以看到我的录音？

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

## 功能与特性

### 什么是 Inquire Mode？

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

### 说话人档案如何工作？

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

### 转录生成后可以编辑吗？

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

### 有哪些导出格式可用？

Speakr 可以以多种格式导出录音。你可以直接将转录内容复制到剪贴板，以便粘贴到其他应用程序中。了解[导出选项](features.md#export-options)和[分享](user-guide/sharing.md)。可以下载完整的录音为 Word 文档（.docx），包括转录、摘要和笔记。[分享链接](user-guide/sharing.md)提供只读的 Web 访问。你可以在[分享设置](user-guide/sharing.md#creating-a-share-link)中配置可见内容。聊天历史记录也可以导出用于文档目的。

## 故障排除

### 为什么转录需要这么长时间？

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

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

这通常意味着后台处理器已停止或遇到错误。请检查 Docker 日志中的错误消息。请参阅[故障排除指南](troubleshooting.md#transcription-never-starts)了解详情。在[向量存储](admin-guide/vector-store.md)中监控处理进度。常见原因包括 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 Token**：ASR 容器需要有效的 `HF_TOKEN` 环境变量来下载说话人分离模型
4. **Docker 网络**：如果容器在同一个 docker-compose 中，请使用容器名称（例如 `http://whisper-asr:9000`），而不是 localhost 或外部 IP
5. **检查日志**：在 ASR 容器日志中查找 pyannote/VAD 消息以确认说话人分离已激活

ASR 服务应在转录中返回类似 "SPEAKER_00"、"SPEAKER_01" 的说话人标签。然后你可以[识别这些说话人](user-guide/transcripts.md#speaker-identification)并赋予真实姓名。

### 为什么我无法分享录音？

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

### 大转录时界面响应缓慢

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

## 最佳实践

### 我应该如何组织我的录音？

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

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

法律要求因司法管辖区而异。许多地区要求所有被录制方的明确同意。Speakr 包含可配置的[录音免责声明](admin-guide/system-settings.md#recording-disclaimer)功能。请参阅[合规性考虑](troubleshooting.md#recording-disclaimer-for-legal-compliance)。设置适当的法律文本，在录音开始前显示。请咨询当地法律以确保合规——这在欧盟、加州或澳大利亚等有严格录音法律的地区尤为重要。

### 什么音频质量最适合转录？

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

### 如何最大化转录准确度？

说话清晰，避免互相打断。尽量减少背景噪音和回声。对于技术内容，请考虑在你的[提示词](admin-guide/prompts.md)中添加自定义词汇表或术语表。用户可以为其录音设置[个人提示词](user-guide/settings.md#custom-prompts-tab)。请使用适当的[语言设置](user-guide/settings.md#language-preferences)，而不是依赖自动检测。请参阅[语言支持](features.md#language-support)以获得最佳效果。对于多人录音，请使用 [ASR 端点](getting-started.md#option-b-custom-asr-endpoint-configuration)并设置适当的说话人数量。转录后[识别说话人](user-guide/transcripts.md#speaker-identification)以获得最佳效果。

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

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

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

---

返回 [首页](index.md) →