项目介绍:Whisper Playground
Whisper Playground 是一个强大的工具,用于即时构建支持 99 种语言的实时语音转文字(speech-to-text)应用。项目中集成了 faster-whisper、Diart 和 Pyannote 等多个优秀的组件。使用这个工具,开发者可以轻松创建可以实时处理语音转文字的应用。
项目特点
Whisper Playground 提供了一个全面的解决方案,其功能强大,覆盖范围广泛,是语音技术领域的一大革新:
- 多语言支持:项目支持多达 99 种语言的语音转文字功能。
- 实时和批量模式:用户可以选择实时处理模式来实现实时分段和转录,也可以选择批量模式以获取更多上下文的周期性转录。
- 多模型选择:通过选择不同大小的模型(从 tiny 到 large-v2),用户可以根据需求平衡处理速度和精度。
安装和设置
要使用 Whisper Playground,用户需要按照以下步骤进行安装和配置:
- 确保设备上安装了 Conda 和 Yarn。
- 克隆或 fork 此仓库。
- 运行
sh install_playground.sh
来安装前后端环境。 - 检查
config.py
和config.js
文件,确保转录设备和计算类型与用户的系统匹配,并确认后端地址正确。 - 在终端中运行后端服务:
cd backend && python server.py
。 - 在另一个终端中运行 React 前端:
cd interface && yarn start
。
访问 Pyannote 模型
Whisper Playground 使用的库基于存储在 Hugging Face Hub 中的 pyannote.audio 模型。要使用这些模型,用户需在 Hugging Face 注册账户并同意其使用条款。模型包括:
- pyannote/segmentation
- pyannote/embedding
- pyannote/speaker-diarization
用户需要安装 [huggingface-cli],并使用访问令牌登录。
参数配置
项目提供如下参数,用户可以根据需求进行配置:
- 模型大小:从 tiny 到 large-v2,多种选择平衡精度和速度。
- 语言选择:配置用户需要处理的语言。
- 转录超时设置:指定应用等待转录当前音频数据的秒数。
- 光束大小:调节生成和考虑的转录数量,影响准确性和处理时间。
- 转录方式:选择实时或者批量模式。
故障排除
- 在 MacOS 上,如果 safetensors 的 wheel 构建失败,安装 Rust:
brew install rust
并重试。
已知问题
- 在顺序模式下,可能会出现不可控的说话者切换。
- 在实时模式中,未达到转录超时的数据不会被转录。
许可协议
Whisper Playground 及 Whisper 的代码和模型权重均依照 MIT 许可证发布。
通过精简和优化的设置步骤,Whisper Playground 为语音转文字应用的快速开发提供了极大的便利,是开发者的理想选择。