这个仓库 RealtimeTTS
是一个用于实时应用的文本转语音(TTS)库,具有低延迟、高质量音频输出、多引擎支持等特点。以下是对该仓库的详细介绍:
项目概述
RealtimeTTS 是一个先进的文本转语音库,专为实时应用设计。它能够快速将文本流转换为高质量的音频输出,并且延迟极低。
关键特性
- 低延迟:几乎可以即时完成文本到语音的转换,与大语言模型(LLM)的输出兼容。
- 高质量音频:生成清晰、自然的语音。
- 多 TTS 引擎支持:支持多种 TTS 引擎,包括 OpenAI TTS、Elevenlabs、Azure Speech Services、Coqui TTS、StyleTTS2、Piper、gTTS、Edge TTS、Parler TTS、Kokoro 和 System TTS。
- 多语言支持:能够处理多种语言的文本转语音。
- 健壮可靠:通过后备机制确保持续运行,在出现故障时可以切换到替代引擎,保证性能和可靠性,适用于关键和专业场景。
文档支持
该库的文档提供了多种语言版本,包括英语、法语、西班牙语、德语、意大利语、中文、日语、印地语和韩语。
版本更新
- 最新版本:v0.4.50
- 新增功能:
- 支持更多 Kokoro 语言,提供日语和中文语言的完整安装方式。
- 新增 KokoroEngine 和 PiperEngine。
- 增加 ParlerEngine,但需要 flash attention,在 4090 上勉强可以进行实时推理。
代码结构
仓库的主要目录结构如下:
.gitignore
.pre-commit-config.yaml
FAQ.md
README.md
mkdocs.yml
requirements.txt
setup.py
example_rvc/
README.md
bufferstream.py
download_models.py
requirements.txt
rvc/
xtts_rvc_llm.py
xtts_rvc_synthesizer.py
xtts_rvc_tester.py
tests/
__init__.py
advanced_talk.py
azure_test.py
chinese_test.py
complex_test.py
coqui_test.py
coqui_voices/
edge_test.py
elevenlabs_test.py
fallback_test.py
female.json
female_arabic.json
...
docker/
...
RealtimeTTS/
...
example_fast_api/
...
deepspeed/
...
docs/
...
相关代码片段
仓库中包含多个代码文件,以下是一些关键类和函数的介绍:
- AccumulatingThreadSafeGenerator
:一个线程安全的生成器,用于将迭代的令牌累积成文本。
- Generator
和 GeneratorNSF
:用于生成音频的模型类。
- SineGen
:用于生成正弦波的类。
- WN
:一个神经网络模块类。
- Decoder
:解码器模块类。
- cache_or_load
:用于缓存或加载音频数据的函数。
安装说明
现在建议使用 pip install realtimetts[all]
进行安装,以获得更多的自定义选项。对于特定引擎的安装,也提供了相应的命令,例如:
pip install "RealtimeTTS[kokoro,jp,zh]"
测试文件
仓库中提供了多个测试文件,用于测试不同的 TTS 引擎,例如 kokoro_test.py
、piper_test.py
等。
参考链接
- Linguflex:RealtimeTTS 衍生自 Linguflex 项目,该项目可以通过语音控制环境。
- RealtimeSTT:RealtimeTTS 的输入对应库,用于语音转文本。
总的来说,RealtimeTTS 是一个功能强大、易于使用的文本转语音库,适合各种实时应用场景。