儿童故事机DIY:用GLM-TTS打造亲子语音
1. 为什么要做一台会讲故事的“爸爸/妈妈”?
你有没有试过晚上给孩子读完三四个故事后,嗓子哑得说不出话?或者出差时,孩子抱着手机听录音,声音冷冰冰的,少了那份熟悉的温度?
现在,你可以用GLM-TTS这个开源语音模型,亲手做一个专属的“儿童故事机”——不仅能模仿你的声音,还能带着感情讲《小熊维尼》,用四川话演《狐假虎威》,甚至让奶奶的声音从千里之外“穿越”回来哄睡。
这不是科幻。只需要一台能运行AI的设备、一段你录的3秒语音,再加上这篇教程,就能实现。
我们这次要用到的镜像叫GLM-TTS智谱开源的AI文本转语音模型 构建by科哥,它最大的亮点是:
- 3秒音色克隆:只要你说几句话,它就能学会你的声音
- 带情绪说话:开心、温柔、吓唬人……语气全都能模仿
- 支持方言:川渝爸妈不用再憋普通话,直接用乡音讲故事
- 操作简单:有图形界面,点点鼠标就能出音频
接下来,我会手把手带你从零开始,把一个冷冰冰的服务器变成家里最暖的“语音伙伴”。
2. 准备工作:软硬件清单与环境启动
2.1 你需要准备什么?
| 类别 | 推荐配置 |
|---|---|
| 硬件 | 一台GPU服务器(推荐RTX 3090及以上)或本地PC(显存≥8GB) |
| 系统环境 | 已部署 GLM-TTS 镜像(可通过CSDN星图等平台一键拉取) |
| 参考音频 | 自己或家人录制的3-10秒清晰人声(建议无背景音乐) |
| 播放设备 | 小音箱、蓝牙耳机、智能闹钟均可用于测试输出效果 |
💡小贴士:如果你没有独立GPU机器,现在很多云平台都提供按小时计费的AI算力服务,跑一次合成也就几毛钱,适合尝鲜。
2.2 启动Web界面
登录服务器后,执行以下命令启动图形化操作界面:
cd /root/GLM-TTS source /opt/miniconda3/bin/activate torch29 bash start_app.sh等待几秒钟,看到提示Running on local URL: http://localhost:7860后,在浏览器打开这个地址。
✅ 成功画面:你会看到一个简洁的中文界面,左边是上传区,右边是参数设置和按钮。
⚠️ 注意:每次重启都要先激活
torch29环境,否则会报错。
3. 第一步:让你的声音“活”起来
3.1 上传参考音频
点击「参考音频」区域,上传你提前录好的声音片段。比如你可以说:
“宝贝晚安,爸爸给你讲个故事。”
或者更简单的:
“今天天气真好啊。”
📌关键技巧:
- 录音尽量在安静房间进行
- 别用手机扬声器外放录音,最好戴耳机说话
- 时间控制在5秒左右最佳,太短学不像,太长浪费资源
3.2 输入对应文本(可选但推荐)
在“参考音频对应的文本”框里,把你刚才说的内容原样打进去。
虽然系统可以自动识别,但手动输入能让音色还原度提升20%以上。就像教孩子认字一样,告诉AI:“这句话应该这么读。”
3.3 写下你要合成的故事内容
比如你想让孩子睡前听个温馨的小故事,输入:
“从前有一只小兔子,它最喜欢吃胡萝卜了。每天早上,它都会蹦蹦跳跳地去菜园里摘新鲜的萝卜……”
支持中英文混合,比如加一句英文儿歌也没问题:
“And then he sang: Twinkle twinkle little star~”
4. 调整参数:让声音更自然、更有感情
4.1 基础设置建议
| 参数 | 推荐值 | 说明 |
|---|---|---|
| 采样率 | 24000 Hz | 快速生成,适合日常使用;追求极致音质可选32000 |
| 随机种子 | 42 | 固定数值可保证每次生成结果一致 |
| 启用KV Cache | ✅ 开启 | 显著加快长文本处理速度 |
| 采样方法 | ras(随机) | 更自然;greedy更稳定 |
4.2 情感是怎么“复制”的?
GLM-TTS 的神奇之处在于——你给它的参考音频有多温柔,生成的声音就有多温柔。
举个例子:
- 如果你录的是哄睡语气,轻柔缓慢,那生成的故事也会慢悠悠的
- 如果你故意用夸张搞笑的腔调说“嗷呜~大灰狼来啦!”,那AI讲恐怖桥段时也会自带戏剧感
不需要额外标注“这里是害怕”,AI自己就能从你的语调中学到情感模式。
4.3 方言也能克隆吗?当然!
很多家长担心普通话不标准会影响效果。其实恰恰相反!
GLM-TTS 支持多种方言克隆,尤其是:
- 四川话
- 东北话
- 粤语(部分)
- 湖南/湖北口音
试试用家乡话说一句:“乖崽崽,莫怕哦,奶奶给你讲个古仔。”
你会发现,生成的故事不仅像你,还带着那股亲切的“土味温暖”。
5. 动手实测:五分钟做出第一个亲子音频
我们来做个真实案例:用爸爸的声音讲《三只小猪》前半段
5.1 操作流程回顾
- 上传爸爸录的5秒语音:“宝贝,爸爸开始讲故事喽!”
- 输入对应文字
- 在主文本框输入:
“从前有三只小猪,它们长大了,要离开妈妈自己盖房子。第一只小猪用稻草盖了一间屋……”
- 设置采样率为24000,开启KV Cache
- 点击「🚀 开始合成」
⏳ 等待约15秒……
🎧 听到了吗?那个熟悉的声音正缓缓说道:“第一只小猪用稻草盖了一间屋……风一吹,呼——房子倒了!”
那一刻,你会觉得,这不只是技术,是陪伴。
6. 批量制作:一次性生成一周的故事库
每天现做太麻烦?我们可以一次性生成7天的睡前故事合集。
6.1 准备JSONL任务文件
创建一个名为stories.jsonl的文件,每行一个任务:
{"prompt_text": "爸爸讲故事", "prompt_audio": "voices/dad_01.wav", "input_text": "第一天:三只小猪的故事(上)", "output_name": "day1"} {"prompt_text": "爸爸讲故事", "prompt_audio": "voices/dad_01.wav", "input_text": "第二天:龟兔赛跑", "output_name": "day2"} {"prompt_text": "妈妈讲故事", "prompt_audio": "voices/mom_01.wav", "input_text": "第三天:丑小鸭", "output_name": "day3"}6.2 导入并批量生成
- 切换到「批量推理」标签页
- 上传
stories.jsonl - 设置输出目录为
@outputs/stories_week - 点击「🚀 开始批量合成」
完成后,系统会打包所有.wav文件,你可以拷贝到U盘插进儿童音箱,也可以传给爷爷奶奶远程播放。
📁 输出路径示例:
@outputs/batch/day1.wav,day2.wav...
7. 提升效果的五个实用技巧
7.1 如何让音色更像真人?
- ✅ 使用高质量录音(推荐用iPhone或专业麦克风)
- ✅ 音频长度控制在5-8秒之间
- ✅ 保持语速平稳,不要突然提高音量
- ✅ 多次尝试不同录音,选出最清晰的一段
7.2 文本怎么写才好听?
- 加标点!逗号、句号决定停顿节奏
- 长句子拆成短句,比如:
❌ “小兔子蹦蹦跳跳地穿过森林回到家吃了晚饭然后睡觉了” ✅ “小兔子蹦蹦跳跳地穿过森林。回到家,吃了晚饭,然后睡觉了。”
- 给角色设计“台词”,比如:
“‘救命啊!’小羊尖叫道。”
7.3 孩子听不懂外语怎么办?
可以在英文前后加上解释:
“小猫学会了新的单词:meow(就是喵的意思)。”
AI会自然地连读,听起来就像双语教学。
7.4 生成太慢?试试这些优化
- 改用24kHz采样率
- 关闭不必要的高级功能
- 分段合成,每段不超过150字
- 检查GPU显存是否充足(可用
nvidia-smi查看)
7.5 想换种风格?建立自己的“声音素材库”
建议保存几种不同情绪的参考音频:
- 温柔版(哄睡专用)
- 活泼版(白天游戏时间)
- 夸张版(演反派角色)
- 方言版(节日特别款)
随时切换,让孩子永远猜不到下一个故事是谁来讲的。
8. 常见问题与解决方案
Q1:生成的声音有点机械,不像我?
A:检查参考音频是否有杂音或距离太远。重新录一段靠近麦克风、语气自然的试试。另外,填写准确的参考文本能大幅提升相似度。
Q2:孩子说“爸爸的声音变怪了”?
A:可能是采样率过高导致音色失真。建议优先使用24kHz而非32kHz,平衡速度与质量。
Q3:支持多人对话吗?
A:目前单次只能克隆一个音色。但你可以分段生成:
- 爸爸的部分 → 用爸爸音频训练
- 妈妈的部分 → 用妈妈音频训练
- 最后用剪辑软件拼接
Q4:能不能做成App或小程序?
A:完全可以!GLM-TTS 提供API接口,开发者可以用Python封装成微信小程序、APP或IoT设备应用。后续我们也可以出一篇《如何把TTS集成进微信机器人》的教程。
9. 总结:科技的意义,是让爱听得见
通过这篇教程,你应该已经掌握了:
- 如何用GLM-TTS克隆家人的声音
- 怎么生成带感情的儿童故事音频
- 批量制作一周故事集的方法
- 提升音质和真实感的实战技巧
这台“儿童故事机”的价值,从来不是替代父母,而是延伸陪伴。
当你出差在外,孩子按下播放键,听到的是你亲口说的“晚安故事”; 当老人年迈无法大声朗读,她的声音却被永久保存,继续温暖孙辈; 当二胎家庭忙得不可开交,AI替你讲完最后一个故事,换来半小时喘息……
这才是AI该有的样子:不炫技,不冰冷,而是悄悄补上那些我们想给却给不了的时间。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。