文本转语音这类技术已经有很多了,自从大模型出现后在转换速度和转换后的还原度上有了很大的突破。今天这个示例是基于智谱AI的CogTTS来实现的文本转语音的例子。
在这个例子中,我们的需求如下:
- 在一个名为speech.txt文本中保存了要转换的语音
- 通过CogTTS将speech.txt中的文本转换为语音
- 将转换后的语音保存到./audo/speech.wav文件中
要完成这些工作,我们首先需要安装依赖。在这之前我们在当前目录下创建一个Python的虚拟环境
1 2
| python -m venv .venv ./venv/Scripts/activate
|
然后安装依赖
示例代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| import zai from zai import ZhipuAiClient from pathlib import Path
client=ZhipuAiClient(api_key="这里输入你的智谱AI的ApiKey")
audio_dir = Path("audio") audio_dir.mkdir(exist_ok=True) speech_file_path = audio_dir / "speech.wav"
content="" spech_text_file_path=Path("speech.txt") with open(spech_text_file_path,'r',encoding='utf-8') as f: content=f.read()
response=client.audio.speech( model="cogtts", input=content, voice="douji", response_format="wav", speed=1.0, volume=1.0 ) response.stream_to_file(speech_file_path)
|
CogTTS支持的音色
- tongtong: 彤彤,默认音色
- chuichui: 锤锤
- xiaochen: 小陈
- jam: 动动动物圈jam音色
- kazi: 动动动物圈kazi音色
- douji: 动动动物圈douji音色
- luodo: 动动动物圈luodo音色