ChatTTS – 开源的用于对话的生成式语音合成模型


ChatTTS是什么

ChatTTS是一款专为对话场景设计的支持中英文的文本转语音(TTS)模型,基于约10万小时的中英文数据进行训练,能够生成高质量、自然流畅的对话语音。ChatTTS针对对话式任务进行了优化,实现了更自然、流畅的语音合成,同时支持多说话人,还具备细粒度控制能力,能够预测和控制韵律特征,如笑声、停顿等,超越了大部分开源TTS模型。

ChatTTS – 开源的用于对话的生成式语音合成模型

ChatTTS的功能特色

  • 文本转语音:ChatTTS能够将用户输入的文本信息实时转换成自然流畅的语音输出,适用于多种语言环境。
  • 多语言支持:除了支持中文,ChatTTS还能够处理英文文本,使其能够服务于更广泛的用户群体。
  • 情感和韵律调整:ChatTTS不仅能够转换文本,还能够根据文本内容调整语音的情感色彩和韵律特征,如语速、语调、停顿等,使得语音更加贴近真实人类说话的自然节奏。
  • 语音角色选择:用户可以根据应用场景的需要,从多个预设的语音角色中选择最合适的声音,增加语音的个性化和表现力。
  • 交互式Web界面:通过直观的Web界面,用户可以直接在浏览器中输入文本并获取语音输出,无需编写代码。
  • 实时语音交互:ChatTTS支持实时语音合成,非常适合需要即时反馈的对话系统和交互式应用。
  • 语音文件导出:用户可以将合成的语音导出为常见的音频文件格式,方便进行后续的编辑、分享或作为多媒体内容的一部分。
  • 集成与兼容性:ChatTTS支持集成到各种平台和应用中,可以无缝集成到Web应用、移动应用、桌面软件等多种环境中。
  • 情感标记系统:ChatTTS支持在文本中嵌入情感标记,允许用户精细控制语音输出的情感表达,如在文本中插入[laugh]标记来模拟笑声。
ChatTTS – 开源的用于对话的生成式语音合成模型

ChatTTS的官网入口

  • 官方GitHub源码库:https://github.com/2noise/ChatTTS
  • Hugging Face模型地址:https://huggingface.co/2Noise/ChatTTS
  • ModelScope模型地址:https://www.modelscope.cn/models/pzc163/chatTTS/summary

如何运行ChatTTS

方法一、在线体验Demo

普通用户可以在ModelScope和Hugging Face上运行社区提供的在线ChatTTS WebUI版的Demo直接体验

  • ModelScope版Demo:https://www.modelscope.cn/studios/AI-ModelScope/ChatTTS-demo/summary
  • Hugging Face版Demo:https://huggingface.co/spaces/Dzkaka/ChatTTS

方法二、本地部署运行

  1. 安装环境:确保你的计算机上安装了Python和Git。
  2. SDK下载:安装ModelScope和SDK模型下载
    #安装ModelScope
    pip install modelscope
    #SDK模型下载
    from modelscope import snapshot_download
    model_dir = snapshot_download(\'pzc163/chatTTS\')
  3. 获取源码:通过Git版本控制系统,从ModelScope的代码仓库克隆ChatTTS的源码到本地。
    #Git模型下载
    git clone https://www.modelscope.cn/pzc163/chatTTS.git
  4. 安装依赖:进入到项目目录,使用pip命令安装所需的Python依赖包。
    pip install -r requirement.txt
    pip install Ipython
    pip install soundfile
    
  5. 模型推理:可使用魔搭社区免费算力,完成模型推理
    from ChatTTS import Chat
    from IPython.display import Audio
    #下载模型
    from modelscope import snapshot_download
    
    model_dir = snapshot_download(\'pzc163/chatTTS\')
    
    chat = Chat()
    chat.load_models(source=\'local\', local_path=model_dir)
    
    texts = [\"你好,我是ChatTTS,很高兴认识大家\",]
    
    wavs = chat.infer(texts, use_decoder=True)
    Audio(wavs[0], rate=24_000, autoplay=True)
    
    # save audio
    import soundfile as sf
    audio_data = wavs[0]
    if len(audio_data.shape) > 1:  
        audio_data = audio_data.flatten()
    
    output_file = \'./output_audio2.wav\'
    sf.write(output_file, audio_data, 24000)
    print(f\"Audio saved to {output_file}\")
  6. 搭建WebUI并运行
    git clone https://www.modelscope.cn/studios/AI-ModelScope/ChatTTS-demo.git
    cd ChatTTS
    pip install -r requirements.txt
    python app.py

ChatTTS的应用场景

  • 虚拟助手和客服机器人:ChatTTS可以为虚拟助手和在线客服机器人提供自然、流畅的语音输出,提升用户体验。
  • 有声读物和电子书:将文本内容转换为语音,为有声书和电子书提供语音朗读功能,方便用户在通勤或做家务时收听。
  • 社交媒体和内容创作:在社交媒体平台或内容创作中,ChatTTS可以生成吸引人的语音内容,增加互动性和趣味性。
  • 新闻和播客:自动将新闻稿或博客文章转换成语音,用于播客或新闻广播。
  • 无障碍辅助:为视障人士或有阅读困难的用户提供语音辅助,使他们能够通过听来获取信息。
© 版权声明

相关文章