语音对话程序的制作过程
原创
hyang0
hyang0
生有可恋
2026年11月7日 07:34
湖北
去阅读
目前大家应用多的语言对话程序有早期的小爱同学、天猫精灵到现在的豆包。包括衍生品豆包输入法、千问输入法。
这里面涉及到两块知识点,一个是语音转文字(输入法用的比较多),一个是文字转语音。
硅基流动上正好有用于实验的语音 API,可以用这些 API 构建一个语音对话程序 Demo 。
语音模型一般只有 0.5B 大小,和对话模型动辄671B无法比。构建一个语音对话程序需要三个模型,除了两个语音模型,还要有一个对话模型。
以硅基流动的 API 为例,将模型以及 API key 准备好,其中语音模型的 API url 格式为:
https://api.siliconflow.cn/v1/audio/speech
模型用的下面几个:
文字转语音:FunAudioLLM/CosyVoice2-0.5B语音转文字:FunAudioLLM/SenseVoiceSmall对话模型:deepseek-ai/DeepSeek-V4.1-Flash
语音 API 请求的 demo :
curl --request POST \\ --url https://api.siliconflow.cn/v1/audio/speech \\ -H \"Authorization: Bearer YOUR_API_KEY\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"model\": \"fnlp/MOSS-TTSD-v0.5\", \"input\": \"你站在桥上看风景,看风景的人在楼上看你。明月装饰了你的窗子,你装饰了别人的梦\", \"voice\": \"fnlp/MOSS-TTSD-v0.5:alex\", \"response_format\": \"mp3\" }' --output output.mp3
将这几个文件提供给你的代码编程助手,这里用 claude code 示例:
让 claude code 写一个用于演示的 demo :
因为只是做一个 demo ,不需要界面和自动判断对话是否结束,用回车触发每一轮对话。播放调用的是本地喇叭,输入需要用到麦克风,windows 和 mac 实现上会有一点点区别,和本机硬件相关。
最后效果如下:
大概进行了五六轮对话,花费如下:
大概花了6分钱,对话只能基于模型自己的知识,无法调用外部工具。如果想做带语音的本地智能体,需要做成 skill 和 mcp 供 agent 调用。语音模块只作为技能,主体还是交给智能体。
这里是个独立的 demo 程序,不能被智能体调用。可以拆成多个模块,供本体调用。
demo 对话演示过程:
语音和对话模型用到的 api 端点:
基础的语音声音生成男声,后续还可以换音色、做成连续监听而不是按键触发。
如果想做编程助手中启用语音,则需要想好何时触发语音。
硅基流动会给新人16块钱新人券,硅基流动推荐链接如下:
https://cloud.siliconflow.cn/i/n6PPXPuJ
可以试试用送的 token 写一些大模型的应用。
全文完。
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论