技术研究之同声传译
前言
最近突然想着借助大模型做点什么东西,于是就利用大模型,想要开发一个同声传译的软件,这样看片的时候,就不用非要找中文字幕了。
自动语音识别(ASR, Automatic Speech Recognition,又称 Speech‑to‑Text, STT)是将人类语音输入以文本形式自动输出的核心技术,为智能语音助手、语音转写、字幕自动生成、可访问性服务等应用提供基础能力。其运作机制包括音频预处理、声学建模、语言建模、解码与后处理等多个阶段。现代 ASR 系统多数基于深度学习架构,能够处理自然语言中的音调、口音、多语种/方言识别与嘈杂环境中的语音抽取。
【1】.免费语音转文字方案盘点:开源语音识别ASR工具推荐与评测对比
【2】.无需再等待口译员:7 款最佳语音转文本翻译应用(2026) 这是 同言传译 的官方广告。
【3】.同声传译翻译器哪个好?别说我没告诉你,这6个绝对值得一选! All language VoiceTranslator、同声传译王、InterpretBank、Waygo、Yandex Translate、Google Translate
【4】.Faster-Whisper 免费开源的高性能语音识别模型 这里倒是很简单的。
【5】.OpenAI Whisper 新一代语音技术(更新至v3-turbo) large-v3-turbo来了,和之前whisper类似的模型架构,更少的decoder层(32层减少到4层),更多的训练轮数(额外两个epoch),在识别性能几乎不怎么降低的情况下(比large-v3略有小幅下降),实现了更快的识别速度(large-v2的近8倍,接近tiny的速度)。
【6】.看片神器:实时字幕翻译 Live Captions Translator(附下载) 1.无障碍功能;2.Windows 11 实时字幕功能加 Live Captions Translator
1.相关技术
SenseVoice (Small): 由阿里开源,在中文识别方面精度极高。除了基础的语音转文字,它还具备独家的情感识别、音频事件检测功能,且能同时输出带时间戳的文本,非常适合长语音转写。
FireRedASR v2: 2026年评测中精度领先的模型之一。它自带VAD(语音活动检测)、标点符号预测、语种识别和时间戳功能,是生产环境中的强力候选项。
Qwen3-ASR: 阿里最新的开源语音识别模型,声称支持52种语言与方言,不仅能识别语速超快的饶舌RAP,还能在极短时间内高效处理长音频
【1】.实时语音转写 免费的支持1路并发,24小时。
【2】.中文语音识别该用谁?6 个开源模型 + 2 个配套工具,一文理清 Paraformer、SenseVoice-Smal、Fun-ASR-Nano、FireRedASR、Qwen3-ASR、Moonshine
【3】.FireRedASR-AED-L快速部署指南:无需conda/pip,Docker一键加载即用 这是docker安装
【4】.FireRedASR:精准识别普通话、方言和歌曲歌词!小红书开源工业级自动语音识别模型 FireRedASR 包含两个版本,FireRedASR-LLM 采用 Encoder-Adapter-LLM 框架,专注于极致的语音识别精度;FireRedASR-AED 采用基于注意力的编码器-解码器架构,平衡了高准确率与推理效率。
【5】. ASR引擎测试:FireRedASR只能说小红书的诚意不够
3.去噪
我在使用录音的时候,发现了很大的问题,那就是会有环境音,于是就想着要先把噪音处理掉。
(1)DeepFilterNet
开始的时候,我尝试使用DeepFilterNet,结果效果不理想,只能换了。
(2)UVR 5
这个是一个桌面软件,我在UVR5上处理我的音频,先是进行了人声分离,然后又去处理了进行了降噪,结果在GUI上可以,但是我想找python,找到了一个python-audio-separator,我倒是写了代码引入了,问题就是当我用python-audio-separator进行人声分离的时候,死活无法降噪,后来我只用了UVR-DeNoise.pth对GUI处理的音频进行降噪倒是可以,但是用用audio-separator处理的音频死活就是不可以。
(3)ZipEnhancer
我发现UVR5 只有界面,没有命令行,而且处理之后,总是有问题,我只能换一个方案了,用了阿里的ZipEnhancer进行处理。
1 | pip install datasets==2.18.0 --no-cache-dir |
(4)RNNoise
【1】.UVR5使用教程和最新连招
【2】.nomadkaraoke/python-audio-separator
【3】.Spleeter: 音频源分离的革命性工具 Spleeter是由音乐流媒体公司Deezer开发的一款强大的音频源分离工具。作为一个开源项目,Spleeter利用深度学习技术,为音乐制作和音频处理领域带来了革命性的变化。本文将深入探讨Spleeter的功能、应用场景以及它在音频处理领域的重要意义。
【4】.2025实测:Ultimate Vocal Remover GUI模型性能终极指南
【6】.ZipEnhancer语音降噪模型介绍
【7】.使用RNNoise进行音频降噪
【8】.uvr5-cli-no-ui
【9】.python-audio-separator
4.断句
使用 silero_vad 库,可以识别一句话是否已经说完了。
4.流程
(1)我现在已经在modules已经有了audio_preprocessing.py模块,vad.py 模块,有了asr.py模块,有了translation.py模块,虚拟环境translation-server,这样就可以修改test/test_complete_flow.py这个全流程模块,从音频输入,去噪、vad 处理,然后进行asr音频识别,识别之后,利用deepseek进行补全和翻译。为了模拟websocket从前端传入音频,我采用data\owyE03YvRvQefwEvafrQBGg4jGfg_20260420_160334.wav这个文件,将这个文件进行切片,每3秒一个切片,模拟websocket3秒发送一个视频片段,然后进行处理,最后输出这个音频的翻译结果。在asr识别时为了保证语音连贯,可以保留最近几个切片,同时进行识别,但是输出只输出当前切片内容,在deepseek补全和翻译时也是,为了让语句连贯,也需要利用前面几个分片的内容,但是最后只保留当前切片的翻译结果。
(2)用流式处理的方法,第一个分片进来,去噪后存储到缓冲区,通过vad判断这段音频是否是一个完整的话,如果是,那就进行asr识别和翻译,如果不是,那就继续的等待第二个分片进入,去噪后和第一个分片合并,将这一个整体进行vad判断,是否有完整的句子,如果有,则将前半部分送入识别模块进行识别,剩下的继续保存到缓冲区,等待下一个分片进入。剩余的后半部分加上新进入的分片组成一个新的整体,再次进行vad识别,是否达成了一个完整句子,重复上面的过程,直到音频结尾
5.环境安装
(1) 安装cuda版本的pytoch
1 | # 早期版本 |
(2) .faster-whisper
直接使用 docker 版本的即可,需要确保docker可以使用GPU
1 | # 强制清除并重新填充文件 |
1 | version: '3.8' |
使用docker启动之后,可以浏览器 http://127.0.0.1:8765/docs#/Endpoints/asr_asr_post 进行识别测试。
1 | docker stop faster-whisper |
注意
因为我的UOS 20 1020a 的英伟达驱动cuda 只有12.4,所以高版本的不能用,只能用低版本的,这也是我不断尝试之后的结果,本来想着要升级驱动版本,结果需要先升级内核版本。升级内核版本,又因为UOS不能升级,结果就变成了两头堵了,没办法只能先尝试降级faster-whisper的版本看看了。
1 | docker run -d --gpus all -p 8765:9000 -e HF_ENDPOINT=https://hf-mirror.com -e WHISPER_MODEL=large-v3-turbo --name faster-whisper onerahmet/openai-whisper-asr-webservice:v1.7.1-gpu |
【1】.openai-whisper-asr-webservice 查找相应版本
6.浏览器插件
【1】.你的第一个扩展
