网易首页 > 网易号 > 正文 申请入驻

给游戏NPC装上本地语音:用本地模型跑通ASR+TTS

0
分享至

Pip的红围巾不见了。我想让Dash飞到Mo那里,开口问一句。

Dash:“Mo,你见过Pip的红围巾吗?”
Mo:“见过,就在池塘边的芦苇丛里。”


这段对话我用本地模型跑通了。目前它运行在Llama Village之外的一个小型命令行程序里。提问是一段合成录音,Mo的提示词里直接写明了围巾的位置。游戏本身还没有语音控制。

Mo听懂人话的两条路

ASR是语音识别,TTS是文本转语音。两条路线最后都要用TTS把回答念出来。

第一条走文本:Qwen3-ASR把录音转成文字,对话模型给出回答,再由Qwen3-TTS朗读。有转写文本的好处是,“Pip”被听错时还能纠正。

第二条直接吃音频:Qwen2.5-Omni接收录音,直接写出回答。这个例子里没有单独的转写文本。GGUF转换能接收音频但不生成音频,所以Mo的回复仍然要靠TTS。

对比时两条路线用的是同一个3B对话模型。第一条路线里它收到的是文本,第二条里它还要加载自己的音频投影层。这是一条经过测试的多模态路线,不代表所有多模态模型都需要单独的TTS。

文本路线我还试了一组更小的搭配:Qwen3.5 0.8B负责对话,Qwen3-TTS 0.6B Base负责语音,Qwen3-ASR 0.6B继续做识别。小模型组合是下面的默认项,staged模式保留原来的3B/1.7B组合用于对比。这里的Qwen3.5只用于文本,不接收音频输入。

在Mac上跑起来

完整示例需要macOS、Dart 3.10.7或更新版本,五个小模型文件约占2.31 GB,另外还要留出Dart包和原生运行时的空间。测试环境是M4 Max,Dart 3.13.5,llamadart 0.11.0。命令用到macOS的say、afconvert和afplay,这不是手机或浏览器演示。

第一步,创建项目。在终端里运行下面的命令。Dart程序使用固定版本的ModelSource.huggingFace引用,每个引擎的load()会通过llamadart的下载管理器拉取缺失文件并复用缓存,不需要单独的curl脚本。首次运行需要联网,耗时更长;之后的生成都使用本地已下载的模型。

第二步,添加完整程序。留在llama-voice-demo目录里粘贴代码块,它会创建bin/voice.dart。程序一次只加载一个引擎,加载下一个之前先释放上一个。

程序里定义了五个模型来源,分别对应asr、omni、dialogue、tts和smallTts,每个都带固定的仓库ID和版本号。运行时通过命令行参数选择模式:不带第二个参数或传small,走小模型文本路线;传staged,用原来的3B/1.7B组合;传audio,走Qwen2.5-Omni直接吃音频的路线。还可以传入第三个参数作为语音参考文件。

程序会先检查音频文件是否存在。如果不是audio模式,就先加载ASR引擎做转写,上下文提示里带上“Mo, Pip, Dash, Llama Village”这几个词,转写结果为空会直接报错。接着加载对话引擎,audio模式下会检查模型是否支持音频输入,不支持就抛错。系统提示词把Mo设定成一个友好的面包师羊驼,告诉它Dash来拜访,并明确写出“Pip的红围巾在池塘边的芦苇丛里”,要求用一句简短的英文回答,不要舞台提示,不要编造不知道的事实。生成参数是maxTokens 100、温度0、随机种子42。

回答生成后,如果文本为空同样会报错。整个流程走完,Mo就能用本地模型开口说话。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
中航协回应空姐下跪2天,荒唐事再现,不止知名董事长私生活被扒

中航协回应空姐下跪2天,荒唐事再现,不止知名董事长私生活被扒

娱瓜酱
2026-10-14 15:28:49
网传大闸蟹“全线崩盘”,是真的吗?

网传大闸蟹“全线崩盘”,是真的吗?

新华社
2026-10-14 21:20:12
大陆退役老兵来信:把“统一”当成命里的事

大陆退役老兵来信:把“统一”当成命里的事

海峡导报社
2026-10-13 08:54:04
iPhone17毫无预兆迎来大幅降价,现在下手到底算不算捡

iPhone17毫无预兆迎来大幅降价,现在下手到底算不算捡

小柱解说游戏
2026-10-14 15:17:18
沪电股份:预计前三季度归母净利润同比增长100.54%–109.74%

沪电股份:预计前三季度归母净利润同比增长100.54%–109.74%

界面新闻
2026-10-14 16:29:27
账号将自动注销!知名平台突发公告:11月7日23时59分,正式停止服务!网友:80、90后的青春回忆

