方言克隆实测!GLM-TTS让AI说出家乡话
你有没有试过,用AI模仿老家隔壁王伯的腔调念一句“今儿个晌午吃啥?”——不是标准播音腔,不是机器味儿,就是那股子带着泥土气、拐着弯儿、尾音微微上扬的乡音?这次我们不聊理论,不堆参数,直接把GLM-TTS拉到镜头前,用真实方言样本说话:四川话、粤语、东北话、温州话……全本地化部署,零联网,零数据上传,全程在自己服务器上跑通。结果很实在:3秒录音,10秒出声,听感接近真人,连家里老人听完都愣了下:“这谁家娃在喊我?”
这不是语音替换,也不是后期变声;这是真正意义上的零样本方言克隆——不用训练、不需标注、不改模型,只靠一段你手机里存着的亲人语音,就能让AI开口说你最熟悉的乡音。
下面,我们就以一个普通技术使用者的身份,从第一次双击start_app.sh开始,手把手带你走完这条“让AI讲家乡话”的完整路径。所有操作均基于科哥二次开发的WebUI镜像,开箱即用,不绕弯,不造轮子。
1. 三分钟启动:本地跑起来才是硬道理
别被“清华开源”“音素级控制”这些词吓住。这套系统设计之初就奔着“能用”去的——它不依赖云端API,不强制注册账号,不收集任何音频数据。所有计算都在你自己的GPU服务器上完成。
1.1 启动服务(真·三步到位)
打开终端,依次执行:
cd /root/GLM-TTS source /opt/miniconda3/bin/activate torch29 bash start_app.sh注意:必须先激活
torch29环境,否则会报错找不到PyTorch或CUDA库。这个环境已预装全部依赖(包括torchaudio==2.3.0、transformers==4.41.0等),无需额外安装。
服务启动后,浏览器访问:
http://localhost:7860
你会看到一个干净的界面:左侧是参考音频上传区,中间是文本输入框,右侧是参数调节栏。没有弹窗广告,没有登录墙,没有“请先开通高级版”,只有三个核心动作:传、输、点。
1.2 首次测试:用你的声音“教”AI说第一句话
我们不拿示例音频糊弄人。现在,请拿出手机,录一段5秒左右的清晰人声——比如你爸说的“吃饭没得?”(四川话)、你妈念的“食咗饭未?”(粤语)、或者你自己来句“嘎哈呢?”(东北话)。要求很简单:
- 单一人声,无背景音乐、无回声;
- 语速正常,别刻意拖长音;
- 录完直接发到服务器(用scp或共享文件夹都行)。
上传后,在「参考音频对应的文本」框里,老老实实打上你刚录的那句话原文(哪怕只是几个字)。再在「要合成的文本」里输入你想让AI说的新内容,比如:
“明儿个赶集,买两斤五花肉,再捎瓶老白干。”
点击「 开始合成」,等待10–25秒(取决于GPU型号),音频自动播放,同时保存为:
@outputs/tts_20251212_113000.wav你听到的,不是“AI在读”,而是“那个声音在说”。差别在哪?在于它保留了原声的呼吸节奏、轻重停顿、甚至那一丝不经意的鼻音和喉音——这才是方言的灵魂。
2. 方言克隆实测:四地方言对比效果全记录
我们实测了四种典型方言场景,全部使用真实用户提供的3–8秒原始录音(非合成、非配音),未做任何音频增强处理。以下为客观描述,不加滤镜:
2.1 四川话:成都老茶馆味儿出来了
- 参考音频:62岁男性,成都本地人,录音内容:“莫慌,坐倒喝杯茶。”
- 合成文本:“老板,来碗红油抄手,多放点花椒面!”
- 效果观察:
- “抄手”读作“chāo shǒu”,而非普通话的“chāo shǒu”(声调更平,尾音下沉);
- “花椒面”三字连读自然,带轻微卷舌和气流摩擦感;
- 句末“!”处有明显语气上扬,符合川人表达习惯;
- 整体语速偏慢,停顿位置与参考音频高度一致。
关键结论:对入声字(如“一”“七”“八”“十”)处理准确,未出现普通话式直读。
2.2 粤语:港式口语的节奏感在线
- 参考音频:45岁女性,香港出生,录音内容:“今日好热啊。”
- 合成文本:“落雨收衫啦,唔该晒!”
- 效果观察:
- “落雨”发音接近/lɔk̚ y/,短促入声收尾清晰;
- “收衫”二字连读流畅,“衫”字不拖长,符合粤语单音节主导特征;
- “唔该晒”中“晒”字带轻微气声,语调微降,礼貌感足;
- 背景静音干净,无电子杂音。
关键结论:对粤语九声六调的韵律迁移能力强,尤其擅长处理“啊”“啦”“晒”等语气助词。
2.3 东北话:大碴子味儿拿捏住了
- 参考音频:58岁男性,哈尔滨人,录音内容:“哎哟喂,这苞米咋这么甜呢?”
- 合成文本:“整两瓶啤酒,再拍个黄瓜,麻利儿地!”
- 效果观察:
- “整”字发音饱满,声母“zh”弱化为“r”,符合东北话特点;
- “麻利儿”中“儿”化音自然卷舌,不生硬;
- “咋”“呢”“地”等虚词语调起伏大,情绪饱满;
- 语速快,但字字清晰,无粘连。
关键结论:对北方方言特有的儿化、轻声、吞音现象建模稳定,非简单“加个儿化音”可比。
2.4 温州话:最难啃的骨头也啃下一半
- 参考音频:71岁女性,温州鹿城人,录音内容:“侬饭吃过没?”
- 合成文本:“阿公,药我帮你煎好嘞。”
- 效果观察:
- “侬”“阿公”“嘞”等特有词汇发音基本准确;
- 声调走向与参考音频匹配度高(温州话有8个单字调);
- 部分连读变调尚有优化空间(如“帮”字在“帮你”中应略低平);
- 语音自然度仍高于多数商用TTS,但需配合音素模式进一步打磨。
客观说明:温州话属吴语瓯江片,音系复杂,对零样本克隆挑战极大。当前效果已达可用水平,建议搭配G2P字典补强关键词。
3. 让方言更地道:三个不写代码也能用的提效技巧
你不需要懂ASR、不懂音素对齐、更不用碰config文件。以下三个技巧,全是WebUI界面上点点选选就能实现的“平民优化法”。
3.1 标点即韵律:用中文标点指挥AI怎么“喘气”
很多人以为标点只是断句符号,但在GLM-TTS里,它们是韵律控制器:
,:轻停顿,约0.3秒,适合并列短语;。:中停顿,约0.6秒,用于句末收束;?:升调+延长尾音,AI会自动抬高F0曲线;!:重音+短促收尾,增强情绪张力;……:拖长音,模拟思考或迟疑;——:插入强调,前后各加0.4秒空白。
实测对比:
输入“今天天气不错” → 平淡陈述;
输入“今天天气,不错!” → “不错”二字明显加重、拉长,带笑意。
小贴士:方言中大量使用语气词(“嘛”“咧”“哈”“喏”),务必加标点,如“好嘛!”“走咧——”“真香哈?”,效果立竿见影。
3.2 采样率不是越高越好:24kHz才是方言黄金档
文档里写着“32kHz高质量”,但实测发现:方言克隆,24kHz反而是最优解。
原因很实在:
- 方言辨识度主要靠基频动态、共振峰偏移、气流特征,而非超高频细节;
- 32kHz虽提升泛音丰富度,但会放大参考音频中的底噪、电流声,反而模糊方言特色;
- 24kHz推理速度提升40%,显存占用降低15%,更适合批量生成。
操作:在「⚙ 高级设置」中,将「采样率」固定设为24000,其他参数保持默认。
3.3 种子值决定“是不是同一个人”:固定seed=42是生产铁律
同一段参考音频+同一段文本,不同随机种子会生成不同版本语音——有的更沉稳,有的更活泼,有的语速稍快。这不是bug,是模型内在的韵律多样性。
但对生产环境来说,一致性比多样性更重要。
正确做法:
在所有正式任务中,将「随机种子」统一设为42(或其他固定值)。这样:
- 同一音频素材反复生成,结果完全一致;
- A/B测试时,变量唯一(仅文本或参数变化);
- 客户验收时,不会出现“上次听的是这个味儿,这次咋变了?”的尴尬。
这个细节,科哥在微信里亲口确认过:“seed不锁死,等于没部署。”
4. 批量生成方言内容:从“试试看”到“天天用”
单条测试有趣,但真要落地,得解决“量”的问题。比如:为方言保护项目生成1000条童谣音频;为文旅APP制作50个景区方言导览;为老年大学录制300课时方言教学语音。
GLM-TTS的批量推理功能,就是为此而生。
4.1 构建你的方言任务清单(JSONL格式)
新建一个文本文件dialect_tasks.jsonl,每行一个JSON对象。示例:
{"prompt_text": "吃饭没得?", "prompt_audio": "audio/sichuan_uncle.wav", "input_text": "明儿个赶集,买两斤五花肉,再捎瓶老白干。", "output_name": "sichuan_market"} {"prompt_text": "食咗饭未?", "prompt_audio": "audio/canton_aunt.wav", "input_text": "落雨收衫啦,唔该晒!", "output_name": "canton_rain"} {"prompt_text": "嘎哈呢?", "prompt_audio": "audio/northeast_bro.wav", "input_text": "整两瓶啤酒,再拍个黄瓜,麻利儿地!", "output_name": "northeast_dinner"}注意三点:
prompt_audio路径必须是服务器上的绝对路径或相对于/root/GLM-TTS/的相对路径;output_name不带扩展名,系统自动加.wav;- 文件编码为UTF-8,无BOM头(用VS Code或Notepad++检查)。
4.2 一键启动方言产线
- 切换到WebUI的「批量推理」标签页;
- 点击「上传 JSONL 文件」,选择你刚建好的
dialect_tasks.jsonl; - 设置参数:采样率
24000,随机种子42,输出目录保持默认@outputs/batch; - 点击「 开始批量合成」。
系统会逐行执行,实时显示进度条和日志。失败任务自动跳过,不影响其余任务。完成后,下载ZIP包,解压即得:
@outputs/batch/ ├── sichuan_market.wav ├── canton_rain.wav └── northeast_dinner.wav实测耗时(RTX 4090):
3条任务,总文本长度280字 → 全程58秒,平均19秒/条。
若扩展至100条,预计20分钟内完成,全程无需人工干预。
5. 进阶实战:用音素模式搞定方言里的“神字”
再地道的方言,也逃不开几个“祖传难题字”:
- “厝”(闽南语:房子)→ 普通话读“cuò”,方言读“cu”;
- “囝”(闽东语:儿子)→ 普通话无此字,拼音系统直接报错;
- “冇”(粤语:没有)→ 拼音“mǎo”,但实际发音近似“mou5”。
这时候,光靠参考音频“听”是不够的。你需要手动告诉AI:“这个字,就这么读。”
GLM-TTS提供了开箱即用的音素干预能力,无需改代码,只需编辑一个配置文件。
5.1 三步启用音素模式
- 打开文件:
configs/G2P_replace_dict.jsonl - 按行添加自定义映射(每行一个JSON):
{"word": "厝", "phonemes": ["cu"]} {"word": "囝", "phonemes": ["gian"]} {"word": "冇", "phonemes": ["mou"]} {"word": "搵", "phonemes": ["wan"]}- 在WebUI中,勾选「启用音素模式」(该选项位于高级设置底部,需滚动查看)。
启用后,只要输入文本中出现这些字,系统将跳过默认拼音转换,直接按你指定的音素发音。
小技巧:方言中大量存在“同音替代字”(如粤语“嘅”代替“的”、“咗”代替“了”),可在字典中一并加入,确保发音精准。
6. 真实体验总结:它不是万能的,但足够好用
跑了两周,试了二十多个方言样本,和三位方言传承人一起听了上百条音频,我们得出以下朴素结论:
6.1 它真正做到了什么?
- 零门槛方言复刻:3–8秒录音,10秒内生成可用音频,无需技术背景;
- 本地隐私无忧:所有音频、文本、模型均不出服务器,适合政务、医疗、教育等敏感场景;
- 方言韵律在线:不只是“字正腔圆”,更能还原语调起伏、轻重缓急、语气神态;
- 工程友好:WebUI稳定,批量接口清晰,错误提示明确,显存管理有按钮;
- 社区支持实在:科哥微信响应快,问题不过夜,还主动分享了方言音频采集指南。
6.2 它还没做到什么?(坦诚说明)
- ❌无法克隆混音环境:如果参考音频里有明显背景茶馆嘈杂声,AI会尝试“学习”噪音,导致输出带底噪(建议用Audacity简单降噪后再上传);
- ❌超长文本稳定性待提升:单次合成超过300字,偶发语义漂移(如代词指代混乱),建议分段处理;
- ❌极少数古汉语方言词支持弱:如温州话“箸”(筷子)、闽南语“鼎”(锅),需手动加音素字典;
- ❌无GUI音频编辑:不能直接在界面上剪切、拼接、降噪,需配合外部工具。
但这些,都不妨碍它成为目前中文方言TTS领域最接地气、最易上手、最值得信赖的开源方案。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。