You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中使用gTTS实现多语言文本转语音?

基于gTTS实现多语言文本转语音适配

gTTS原生支持包括中文在内的数十种语言,只需替换对应的语言代码即可完成多语言适配,具体操作如下:

1. 确认gTTS支持的语言列表

先通过代码查看所有可用的语言及对应代码,避免用错:

from gtts import gTTS
# 打印所有支持的语言-代码映射
print(gTTS.langs())

常用语言代码示例:

  • 简体中文:zh-CN
  • 繁体中文:zh-TW
  • 美式英文:en-us
  • 日文:ja
  • 韩文:ko

2. 修改现有代码适配中文

直接替换language参数为中文代码,同时传入中文文本即可:

from gtts import gTTS
import os

myText = "你好,这是基于gTTS的中文语音合成测试"
language = 'zh-CN'  # 指定简体中文
output = gTTS(text=myText, lang=language, slow=False)

output.save("output_zh.mp3")
os.system("start output_zh.mp3")

3. 扩展为通用多语言适配程序

如果需要支持动态切换语言,可以封装成函数,增加错误处理避免无效语言代码导致的报错:

from gtts import gTTS
import os

def tts_convert(text, lang_code='en'):
    try:
        tts = gTTS(text=text, lang=lang_code, slow=False)
        save_path = f"output_{lang_code}.mp3"
        tts.save(save_path)
        os.system(f"start {save_path}")
        print(f"语音文件已生成:{save_path}")
    except ValueError as err:
        print(f"转换失败:{err},请检查语言代码是否正确")

# 调用示例:用户输入文本和语言代码
user_text = input("请输入待转换文本:")
user_lang = input("请输入语言代码(如zh-CN、en-us):")
tts_convert(user_text, user_lang)

注意事项

  • 语言代码必须严格匹配gTTS的支持列表,不同地区的同一种语言可能有不同代码(如英式英文为en-gb)
  • 输入文本需与指定语言代码对应,否则会触发格式错误
  • slow参数对所有语言生效,设为True会降低语速,适合教学场景

内容的提问来源于stack exchange,提问作者Yogendran Prakash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 08:20:27