实时语音转文字(基于NAudio+Whisper+VOSP+Websocket)

今天花了大半天时间研究一个实时语音转文字的程序,目的还包括能够唤醒服务,并把命令提供给第三方。

由于这方面的材料已经很多,我就只把过程中遇到的和解决方案简单说下。源代码开源在AudioWhisper: 实时语音转文字(基于NAudio+Whisper+VOSP+Websocket) (gitee.com)

1、声音录制

这里有三点需要注意的:

1)sampleRate(采样频率)要选择16000,不要选别的,不然Whisper不兼容。

2)声音录制得到的数据是一个个块(block),每次block大概1500byte左右。

3)WAV文件由文件头(共计45个字节)+ 长度标志+Block组+文件尾(大概6个字节)组成,可以直接看NAudio获得相关信息。

2、Whisper使用

也有几点需要注意:

1)不翻墙很难从huggingface.co下载语音模型,可以从Index of / (ggerganov.com)下载

2)需要Net8 的环境,低版本包括NetFramework会卡在ProcessAsync方法上,当然可以换成Process方法

3)处理100个声音块(Block),大概需要3~5秒时间,并不能做到给一段语音就解释这段语音,存在明显的处理性能要求,建议选择好电脑去跑。当然我这边没有从GPU等因素去眼睛了。

4)Whisper的语言包有点怪,感觉是从外国电影翻译学习的,会出现大莫名其妙的的结果,但好在不多,可以根据关键字过滤,比如它会误判存在笑,返回结果为"(笑)"。

5)存在繁体中文的情况,可以采用ChineseConverter方法进行处理。

3、VOSP

Whisper可以的系统初始化时间相对还是可以接受的,在5~10秒左右。而VOSP初始化加载模型需要30~50秒,而且初步测试准确率很低,文字中存在空格。

4、实时语音流程

需要分配多个线程,1一个线程听声音,1个线程解释翻译声音。不能把这两个线程合在一起,原因是翻译声音需要高的计算量。

最后,代码已经上传到git,大家可以直接看,也可以参与编写,AudioWhisper: 实时语音转文字(基于NAudio+Whisper+VOSP+Websocket) (gitee.com)

相关推荐
许泽宇的技术分享15 小时前
用 OpenAI Whisper + pyannote.audio 打造“谁在说什么”的全栈语音理解系统
macos·whisper·xcode
这儿有一堆花11 天前
使用 Whisper 转写语音的完整教学
人工智能·ai·whisper
数据饕餮24 天前
Faster-Whisper命令和意图识别程序设计调优:上下文感知和领域词汇增强
whisper
落淼喵_G25 天前
ubuntu部署whisper+speaker_large+qwen【一】
ubuntu·whisper
兔兔爱学习兔兔爱学习1 个月前
浏览器端实时语音采集 + WebSocket 传输 + 后端 Whisper + GPT 翻译 + 实时字幕返回
gpt·websocket·whisper
兔兔爱学习兔兔爱学习1 个月前
一个可本地运行的实时字幕翻译 Demo(Whisper + GPT + Streamlit),可以边说边出中英文字幕
gpt·whisper
数据饕餮1 个月前
Faster-Whisper唤醒词检测程序设计实战1
whisper
说话的鲸鱼1 个月前
‌Whisper模型在RTranslator中的实时语音识别优化:动态资源分配与负载均衡
whisper·负载均衡·语音识别
猫头虎1 个月前
DeepSeek刚刚开源了一个3B的 OCR模型:什么是DeepSeek-OCR?单张A100-40G每天可以处理20万+页文档
人工智能·开源·whisper·prompt·aigc·ocr·gpu算力
星野云联AIoT技术洞察1 个月前
2025年语音识别(ASR)与语音合成(TTS)技术趋势分析对比
whisper·语音识别·模型部署·tts·asr·嵌入式ai·naturalspeech3