音频转文本--我们选择faster-whisper

本文介绍了如何使用faster-whisper将视频文件中的音轨自动转成文字,包括安装Anaconda、创建Python3.10虚拟环境、安装Git、下载源码和模型(如VAD和faster-whisper),以及解决遇到的PyTorch版本问题。
部署运行你感兴趣的模型镜像
faster-whisper能用来做什么?
可以将视频文件中的音轨自动转换为文字。
所以,字幕组是要失业了么?
试试看吧,看看转化效果如何。
使用faster-whisper,最好选择python3.10版本,那好吧。
作者的系统环境是:
  • 笔记本:ThindPad P520
  • OS:win11
  • 显卡:Quadro P520
1、安装anaconda
为什么要安装anaconda?
因为我日常开发用python3.11的版本,使用YOLOv8需要python3.8的环境,这次使用faster-whisper需要python3.10的环境,需要切换python环境。
anaconda的安装和配置,请参考《 YOLOv8入门篇--YOLOv8的安装和使用》。
2、创建虚拟环境(指定python3.10)
查看已有的conda虚拟环境
切换到创建好的虚拟环境
conda create -n fwhisper python=3.10
conda env list
conda activate fwhisper
3、安装git命令行工具
下载地址: Git - Downloads
并配置代理
//http || https
git config --global http.proxy 127.0.0.1:7890
git config --global https.proxy 127.0.0.1:7890
4、下载源码faster-whisper-webui
git clone https://github.com/ycyy/faster-whisper-webui.git
进入源码目录:
cd faster-whisper-webui
安装项目依赖:
pip3 install -r requirements.txt
还要安装faster-whisper依赖:
pip3 install -r requirements-fasterWhisper.txt
5、模型的下载和配置
首先在项目的目录建立模型文件夹:
mkdir models
faster-whisper项目内部已经整合了VAD算法,VAD是一种音频活动检测的算法,它可以准确的把音频中的每一句话分离开来,并且让whisper更精准的定位语音开始和结束的位置。
所以,首先需要配置VAD模型:
git clone https://github.com/snakers4/silero-vad
然后,将克隆下来的vad模型放入刚刚建立的Models文件夹中即可。
接着下载faster-whisper模型,下载地址:
git clone https://huggingface.co/guillaumekln/faster-whisper-large-v2
这里建议只下载faster-whisper-large-v2模型,也就是大模型的第二版,因为faster-whisper本来就比whisper快,所以使用large模型优势就会更加的明显。
注意: 下载后的目录是 faster-whisper-large-v2,要分成两级目录: faster-whisper和large-v2。
模型放入models文件夹的faster-whisper目录,最终目录结构如下:
models
├─faster-whisper
│ ├─large-v2
└─silero-vad
  ├─examples
  │ ├─cpp
  │ ├─microphone_and_webRTC_integration
  │ └─pyaudio-streaming
  ├─files
  └─__pycache__
至此,模型就配置好了。
6、测试模型
回到项目根目录faster-whisper-webui下,
执行如下命令:
python cli.py --model large-v2 --vad silero-vad --language Japanese "https://www.youtube.com/watch?v=4cICErqqRSM"
是不是碰到了如下错误?
安装一个合适的pytorch即可
访问: PyTorch
拷贝来自该网页的一个命令,并执行:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
注意:要安装合适的版本,可以参考《 YOLOv8入门篇--YOLOv8的安装和使用
再次执行测试命令:
python cli.py --model large-v2 --vad silero-vad --language Japanese "https://www.youtube.com/watch?v=4cICErqqRSM"
看到输出如下,成功了!
更高级的一些用法,可以阅读README.md。

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

