README 未给出具体安装命令,需查阅 speaches.ai 文档;模型在请求时按需下载,首次调用需等待加载;README 未说明默认端口。
speaches
speaches-aiMIT活跃维护基于 faster-whisper 的语音转写服务,提供兼容 OpenAI API 的接口,用 Docker 一键部署即可获得本地语音识别与翻译能力。
docker compose upREADME 说明支持 GPU 和 CPU,但未给出具体显存要求、GPU 厂商或型号。
兼容 OpenAI API 的语音服务器,提供流式转写、翻译和语音生成,像 Ollama 一样管理 TTS/STT 模型
基于 faster-whisper 的语音转写服务,提供兼容 OpenAI API 的接口,用 Docker 一键部署即可获得本地语音识别与翻译能力。
核心能力
- 兼容 OpenAI API,现有 SDK 和工具可直接调用
- 基于 faster-whisper 实现流式语音转写,通过 SSE 边转写边返回
- 支持 kokoro 和 piper 的文本转语音
- 请求时指定模型即自动加载,空闲后自动卸载
- 支持 GPU 与 CPU 运行,可通过 Docker Compose 部署
容易踩的坑
- v0.9.0-rc.3最新正式版2025-12-27 · 2025-12-27 18:55 UTC
What's Changed
- tests: add additional speech endpoint tests by @fedirz in https://github.com/speaches-ai/speaches/pull/573
- chore: address
huggingface_hub.list_modelsparams deprecation by @fedirz in https://github.com/speaches-ai/speaches/pull/572 - enable opentelemetry by @fedirz in https://github.com/speaches-ai/speaches/pull/574
- Download models on startup by @yotamN in https://github.com/speaches-ai/speaches/pull/542
- chore: remove
onnx-exportpackage by @fedirz in https://github.com/speaches-ai/speaches/pull/579 - feat: add command aliases to speaches-cli by @fedirz in https://github.com/speaches-ai/speaches/pull/580
- misc changes 3 by @fedirz in https://github.com/speaches-ai/speaches/pull/581
- speaker diarization by @fedirz in https://github.com/speaches-ai/speaches/pull/582
- update api key auth by @fedirz in https://github.com/speaches-ai/speaches/pull/595
New Contributors
- @yotamN made their first contribution in https://github.com/speaches-ai/speaches/pull/542
Full Changelog: https://github.com/speaches-ai/speaches/compare/v0.9.0-rc.2...v0.9.0-rc.3
- v0.9.0-rc.22025-11-11 · 2025-11-11 16:55 UTC
查看更新说明
What's Changed
- lots of changes by @fedirz in https://github.com/speaches-ai/speaches/pull/550
- fix: update gradio version to resolve blank interface issue (#11553) by @fedirz in https://github.com/speaches-ai/speaches/pull/552
- some misc changes by @fedirz in https://github.com/speaches-ai/speaches/pull/564
- handlers refactor by @fedirz in https://github.com/speaches-ai/speaches/pull/568
Full Changelog: https://github.com/speaches-ai/speaches/compare/v0.9.0-rc.1...v0.9.0-rc.2
- v0.9.0-rc.1pre-release2025-09-25 · 2025-09-25 15:48 UTC
查看更新说明
What's Changed
- chore(deps): update pre-commit hook pre-commit/pre-commit-hooks to v6 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/497
- chore(deps): update grafana/tempo docker tag to v2.8.2 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/492
- chore(deps): update grafana/grafana docker tag to v12.1.1 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/482
- chore(deps): update grafana/loki docker tag to v3.5.5 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/481
- chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.13.1 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/473
- chore(deps): update pre-commit hook detachhead/basedpyright-pre-commit-mirror to v1.31.4 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/472
- chore(deps): update ghcr.io/astral-sh/uv docker tag to v0.8.18 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/470
- chore(deps): update pre-commit hook python-jsonschema/check-jsonschema to v0.34.0 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/518
- chore(deps): update pre-commit hook hadolint/hadolint to v2.13.1 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/517
- chore(deps): update otel/opentelemetry-collector-contrib docker tag to v0.135.0 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/471
- feat: per-task model TTL configuration options (closes #327) by @fedirz in https://github.com/speaches-ai/speaches/pull/531
- feat/parakeet support by @fedirz in https://github.com/speaches-ai/speaches/pull/532
- feat: add without_timestamps argument by @Yichen-fqyd in https://github.com/speaches-ai/speaches/pull/530
- chore(deps): update pre-commit hook detachhead/basedpyright-pre-commit-mirror to v1.31.5 - autoclosed by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/534
- chore(deps): update pre-commit hook hadolint/hadolint to v2.14.0 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/525
- chore(deps): update otel/opentelemetry-collector-contrib docker tag to v0.136.0 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/528
- chore(deps): update grafana/grafana docker tag to v12.2.0 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/529
- chore(deps): update ghcr.io/astral-sh/uv docker tag to v0.8.22 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/520
- chore(deps): update actions/checkout action to v5 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/519
- chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.13.2 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/535
- Fix WebSocket Authentication and Add Transcription-Only Mode by @V0v1kkk in https://github.com/speaches-ai/speaches/pull/522
New Contributors
- @Yichen-fqyd made their first contribution in https://github.com/speaches-ai/speaches/pull/530
- @V0v1kkk made their first contribution in https://github.com/speaches-ai/speaches/pull/522
Full Changelog: https://github.com/speaches-ai/speaches/compare/v0.8.3...v0.9.0-rc.1
- v0.8.32025-09-19 · 2025-09-19 03:49 UTC
查看更新说明
What's Changed
- fix: corrupted headers for wav and flac audio formats when streaming by @fedirz in https://github.com/speaches-ai/speaches/pull/465
- chore(deps): update ghcr.io/astral-sh/uv docker tag to v0.7.20 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/443
- chore(deps): update otel/opentelemetry-collector-contrib docker tag to v0.129.1 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/455
- chore(deps): update pre-commit hook python-jsonschema/check-jsonschema to v0.33.2 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/459
- chore(deps): update pre-commit hook google/yamlfmt to v0.17.2 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/445
- chore(deps): update pre-commit hook detachhead/basedpyright-pre-commit-mirror to v1.29.5 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/453
- chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.12.2 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/448
- chore(deps): update pre-commit hook detachhead/basedpyright-pre-commit-mirror to v1.30.1 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/466
- chore(deps): update grafana/loki docker tag to v3.5.2 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/467
- chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.12.3 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/468
- gha updates by @fedirz in https://github.com/speaches-ai/speaches/pull/469
- Add ca-certificates to Dockerfile by @bishtawi in https://github.com/speaches-ai/speaches/pull/476
- fix: skip non-conforming piper models by @dsegoviat in https://github.com/speaches-ai/speaches/pull/510
New Contributors
- @bishtawi made their first contribution in https://github.com/speaches-ai/speaches/pull/476
- @dsegoviat made their first contribution in https://github.com/speaches-ai/speaches/pull/510
Full Changelog: https://github.com/speaches-ai/speaches/compare/v0.8.2...v0.8.3
- v0.8.22025-09-19 · 2025-09-19 03:49 UTC
查看更新说明
What's Changed
- deps: update default cuda version by @fedirz in https://github.com/speaches-ai/speaches/pull/420
- chore(deps): update grafana/grafana docker tag to v12 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/393
- chore(deps): update otel/opentelemetry-collector-contrib docker tag to v0.127.0 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/403
- chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.11.13 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/409
- chore(deps): update ghcr.io/astral-sh/uv docker tag to v0.7.12 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/414
- documentation updates by @fedirz in https://github.com/speaches-ai/speaches/pull/440
- tests: make model pulling explicit by @fedirz in https://github.com/speaches-ai/speaches/pull/442
- chore(deps): update ghcr.io/astral-sh/uv docker tag to v0.7.13 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/431
- chore(deps): update grafana/grafana docker tag to v12.0.2 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/434
- chore(deps): update nvidia/cuda docker tag to v12.9.1 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/433
- chore(deps): update pre-commit hook detachhead/basedpyright-pre-commit-mirror to v1.29.4 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/430
- chore(deps): update pre-commit hook google/yamlfmt to v0.17.1 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/437
- chore(deps): update pre-commit hook python-jsonschema/check-jsonschema to v0.33.1 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/439
- chore(deps): update grafana/tempo docker tag to v2.8.1 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/428
- chore(deps): update otel/opentelemetry-collector-contrib docker tag to v0.128.0 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/425
- chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.12.0 by @renovate[bot] in https://github.com/speaches-ai/speaches/pull/435
- feat: add TTS performance benchmarking script by @fedirz in https://github.com/speaches-ai/speaches/pull/444
- chore: add miscellaneous comments by @fedirz in https://github.com/speaches-ai/speaches/pull/452
- Major Apple Silicon ONNX speedup, actionable error handling and guidance by @ahundt in https://github.com/speaches-ai/speaches/pull/446
- Enables VAD filter by default by @fireblade2534 in https://github.com/speaches-ai/speaches/pull/258
- feat: add VAD_FILTER config option with default False in config and stt endpoints by @thiswillbeyourgithub in https://github.com/speaches-ai/speaches/pull/457
- 269 write an open webui integration tutorial by @fedirz in https://github.com/speaches-ai/speaches/pull/461
- docs: add
git clonestep to building from source by @fedirz in https://github.com/speaches-ai/speaches/pull/463
New Contributors
- @ahundt made their first contribution in https://github.com/speaches-ai/speaches/pull/446
- @fireblade2534 made their first contribution in https://github.com/speaches-ai/speaches/pull/258
Full Changelog: https://github.com/speaches-ai/speaches/compare/v0.8.1...v0.8.2
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Speaches
speaches is an OpenAI API-compatible server supporting streaming transcription, translation, and speech generation. Speach-to-Text is powered by faster-whisper and for Text-to-Speech piper and Kokoro are used. This project aims to be Ollama, but for TTS/STT models.
See the documentation for installation instructions and usage: speaches.ai
Features:
- OpenAI API compatible. All tools and SDKs that work with OpenAI's API should work with
speaches. - Audio generation (chat completions endpoint) | OpenAI Documentation
- Generate a spoken audio summary of a body of text (text in, audio out)
- Perform sentiment analysis on a recording (audio in, text out)
- Async speech to speech interactions with a model (audio in, audio out)
- Streaming support (transcription is sent via SSE as the audio is transcribed. You don't need to wait for the audio to fully be transcribed before receiving it).
- Dynamic model loading / offloading. Just specify which model you want to use in the request and it will be loaded automatically. It will then be unloaded after a period of inactivity.
- Text-to-Speech via
kokoro(Ranked #1 in the TTS Arena) andpipermodels. - GPU and CPU support.
- Deployable via Docker Compose / Docker
- Realtime API
- Highly configurable
Please create an issue if you find a bug, have a question, or a feature suggestion.
Demos
Realtime API
https://github.com/user-attachments/assets/457a736d-4c29-4b43-984b-05cc4d9995bc
(Excuse the breathing lol. Didn't have enough time to record a better demo)
Streaming Transcription
TODO
Speech Generation
https://github.com/user-attachments/assets/0021acd9-f480-4bc3-904d-831f54c4d45b