微信扫码
与创始人交个朋友
我要投稿
突发奇想,想结合目前的一些所学知识搞一个项目出来,于是乎结合目前的语言大模型搞了一个语音助手,哈哈,好玩多于实用,可以根据你的语音输入回复你的问题,并且自动语音播报出来,本着开源激发更多想法的原则,开源本项目的代码,文末可以获取。
下面介绍一下整个项目,便于大家理解
先来看看项目演示吧
哈哈不错吧
项目技术总揽
本项目的三大核心技术是:语音转文本,语言大模型根据问题产生答案,文本合成语音。三大技术用的都是开源项目,方便多少复现使用.语音转文字是用的funasr阿里开源的;大模型使用基于ollama的qwen2:7b,当然你也可以选择其他的比如gemma2,glm4等;文本合成语音有很多可选方案,比如chattts,fishspeeh,edge-tts,本次基于时间和效果的考虑,选择了edgetts,速度快,效果好,声音可选
技术代码简介
1、语音转文本funasr
model = AutoModel(model="paraformer-zh", vad_model="fsmn-vad", punc_model="ct-punc")def get_spk_txt(file):res = model.generate(input=file, batch_size_s=300, hotword='魔搭')return res[0]["text"]
paraformer-zh 模型,第一使用会下载模型,可能会慢一点,这个函数可以直接将语音文件转成文本,当然还有许多其他模型大家可以去官网看看
这里使用2、大模型调用
def get_resp(input):prompt = "用相对简练的句子回答我的问题,最好不要超过80字:我的问题是{0}".format(input)resp = llm.invoke(prompt)return resp
大模型这里使用ollama作为大模型的支持,方便快捷,目前很多模型支持ollama部署,大家可以去ollama官网去看;这里我设置了prompt,主要是为了让生成快一点,大家可以自行修改
3、文本合成语音
async def get_voice(text):"""Main function"""VOICE = "zh-CN-XiaoxiaoNeural"output_file = "response"+str(time.time())+".mp3"communicate = edge_tts.Communicate(text, VOICE)await communicate.save(output_file)return output_file
这里使用的 edge-tts 项目,这个新项目可以直接 pip安装使用,包含很多声音,你可以去 官网看看
或者执行下边命令获取 VOICE
edge-tts --list-voices
Name: Microsoft Server Speech Text to Speech Voice (af-ZA, AdriNeural)
ShortName: af-ZA-AdriNeural
Gender: Female
Locale: af-ZA
Name: Microsoft Server Speech Text to Speech Voice (am-ET, MekdesNeural)
ShortName: am-ET-MekdesNeural
Gender: Female
Locale: am-ET
Name: Microsoft Server Speech Text to Speech Voice (ar-EG, SalmaNeural)
ShortName: ar-EG-SalmaNeural
Gender: Female
Locale: ar-EG
Name: Microsoft Server Speech Text to Speech Voice (ar-SA, ZariyahNeural)
ShortName: ar-SA-ZariyahNeural
Gender: Female
Locale: ar-SA
选择你喜欢的声音,替换 VOICE = "zh-CN-XiaoxiaoNeural" 即可
使用注意点
启动项目后,可以把生成的公网链接发到手机,手机浏览器打开,提示使用麦克风,点击【允许】
点击【录音】,说出你的问题,点击【停止】,注意点击停止后,不要立即点击【submit】,等2s,你的录音转成了 文件后,再点击 【submit】,因为 录音完成到转成文件 需要时间,你也可以先试听一下你的问题
结果返回可能需要等待几秒,后台要进行 语音转文本、文本调用llm,结果合成语音,结果返回后,会直接播放,完美
整体其实不是很难,主要是一个思考过程
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-11-23
人生搜索引擎免费用,开源版哈利波特“冥想盆”登GitHub热榜,支持中文
2024-11-23
o1圈杀疯了,阿里又开源Marco-o1
2024-11-22
Kotaemon:开源基于文档检索的聊天系统(RAG Chat)
2024-11-22
不可思议!AirLLM 如何让 70B 大模型在 4GB GPU 上顺利推理?
2024-11-22
刚刚,OpenAI公开o1模型测试方法,人机协作时代!
2024-11-21
22.4K+ Star!Chatbox:你的终极AI桌面助手
2024-11-21
Magentic-One:微软开源多智能体系统,让 AI 自己动手解决问题
2024-11-21
阿里发布Qwen2.5-Turbo,支持100万Tokens上下文!
2024-05-06
2024-07-25
2024-08-13
2024-06-12
2024-07-11
2024-06-16
2024-07-20
2024-06-15
2024-07-25
2024-07-25
2024-11-22
2024-11-19
2024-11-13
2024-11-13
2024-10-07
2024-09-22
2024-09-20
2024-09-14