<think>嗯,用户想在Linux环境下使用Faster-Whisper实现实时语音文本。首先,我需要了解Faster-Whisper的基本情况。根据引用[2],Faster-WhisperWhisper的优化版本,使用CTranslate2进行加速,支持实时处理。那用户可能需要安装相关的依赖库。 接下来,安装步骤应该包括Python环境、PyTorch以及Faster-Whisper本身。可能需要用pip安装,还要确保有FFmpeg来处理音频输入。然后,用户需要下载模型,通常有tiny、base、small等不同大小的模型,选择适合实时性的模型,比如tiny或base,因为速度更快。 实时处理的关键是音频流的处理,可能需要用到sounddevice库来捕获麦克风输入,然后分块处理。VAD(语音活动检测)可能也很重要,用来检测何时有人说话,减少不必要的处理。代码示例里应该包括循环读取音频数据,换成模型需要的格式,然后调用transcribe方法。 另外,性能优化方面,用户可能需要调整计算类型,比如使用int8来提升速度,或者选择更小的模型。同时,多线程处理可能有助于提高实时性。引用[2]提到Whisper.cpp是C++实现的高性能版本,如果用户对延迟要求极高,可能可以考虑这个,但问题明确提到Faster-Whisper,所以还是以Python方案为主。 用户可能遇到的问题包括安装依赖时的错误,比如缺少libssl-dev或者FFmpeg,需要提醒他们安装这些系统包。还有模型下载可能较慢,可以建议换镜像源。实时处理中的延迟问题,可能需要调整音频块的大小和步长,以及合理使用VAD。 最后,生成相关问题时要考虑用户可能的后续疑问,比如优化延迟、处理背景噪音、与其他工具集成等。确保覆盖安装、配置、性能调优和实际应用场景。</think>以下是在Linux环境下使用Faster-Whisper实现实时语音文本的完整方案: ### 一、环境准备 1. 安装基础依赖: ```bash sudo apt update && sudo apt install -y python3-pip ffmpeg portaudio19-dev libssl-dev ``` 2. 创建虚拟环境: ```bash python3 -m venv whisper_env source whisper_env/bin/activate ``` 3. 安装核心组件: ```bash pip install faster-whisper torch sounddevice ``` ### 二、实时语音处理实现 ```python from faster_whisper import WhisperModel import sounddevice as sd # 初始化模型(使用int8量化加速) model = WhisperModel("tiny", compute_type="int8") # 实时录音参数 SAMPLE_RATE = 16000 CHUNK = 4096 # 每次处理的音频块大小 def transcribe_realtime(): with sd.InputStream(callback=audio_callback, samplerate=SAMPLE_RATE, channels=1, blocksize=CHUNK): print("开始实时录...") while True: pass # 音频处理回调函数 def audio_callback(indata, frames, time, status): segments, info = model.transcribe( audio=indata[:,0], language="zh", vad_filter=True # 启用语音活动检测[^2] ) for seg in segments: print(f"[{seg.start:.2f}s -> {seg.end:.2f}s] {seg.text}") if __name__ == "__main__": transcribe_realtime() ``` ### 三、关键优化参数 1. 模型选择建议: - `tiny`:最低延迟(~32ms),精度较低 - `base`:平衡选择(~65ms) - `small`:高精度(~140ms) 2. 性能调优参数: ```python model.transcribe( ... beam_size=5, # 平衡速度与准确度 temperature=0.5, # 控制输出随机性 condition_on_previous_text=False # 禁用上下文依赖降延迟 ) ``` ### 四、常见问题解决 1. **音频延迟问题**: - 减小`CHUNK`值(最低可设1024) - 使用`nvidia-smi`监控GPU利用率(如果使用GPU加速) - 增加`vad_threshold`过滤背景噪音 2. **模型加载失败**: ```bash # 指定镜像源下载模型 huggingface-cli download --resume-download --cache-dir ./model-cache guillaumekln/faster-whisper-tiny ``` ### 五、扩展应用 结合引用[2]提到的语音克隆技术,可实现: ```python # 伪代码示例:语音克隆+实时录 from cosyvoice import VoiceClone clone_model = VoiceClone("speaker_embedding.pt") cloned_audio = clone_model.generate(text_input) transcribed = model.transcribe(cloned_audio) ```
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值