rany2/edge-tts
Use Microsoft Edge's online text-to-speech service from Python WITHOUT needing Microsoft Edge
edge‑tts – Microsoft Edge 云 TTS 的 Python 封装
它是什么 – 一个小型 Python 包,允许你调用 Microsoft Edge 浏览器使用的文本转语音服务。它可以用作代码中的库,或通过两个命令行工具使用:
edge-tts– 从纯文本生成音频(以及可选的字幕文件)。edge‑playback– 生成并立即使用mpv播放器播放语音(Windows 上使用内置播放器)。
为什么重要 – 它提供免费、高质量的神经语音(数百种语言/口音),无需 Azure 凭据。该包处理 HTTP 调用、语音选择,以及语速、音量和音调等可选调整。
安装
# 库 + CLI
pip install edge-tts
# 或者,如果你只需要 CLI 工具并希望隔离
pipx install edge-tts
典型命令行用法
# 保存 MP3 和 SRT 字幕文件
edge-tts --text "Hello, world!" \
--write-media hello.mp3 \
--write-subtitles hello.srt
# 立即播放(Linux/macOS 上需要 mpv)
edge-playback --text "Hello, world!"
你可以使用 edge-tts --list-voices 列出所有可用语音,并通过 --voice <voice-id> 选择。
语音控制 – 该服务提供大量语音(例如 ar-EG-SalmaNeural)。README 中显示了语音名称、性别、内容类别和个性标签的表格。
音频调整 – 直接从 CLI 调整语音特性:
--rate <pct>– 语速(例如--rate=-50%)。--volume <pct>– 音量。--pitch <Hz>– 音调偏移。 负值必须用引号括起来,如--rate=-50%,以避免被解析为标志。
进度反馈 – 在交互式终端中运行时,会显示 tqdm 风格的进度条,显示已接收的音频量。使用 --no-progress 可抑制它。
作为库使用 – 在 Python 中导入 edge_tts 并调用其异步 API。仓库的 examples/ 文件夹和 src/edge_tts/util.py 辅助文件中提供了示例入口点。
实际采用者 – 该包已被用于:
- Home Assistant 的
hass-edge-tts集成。 - Podcastfy 项目,用于生成播客旁白。
tts-samples,一个用于语音选择的 MP3 样本集合。
结论 – edge‑tts 是一个实用、零成本的 Microsoft 神经 TTS 桥梁,适用于脚本、机器人、家庭自动化或任何需要语音输出而无需处理 Azure 身份验证的 Python 项目。
相关
- 项目
- 项目
- 项目
- 项目