Qwen-TTS 是由阿里巴巴云 Qwen 团队开发的一款文本转语音(TTS)工具,通过 Qwen API 提供服务。它基于超大规模语音数据集训练,语音输出自然且富有表现力,能自动调整语调、语速和情感。Qwen-TTS 支持普通话、英文,以及北京话、上海话、四川话三种中文方言,提供七种中英双语声音,包括 Cherry、Ethan、Chelsie、Serena、Dylan(北京话)、Jada(上海话)和 Sunny(四川话)。这款工具适合需要高质量语音合成的场景,比如语音助手、音频内容生成等。未来,Qwen-TTS 计划支持更多语言和风格选项。
功能列表
- 支持普通话和中英双语语音合成,输出自然流畅的语音。
- 支持北京话、上海话、四川话三种中文方言,保留地方口音特色。
- 提供七种中英双语声音,满足不同场景的个性化需求。
- 自动调整语音的语调、语速和情感,贴近真人表达。
- 通过 Qwen API 提供服务,方便开发者集成到应用中。
- 支持大规模语音数据集训练,确保语音输出的高质量和真实感。
- 提供音频文件下载功能,方便用户保存生成的语音。
使用帮助
安装与使用环境准备
Qwen-TTS 目前通过 Qwen API 提供服务,无需本地安装模型,但需要配置 API 密钥以调用服务。以下是详细的使用步骤:
- 获取 API 密钥
用户需要先注册阿里云账号并开通 Qwen API 服务。登录阿里云百炼平台,申请DASHSCOPE_API_KEY
。- 访问阿里云百炼平台官网,点击“注册”或“登录”。
- 在控制台中找到 Qwen API 服务,按照指引开通并获取 API 密钥。
- 将密钥保存在环境变量中,命令为:
export DASHSCOPE_API_KEY='your_api_key'
- 安装必要的 Python 环境
Qwen-TTS 需要通过 Python 调用 API,建议使用 Python 3.6 或以上版本。安装所需的依赖库:pip install dashscope pip install requests
确保网络连接稳定,避免 API 调用超时。
- 调用 Qwen-TTS API 生成语音
Qwen-TTS 提供简单的 Python 接口,用于将文本转换为语音。以下是一个基本示例代码:import os import requests import dashscope def get_api_key(): api_key = os.getenv("DASHSCOPE_API_KEY") if not api_key: raise EnvironmentError("DASHSCOPE_API_KEY environment variable not set.") return api_key def synthesize_speech(text, voice="Dylan", model="qwen-tts-latest"): api_key = get_api_key() try: response = dashscope.audio.qwen_tts.SpeechSynthesizer.call( model=model, api_key=api_key, text=text, voice=voice ) if response is None: raise RuntimeError("API call returned None response") if response.output is None: raise RuntimeError("API call failed: response.output is None") if not hasattr(response.output, 'audio') or response.output.audio is None: raise RuntimeError("API call failed: response.output.audio is None or missing") audio_url = response.output.audio["url"] return audio_url except Exception as e: raise RuntimeError(f"Speech synthesis failed: {e}") def download_audio(audio_url, save_path): try: resp = requests.get(audio_url, timeout=10) resp.raise_for_status() with open(save_path, 'wb') as f: f.write(resp.content) print(f"Audio file saved to: {save_path}") except Exception as e: raise RuntimeError(f"Download failed: {e}") def main(): text = "哟,您猜怎么着?今儿个我看NBA,库里投篮跟闹着玩似的,张手就来,篮筐都得喊他“亲爹”了" save_path = "downloaded_audio.wav" try: audio_url = synthesize_speech(text, voice="Dylan") download_audio(audio_url, save_path) except Exception as e: print(e) if __name__ == "__main__": main()
- 代码说明:
text
:输入需要转换的文本,支持中英文混合。voice
:选择声音类型,例如 “Dylan” 表示北京话风格。其他可选声音包括 Cherry、Ethan、Chelsie、Serena、Jada、Sunny。model
:指定模型为qwen-tts-latest
或qwen-tts-2025-05-22
。save_path
:设置生成的音频文件保存路径,格式为 WAV。
- 代码说明:
- 选择声音和方言
Qwen-TTS 提供七种声音,每种声音对应不同风格和方言:- Cherry、Ethan、Chelsie、Serena:普通话与英文双语,适合通用场景。
- Dylan:北京话,带有地道京腔,适合本地化内容。
- Jada:上海话,适合吴语地区用户。
- Sunny:四川话,带有西南地区口音特色。
在调用 API 时,通过voice
参数指定所需的声音。例如,设置为voice="Jada"
可生成上海话语音。
- 调整语音效果
Qwen-TTS 会根据输入文本自动调整语调、语速和情感,无需手动配置参数。例如,输入带有感叹号的句子,生成的语音会更有活力。用户可以通过调整文本内容来控制语音的情感表达,比如添加语气词或标点符号。 - 保存和使用生成的音频
API 返回的音频文件以 URL 形式提供。用户可通过download_audio
函数下载为 WAV 文件,保存到本地后可用于播放、编辑或嵌入其他应用。确保下载路径有写入权限。 - 错误处理
- 如果 API 密钥未设置,程序会抛出
EnvironmentError
。请检查环境变量配置。 - 如果网络连接不稳定,可能导致
requests.get
超时。建议检查网络或延长超时时间(timeout
参数)。 - 如果返回的音频 URL 无效,请确保输入的文本和声音参数正确。
- 如果 API 密钥未设置,程序会抛出
使用注意事项
- 确保文本内容清晰,避免过于复杂的句子,以获得最佳语音效果。
- API 调用需要稳定的网络环境,建议在服务器或高性能设备上运行。
- 当前 Qwen-TTS 仅通过 API 提供,暂不支持离线使用。
- 未来版本可能支持更多语言和声音风格,建议关注官方博客更新。
应用场景
- 语音助手开发
Qwen-TTS 可用于开发智能语音助手,支持中英双语和方言,适合本地化场景。例如,开发一款北京话语音助手,为本地用户提供亲切的服务体验。 - 有声书和播客制作
使用 Qwen-TTS 将小说或文章转为有声书,支持多种声音选择,满足不同听众喜好。上海话或四川话版本可吸引特定地区听众。 - 教育内容生成
在线教育平台可利用 Qwen-TTS 制作教学音频,支持中英双语教学,适合语言学习或跨文化课程。 - 广告和宣传配音
企业可使用 Qwen-TTS 为广告视频生成自然语音,选择方言版本以增强地方特色,提升用户亲和力。 - 游戏和虚拟角色配音
游戏开发者可为角色配音,结合方言和情感表达,打造更真实的虚拟人物。
QA
- Qwen-TTS 支持哪些语言和方言?
支持普通话、英文,以及北京话、上海话、四川话三种中文方言。未来可能支持更多语言。 - 如何选择不同的声音?
在 API 调用中通过voice
参数指定声音名称,如voice="Dylan"
(北京话)或voice="Sunny"
(四川话)。 - 需要安装模型到本地吗?
不需要,Qwen-TTS 通过 Qwen API 在云端运行,只需配置 API 密钥即可。 - 生成的音频可以保存吗?
可以,API 返回音频 URL,用户可通过代码下载为 WAV 文件,保存到本地。 - 如何优化语音的自然度?
输入清晰、带有适当标点和语气词的文本,Qwen-TTS 会自动调整语调和情感,生成更自然的语音。