使用说明
本地语音转文本MCP服务器
一个高性能的模型上下文协议(MCP)服务器,使用whisper.cpp提供本地语音到文本转录,针对Apple Silicon进行了优化。
🎯 特性
- 🏠 100%本地处理:无云API,完全隐私
- 🚀 苹果硅优化:15x+实时转录速度
- 🎤 演讲者日记:识别并分离多位发言者
- 🎵 通用音频支持:自动转换为MP3、M4A、FLAC等格式
- 📝 多种输出格式:txt、json、vtt、srt、csv
- 💾 低内存占用:<2GB内存使用率
- 🔧 TypeScript:全型安全和现代发展
🚀 快速开始
先决条件
- Node.js 18+
- whisper.cpp(
brew install whisper-cpp) - 用于音频格式转换:ffmpeg(
brew install ffmpeg)-自动处理MP3、M4A、FLAC、OGG等。 - 用于演讲者日记:Python 3.8+和HuggingFace令牌(免费)
支持的音频格式
- 原生耳语.cpp格式:WAV、FLAC
- 自动转换格式:MP3、M4A、AAC、OGG、WMA等
- 自动转换:由ffmpeg提供支持,针对whisper.cpp进行16kHz/单声道优化
- 格式检测:需要时自动进行格式检测和转换
安装
git clone https://github.com/your-username/local-stt-mcp.git
cd local-stt-mcp/mcp-server
npm install
npm run build
# Download whisper models
npm run setup:models
# For speaker diarization, set HuggingFace token
export HF_TOKEN="your_token_here" # Get free token from huggingface.co
演讲者日记:需要HuggingFace帐户并接受 发音/扬声器发音-3.1 许可证。
MCP客户端配置
添加到MCP客户端配置中:
{
"mcpServers": {
"whisper-mcp": {
"command": "node",
"args": ["path/to/local-stt-mcp/mcp-server/dist/index.js"]
}
}
}
🛠️ 可用工具
| 工具 | 说明 |
|---|---|
transcribe |
具有自动格式转换功能的基本音频转录 |
transcribe_long |
具有分块和格式转换的长音频文件处理 |
transcribe_with_speakers |
支持格式的演讲者日记和转录 |
list_models |
显示可用的耳语型号 |
health_check |
系统诊断 |
version |
服务器版本信息 |
📊 演出
苹果硅基准:
- 处理速度:15.8倍实时(对比WhisperX 5.5倍)
- 内存使用:<2GB(与WhisperX~4GB相比)
- GPU加速: ✅ 苹果神经引擎
- 设置:中等复杂度,但性能优越
看 /benchmarks/ 以进行详细的性能比较。
🏗️ 项目结构
mcp-server/
├── src/ # TypeScript source code
│ ├── tools/ # MCP tool implementations
│ ├── whisper/ # whisper.cpp integration
│ ├── utils/ # Speaker diarization & utilities
│ └── types/ # Type definitions
├── dist/ # Compiled JavaScript
└── python/ # Python dependencies
🔧 发展
# Build
npm run build
# Development mode (watch)
npm run dev
# Linting & formatting
npm run lint
npm run format
# Type checking
npm run type-check
🤝 贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 添加测试
- 提交拉取请求
📄 许可证
MIT许可证-有关详细信息,请参阅许可证文件。
🙏 致谢
- whisper.cpp 用于优化推理
- OpenAI耳语 对于原始模型
- 模型上下文协议 对于框架
- Pyannote.audio 用于演讲者日记