综合介绍
OuteTTS 是一种实验性文本转语音(TTS)模型,采用纯语言建模方法生成高质量语音。与传统的 TTS 系统不同,OuteTTS 不需要外部适配器或复杂的架构。该模型基于 LLaMa 架构,支持语音克隆功能,能够生成具有随机说话人特征的语音。OuteTTS 旨在通过简单的结构实现高效的语音合成,适用于多种应用场景。
OuteTTS-0.1-350M 在简化文本到语音合成方面向前迈进了一步。 OuteTTS-0.1-350M 证明了通过纯粹的语言建模方法可以生成高质量的语音。
功能列表
- 文本转语音:将输入的文本转换为自然流畅的语音。
- 语音克隆:通过参考音频文件创建自定义说话人,并生成相应的语音。
- 多模型支持:支持 Hugging Face 模型和 GGUF 模型。
- 音频播放与保存:生成的语音可以直接播放或保存为音频文件。
- 温度与重复惩罚:通过调整温度和重复惩罚参数,控制生成语音的多样性和流畅度。
使用帮助
安装流程
- 安装 OuteTTS:
pip install outetts
重要提示:对于 GGUF 支持,您需要先手动安装
llama-cpp-python
。请访问 llama-cpp-python 获取具体安装说明。
使用方法
- 初始化接口:
from outetts.v0_1.interface import InterfaceHF, InterfaceGGUF # 使用 Hugging Face 模型初始化接口 interface = InterfaceHF("OuteAI/OuteTTS-0.1-350M") # 或者使用 GGUF 模型初始化接口 # interface = InterfaceGGUF("path/to/model.gguf")
- 生成 TTS 输出:
output = interface.generate( text="Hello, am I working?", temperature=0.1, repetition_penalty=1.1, max_length=4096 )
- 播放和保存生成的音频:
# 播放生成的音频 output.play() # 保存生成的音频到文件 output.save("output.wav")
语音克隆
- 创建自定义说话人:
speaker = interface.create_speaker( "path/to/reference.wav", "reference text matching the audio" )
- 保存和加载说话人:
# 保存说话人到文件 interface.save_speaker(speaker, "speaker.pkl") # 从文件加载说话人 speaker = interface.load_speaker("speaker.pkl")
- 使用自定义语音生成 TTS:
output = interface.generate( text="This is a cloned voice speaking", speaker=speaker, temperature=0.1, repetition_penalty=1.1, max_length=4096 )
参数调整
- 温度(temperature):控制生成语音的多样性。较低的温度(如 0.1)会生成更确定的输出,而较高的温度(如 0.7)会生成更多样化的输出。
- 重复惩罚(repetition_penalty):控制生成语音的重复程度。较高的重复惩罚(如 1.1)可以减少重复内容的生成。
通过以上步骤,用户可以轻松安装和使用 OuteTTS 模型进行文本转语音和语音克隆操作。详细的参数调整和使用示例可以帮助用户根据具体需求生成高质量的语音输出。