RealtimeTTS-实时应用的文本转语音(TTS)库


这个仓库 RealtimeTTS 是一个用于实时应用的文本转语音(TTS)库,具有低延迟、高质量音频输出、多引擎支持等特点。以下是对该仓库的详细介绍:

项目概述

RealtimeTTS 是一个先进的文本转语音库,专为实时应用设计。它能够快速将文本流转换为高质量的音频输出,并且延迟极低。

关键特性

  1. 低延迟:几乎可以即时完成文本到语音的转换,与大语言模型(LLM)的输出兼容。
  2. 高质量音频:生成清晰、自然的语音。
  3. 多 TTS 引擎支持:支持多种 TTS 引擎,包括 OpenAI TTS、Elevenlabs、Azure Speech Services、Coqui TTS、StyleTTS2、Piper、gTTS、Edge TTS、Parler TTS、Kokoro 和 System TTS。
  4. 多语言支持:能够处理多种语言的文本转语音。
  5. 健壮可靠:通过后备机制确保持续运行,在出现故障时可以切换到替代引擎,保证性能和可靠性,适用于关键和专业场景。

文档支持

该库的文档提供了多种语言版本,包括英语、法语、西班牙语、德语、意大利语、中文、日语、印地语和韩语。

版本更新

  • 最新版本: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:一个线程安全的生成器,用于将迭代的令牌累积成文本。 - GeneratorGeneratorNSF:用于生成音频的模型类。 - SineGen:用于生成正弦波的类。 - WN:一个神经网络模块类。 - Decoder:解码器模块类。 - cache_or_load:用于缓存或加载音频数据的函数。

安装说明

现在建议使用 pip install realtimetts[all] 进行安装,以获得更多的自定义选项。对于特定引擎的安装,也提供了相应的命令,例如:

pip install "RealtimeTTS[kokoro,jp,zh]"

测试文件

仓库中提供了多个测试文件,用于测试不同的 TTS 引擎,例如 kokoro_test.pypiper_test.py 等。

参考链接

  • Linguflex:RealtimeTTS 衍生自 Linguflex 项目,该项目可以通过语音控制环境。
  • RealtimeSTT:RealtimeTTS 的输入对应库,用于语音转文本。

总的来说,RealtimeTTS 是一个功能强大、易于使用的文本转语音库,适合各种实时应用场景。