本文发表于入职啦(公众号: ruzhila) 大家可以访问入职啦学习更多的编程实战。
实时的语音合成和识别是当前语音领域最重要的技术,最热门的GPT-4o,支持实时的语音识别和合成,但是GPT-4o是一个闭源的商业产品,延迟也比较大,现在价格还是比较贵,一分钟大概需要1美元。
我们基于sherpa-onnx 用Python实现一个实时识别语音和合成自然人声的服务,与传统的语音识别和合成服务不同,我们的服务是开源的,支持CPU和GPU。
本次的课程分为三部分:会分别讲解整个程序的结构、语音识别、语音合成,最后会讲解如何部署到服务器上。
感谢sherpa-onnx 已经将开源的模型都转化成onnx格式,并且适配了语音处理的大部分工作,我们只需要将这些模型集成到我们的服务中即可。
本课程可以学习的知识点
- Websocket, 实时的语音识别需要使用Websocket协议,这样可以实时的传输音频数据,这样可以做到边讲话边识别;
- FastAPI, 本项目基于FastAPI框架,FastAPI是一个现代的Python web框架,内置Websocket和异步支持;
- Python协程编程,不同于传统的多线程方式,Python协程是一种更加高效的并发编程方式,会讲解协程是如何交互的
- sherpa-onnx 框架的使用,sherpa-onnx是一个开源的语音识别和合成框架。
本项目已经开源到Github上,大家可以访问voiceapi 查看源码。