账号将自动注销!知名平台突发公告:11月7日23时59分,正式停止服务!网友:80、90后的青春回忆

南方都市报
2026-10-13 09:00:46
“为了高嫁,女生开始流行休学一年!”圈内人士的说法,刷新认知

“为了高嫁,女生开始流行休学一年!”圈内人士的说法,刷新认知

世界圈
2026-10-14 07:33:55
印度专家被气晕:中国用人民币买油93美元,印度用美元买121美元,说好的大国呢?

印度专家被气晕:中国用人民币买油93美元,印度用美元买121美元,说好的大国呢?

林杰论事
2026-10-11 10:07:30
大众新车官宣:10月22日,正式上市!

大众新车官宣:10月22日,正式上市!

科技堡垒
2026-10-13 11:32:34
不查不知道,一查吓一跳!电诈头子佘智江,生活奢靡程度远超想象

不查不知道,一查吓一跳!电诈头子佘智江,生活奢靡程度远超想象

月下守候
2026-10-13 16:31:02
图文蔡天凤丈夫称经邝港智介绍认识妻子,相恋一个月闪婚,供养邝子女多年

图文蔡天凤丈夫称经邝港智介绍认识妻子,相恋一个月闪婚,供养邝子女多年

开开森森
2026-10-14 06:44:02
1块9的举报换来一个批评

1块9的举报换来一个批评

关尔东
2026-10-14 20:34:46
中国冠军的金牌出问题了!亚运奖牌被曝,到手的荣誉还得小心伺候

中国冠军的金牌出问题了!亚运奖牌被曝,到手的荣誉还得小心伺候

林木体育解说
2026-10-13 15:37:04
查尔斯施压安妮力劝,威廉同意联系哈里,但两条底线划得明明白白

查尔斯施压安妮力劝,威廉同意联系哈里,但两条底线划得明明白白

乡野小珥
2026-10-14 16:46:33
他们说我像玩偶,其实我是你的小可爱

他们说我像玩偶,其实我是你的小可爱

疾跑的小蜗牛
2026-10-14 21:12:12
我国著名主持人赴瑞士安乐死,儿子讲述其死前惨状:我非常后悔

我国著名主持人赴瑞士安乐死,儿子讲述其死前惨状:我非常后悔

小兔子的快乐
2026-10-12 11:30:52
缅北逃生者含泪警告:逃出园区千万别打车!当地报警等于自投罗网,整个城镇都是“赏金猎人”

缅北逃生者含泪警告:逃出园区千万别打车!当地报警等于自投罗网,整个城镇都是“赏金猎人”

秋风妃
2026-10-11 20:00:24
被灌4球!迪卡尼奥怒骂国米:买俩曼城替补当救世主

被灌4球!迪卡尼奥怒骂国米:买俩曼城替补当救世主

圣西罗的太阳
2026-10-14 07:52:21
冲上热搜!这种鞋子不要给孩子天天穿

冲上热搜!这种鞋子不要给孩子天天穿

生活小ok
2026-10-12 12:27:41
向钢铁心脏捅一刀:乌克兰无人机不再炸炼油厂,而是烧向数字基建

向钢铁心脏捅一刀:乌克兰无人机不再炸炼油厂,而是烧向数字基建

民间胡扯老哥
2026-10-13 07:29:34
2026-10-14 22:40:49
全栈遛狗员
全栈遛狗员
白天跟需求对线,晚上在小区遛狗。
249文章数 121关注度
往期回顾 全部

游戏要闻

R星终于解释《GTA6》延期真相 最近几个月还在改

头条要闻

团伙从泰国招揽女子从事卖淫活动 其中一名骨干已86岁

头条要闻

团伙从泰国招揽女子从事卖淫活动 其中一名骨干已86岁

体育要闻

巴萨4比1加拉塔萨雷:亚马尔杀穿地狱

娱乐要闻

胡歌觉得仙剑三很幼稚,忘了来时路?

财经要闻

赫尔曼・西蒙拆解下一轮产业机会

科技要闻

苹果iPhone Duo完成大模型备案

汽车要闻

风格更豪华/座舱更舒适 全新旅行者7上市 燃油版售12.59万起

态度原创

本地
健康
时尚
旅游
艺术

本地新闻

这个十一,林都伊春彻底出圈!

孩子运动莫名晕倒?当心这类疾病

雪莉离开7年后,被改变的女孩们

旅游要闻

美国国际会议与奖励旅游展开幕 中国展区抢眼

艺术要闻

199.95米!安吉县第一高楼,“中国竹乡”的新地标

无障碍浏览 进入关怀版