月度存档: 11月 2024

做一个基于 ChatGPT 的语音助手吧~

虽然有点晚了,但是还是分享一下之前折腾的本地运行一个大语言模型(LLM)语音助手的过程~

做这个来源于在推上看到有人分享了使用大语言模型搭建的语音助手,刚好也想试试大语言模型相关的库和代码什么的。

diy-chatgpt-based-voice-assistant

然后我参照推主的介绍,也使用相关的框架搭建了一个本地的语音助手,不过因为没有 GPU 以及测试的时候小参数量的大语言模型也不是很好用,因此 LLM 这块是使用的 OpenAI 的 API。

整体介绍

这个语音助手主要使用以下几个框架和服务:

  • snowboy:用于声音检测、声音录制等功能,并且还支持静音检测(VAD)
  • faster-whisper:用于语音转文本,这个是使用了 OpenAI 的 whisper 模型,并且重新实现的库,速度比官方的快很多
  • SpeechRecognition:用来进行录音,在使用 snowboy 识别到唤醒词后,就用这个库来将后续的对话进行录制,交给 whisper 语音转文本
  • EmotiVoice:文本转语音,将用户的对话内容通过 API 询问 GPT 之后,再将返回的文本内容生成语音并播放
  • OpenAI:用来分析用户的对话并给出对应的回答

其中 fast-whisper 如果想要速度快的话,最好还是要有 Nvdia 的 GPU,使用 CPU 的话速度会慢不少,不过我在 M1 MacBook 上测试勉强能用。

snowboy

项目主页:https://github.com/Kitt-AI/snowboy

Snowboy is a customizable hotword detection engine



阅读全文 »