Murmur 是为中文优化的本地语音输入工具。 按下快捷键,说话,文字就出现在光标处——全部在你的电脑上完成,无需联网,无需上传。
| Murmur | macOS 原生听写 | 讯飞语记 | Whisper Desktop | |
|---|---|---|---|---|
| 中文精度 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| 完全本地 | ✅ | ✅ | ❌ | ✅ |
| AI 后处理 | ✅ | ❌ | ❌ | ❌ |
| 开源免费 | ✅ | ✅ | ❌ | ✅ |
| 11+ AI 模型 | ✅ | ❌ | ❌ | ❌ |
| 自定义 Prompt | ✅ | ❌ | ❌ | ❌ |
| 🎤 高精度中文识别 | 🤖 AI 智能润色 | ⌨️ 全局热键 | 🔒 完全本地 |
|---|---|---|---|
| FunASR Paraformer-large | 去除口头禅、修正错话 | Cmd+Shift+Space |
零数据上传 |
| 🌐 11+ AI 模型 | 📁 音频文件转录 | 💾 转录历史 | 🌍 双语支持 |
|---|---|---|---|
| OpenAI/DeepSeek/通义/智谱/本地 Ollama | wav/mp3/m4a/flac | SQLite + 搜索 + 导出 | 中文/English |
# macOS (Homebrew)
brew install --cask murmur
# Windows (Winget)
winget install TeFuirnever.Murmur或从 Releases 下载安装包。
首次安装提示
- macOS:如遇"无法验证开发者",右键点击应用 → 选择"打开"
- Windows:如遇 SmartScreen 拦截,点击"更多信息" → "仍要运行"
- 启动 Murmur,等待模型下载完成(首次约 1GB,后续秒开)
- 按下
Cmd+Shift+Space(macOS)或Ctrl+Shift+Space(Windows)开始说话 - 文字自动出现在光标处
使用 AI 润色(可选):打开设置 → 选择 AI 模型提供商 → 填入 API Key 或使用本地模型。设置页内置「快速开始」引导,DeepSeek / 硅基流动注册即送免费额度。
| 提供商 | Base URL | 需要 API Key | 免费额度 |
|---|---|---|---|
| OpenAI | api.openai.com/v1 | ✅ | — |
| DeepSeek ⭐ | api.deepseek.com/v1 | ✅ | 注册送 |
| 通义千问 | dashscope.aliyuncs.com | ✅ | 新用户 |
| 智谱 GLM | open.bigmodel.cn | ✅ | 注册送 |
| 硅基流动 ⭐ | api.siliconflow.cn | ✅ | 注册送 |
| Groq | api.groq.com | ✅ | 免费层 |
| Moonshot | api.moonshot.cn | ✅ | — |
| MiniMax | api.minimaxi.com | ✅ | — |
| OpenRouter | openrouter.ai/api/v1 | ✅ | 部分免费 |
| Ollama (本地) | localhost:11434 | ❌ | 免费 |
| LM Studio (本地) | localhost:1234 | ❌ | 免费 |
⭐ 标记的提供商推荐新手使用——注册即送免费额度,国内访问稳定。
只需选择提供商,Murmur 自动填入地址和模型。
- Node.js 18+ 和 pnpm
- Python 3.8+(用于 FunASR)
git clone https://github.com/TeFuirnever/Murmur.git
cd Murmur
pnpm install
# Python 环境(二选一)
# 方案 A: uv(推荐,自动管理虚拟环境)
curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync && uv run python download_models.py
# 方案 B: 系统 Python
pip install funasr modelscope torch torchaudio librosa numpy
python download_models.py
pnpm devpnpm dev # 启动开发模式
pnpm test # 运行测试(652 tests)
pnpm lint # 代码检查(0 warnings)
pnpm typecheck # TypeScript 类型检查
pnpm ci:check # 本地运行所有 CI 门禁| 层级 | 技术 |
|---|---|
| 桌面框架 | Electron 36 |
| 前端 | React 19, Tailwind CSS 4, Vite |
| 语音识别 | FunASR (Paraformer-large + FSMN-VAD + CT-Transformer) |
| AI 优化 | 11+ OpenAI 兼容模型 + 自定义 Prompt 模板 |
| 数据存储 | SQLite (better-sqlite3, safeStorage 加密) |
已完成:
- 本地 FunASR 语音识别(Paraformer-large)
- AI 文本智能优化(11+ 模型,含本地 Ollama/LM Studio)
- 自定义 AI Prompt 模板
- 音频文件导入转录(wav/mp3/m4a/flac)
- 转录历史搜索(FTS5 全文搜索)和导出(TXT/SRT/Markdown/DOCX)
- 全局热键
Cmd+Shift+Space - 多语言支持(中文/English)
- 半自动更新(SHA256 校验)
- 无障碍(ARIA + 键盘导航)
- GPU 自动检测(CUDA > MPS > CPU)
- TypeScript 严格模式(652 测试,95% 覆盖率)
- 文件配置支持(
~/.murmur.json) - AI Provider 快速开始引导(免费 API Key 获取)
进行中 / 规划:
- 实时流式转录(目标 200ms 延迟)
- CLI 模式(
murmur transcribe --file) - ASR 多引擎支持(whisper.cpp / SenseVoice)
- 长音频分片转录(解决 10 分钟超时)
- AI 流式响应
详见 docs/strategic-plan-gap-analysis.md 查看完整规划。
PRs welcome! 见 CONTRIBUTING.md 了解开发环境搭建、代码规范和提交流程。
Open Source · Local · AI Voice Input
Speak to type, convert audio to text in seconds. Powered by FunASR, all on your device.
Murmur is a local-first voice input tool optimized for Chinese. Press the hotkey, speak, and text appears at your cursor — all processed locally, no internet required.
| Murmur | macOS Dictation | iFlytek | Whisper Desktop | |
|---|---|---|---|---|
| Chinese Accuracy | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| Fully Local | ✅ | ✅ | ❌ | ✅ |
| AI Post-processing | ✅ | ❌ | ❌ | ❌ |
| Open Source | ✅ | ✅ | ❌ | ✅ |
| 11+ AI Models | ✅ | ❌ | ❌ | ❌ |
| Custom Prompts | ✅ | ❌ | ❌ | ❌ |
| 🎤 Accurate Chinese | 🤖 AI Refinement | ⌨️ Global Hotkey | 🔒 Fully Local |
|---|---|---|---|
| FunASR Paraformer-large | Remove filler words, fix mistakes | Cmd+Shift+Space |
Zero data upload |
| 🌐 11+ AI Models | 📁 File Transcription | 💾 History | 🌍 i18n |
|---|---|---|---|
| OpenAI/DeepSeek/Qwen/GLM/Ollama | wav/mp3/m4a/flac | SQLite + search + export | zh-CN / English |
# macOS (Homebrew)
brew install --cask murmur
# Windows (Winget)
winget install TeFuirnever.MurmurOr download from Releases.
- Launch Murmur, wait for model download (~1GB first time)
- Press
Cmd+Shift+Spaceand start speaking - Text appears at your cursor
AI Polish (optional): Settings → choose provider (DeepSeek, Qwen, Ollama, etc.) → enter API key or use local model. Built-in Quick Start guide helps you get a free API key.
git clone https://github.com/TeFuirnever/Murmur.git
cd Murmur && pnpm install
# Python setup (choose one)
curl -LsSf https://astral.sh/uv/install.sh | sh # Option A: uv (recommended)
uv sync && uv run python download_models.py
pip install funasr modelscope torch torchaudio librosa numpy # Option B: system Python
python download_models.py
pnpm dev| Layer | Technology |
|---|---|
| Desktop | Electron 36 |
| Frontend | React 19, Tailwind CSS 4, Vite |
| Speech | FunASR (Paraformer-large + FSMN-VAD + CT-Transformer) |
| AI | 11+ OpenAI-compatible models + custom prompt templates |
| Storage | SQLite (better-sqlite3, safeStorage encryption) |
Done:
- Local FunASR speech recognition (Paraformer-large)
- AI text optimization (11+ models, incl. local Ollama/LM Studio)
- Custom AI prompt templates
- Audio file transcription (wav/mp3/m4a/flac)
- History search (FTS5 full-text) and export (TXT/SRT/Markdown/DOCX)
- Global hotkey
- Multi-language (Chinese/English)
- Semi-auto update (SHA256 verified)
- Accessibility (ARIA + keyboard nav)
- GPU auto-detection (CUDA > MPS > CPU)
- TypeScript strict mode (652 tests, 95% coverage)
- File config support (
~/.murmur.json) - AI Provider quick-start guide (free API key)
In Progress / Planned:
- Real-time streaming transcription (target 200ms latency)
- CLI mode (
murmur transcribe --file) - Multi-engine ASR (whisper.cpp / SenseVoice)
- Long audio chunked transcription
- AI streaming response
PRs welcome! See CONTRIBUTING.md for setup, code standards, and PR process.