文字转自然语音大模型 TTS 接口 API,你确定真的懂?

Text-To-Speech(TTS)文字配音模型是一种用于将文本信息转换成自然语音的技术。TTS大模型有很多,比如OpenAI,智谱,VITS(强大、开源),CosyVoice(开源),Fish Speech (开源),GPT-SoVITS 等。

picture.image

常见的开源的TTS开源模型

在文字配音大模型领域,开源项目为开发者和研究者提供了丰富的资源和灵活性。以下是一些备受关注的开源文字配音模型:

  1. VITS :

Variational Inference with adversarial learning for end-to-end Text-to-Speech

  • 特点: VITS 是一种基于变分推理和对抗学习的端到端文本转语音模型,能够生成高质量、自然的语音。

  • 优势: 音质优秀,能够处理长文本,支持多语言。

  • 适用场景: 学术研究、定制化语音合成、多语言配音等。

  1. StyleTTS 2:
  • 特点: StyleTTS 2 是一种基于风格迁移的文本转语音模型,能够生成具有不同风格的语音。

  • 优势: 风格可控,能够模拟不同人的声音,音质自然。

  • 适用场景: 个性化语音定制、风格化配音、语音克隆等。

  1. So-VITS-SVC 4.0:
  • 特点: So-VITS-SVC 4.0 是一种基于 VITS 的改进模型,支持更灵活的语音合成和风格迁移。

  • 优势: 功能强大,支持多种语言,能够进行细致的音色调整。

  • 适用场景: 专业配音、语音定制、音乐创作等。

  1. RVC (Retrieval-based Voice Conversion):
  • 特点: RVC 是一种基于检索的语音转换模型,能够将一个人的声音转换为另一个人的声音。

  • 优势: 简单易用,效果自然,支持实时转换。

  • 适用场景: 语音转换、娱乐配音、个性化语音定制等。

  1. ChatTTS:
  • 特点: ChatTTS 针对对话场景进行了优化,能够生成自然流畅的对话语音。

  • 优势: 适用于对话系统、聊天机器人等场景,支持多说话人。

  • 适用场景: 对话式 AI、语音助手、智能客服等。

更多开源TTS大模型可以在 Hugging Face上查找。

https://huggingface.co/models?pipeline\_tag=text-to-video&sort=trending

每家TTS大模型的接口参数各不相同,本章以OpenAI的TTS来讲解。

picture.image

OpenAI的文字配音 API

OpenAI的文字配音 API 提供了一个基于 TTS(文本到语音)模型的服务。它内置了 9 种语音,并可用于:

  • 朗读书面博客文章

  • 用多种语言制作口语音频

  • 使用流媒体实时提供音频输出

配音说明

TTS 目前支持9个不同的配音:alloy, ash, coral, echo, fable, onyx, nova, sage, shimmer

发音示例参考:

https://platform.openai.com/docs/guides/text-to-speech/voice-options

输出格式

默认响应格式是 "mp3",但也支持其他格式,如 "opus"、"aac"、"flac" 和 "pcm"。

  • Opus:适用于互联网流媒体和通讯,低延迟。

  • AAC:用于数字音频压缩,受 YouTube、Android、iOS 的偏好。

  • FLAC:用于无损音频压缩,受音频爱好者喜爱,适用于存档。

  • WAV:未压缩的 WAV 音频,适用于低延迟应用以避免解码开销。

  • PCM:类似于 WAV,但包含未带头部的原始样本,24kHz(16位有符号,小端)。

支持语言

TTS 模型在语言支持方面通常遵循 Whisper 模型。Whisper 支持以下语言并且表现出色,(语音针对英语进行了优化):

南非荷兰语、阿拉伯语、亚美尼亚语、阿塞拜疆语、白俄罗斯语、波斯尼亚语、保加利亚语、加泰罗尼亚语、中文、克罗地亚语、捷克语、丹麦语、荷兰语、英语、爱沙尼亚语、芬兰语、法语、加利西亚语、德语、希腊语、希伯来语、印地语、匈牙利语、冰岛语、印度尼西亚语、意大利语、日语、卡纳达语、哈萨克语、韩语、拉脱维亚语、立陶宛语、马其顿语、马来语、马拉地语、毛利语、尼泊尔语、挪威语、波斯语、波兰语、葡萄牙语、罗马尼亚语、俄语、塞尔维亚语、斯洛伐克语、斯洛文尼亚语、西班牙语、斯瓦希里语、瑞典语、他加禄语、泰米尔语、泰语、土耳其语、乌克兰语、乌尔都语、越南语和威尔士语。

可以通过提供所选语言的输入文本来生成这些语言的语音音频。

官方API说明:

https://platform.openai.com/docs/guides/text-to-speech/voice-options#overview

文字配音 API

参数说明

请求参数:

  • model('tts-1' 或 'tts-1-hd'):使用的 TTS 模型,默认为 'tts-1'。

  • input(文本):要为其生成音频的文本,最大长度为4096个字符。

  • voice('alloy', 'echo', 'fable'等9种):生成音频时使用的声音/配音,支持声音在“配音”中提供。

  • response_format('mp3', 'opus', 'aac', 'flac', 'wav', 'pcm'):音频的输出格式,默认为 'mp3'。

  • speed(0.25到4.0):生成音频的速度,默认速度为 1.0。

返回:

audio_file: 音频文件内容。

演示代码

  
from openai import OpenAI  
client = OpenAI(api_key="sk-xxxx", base_url="https://vip.apiyi.com/v1")  
speech_file_path = "./audio/boyinyuan.mp3"  
with client.audio.speech.with_streaming_response.create(  
    model="tts-1",  
    voice="nova",  
    input="""  
    上海F1赛车时隔五年回归 首位中国车手周冠宇:我渴望站上领奖台  
    2024年4月17日  
    阔别五年的世界一级方程式(F1)赛车中国站即将于2024年4月19至21日在上海国际赛车场举行,并首次有中国籍赛车手参赛。  
    作为中国第一位F1赛车手,24岁的上海小伙周冠宇称自己“渴望站上领奖台”。  
    """  
) as response:  
    response.stream_to_file(speech_file_path)

模型使用tts-1,配音使用nova女配音,mp3语音保存本地。打开mp3文件,就能听到input里的文字转成语音了。

OpenAI的TTS大模型缺点

无法增加情感,只能使用规格的9种声音,没有中国的方言。 后期我们将采用开源的、微调版本的大模型做优化。

0
0
0
0
评论
未登录
暂无评论