本地语音转文字工具 | Faster Whisper驱动 高效CPU运行

背景

最近接到一个需求,需要把录音转换为文字,一看网上几款常用的工具,想不到都是收费的;论坛里面找了找,发现基本上都需要云端api,仅有的几个本地的都需要使用GPU中的cuda计算。因此,开发了这么一款语言转文字的小工具,基于Faster Whisper模型,在cpu上也能达到不错的效果。

使用方式

双击文件打开,在左上角选择模型,左下角选择推理方式与精度(cpu推荐int8,速度更快)。
若没有支持cuda的GPU请不要选择GPU,否则会崩溃(原本想导入pytorch库判断cuda_is_available的,但是这样打出来的包会把一整个pytorch一起打包进去,太大了,后来就没这么处理)
首次使用需要下载模型,进度在console中可见,请耐心等待。

 

分享了「whisper0.2.exe」
链接:https://pan.quark.cn/s/1ed43c590214

faster-whisper 是一种基于 Whisper高效实现,主要用于加速语音文字的功能。然而,需要注意的是,faster-whisper 并不直接提供文字语音(Text-to-Speech, TTS)功能[^1]。它专注于优化 Whisper 模型的推理性能,从而更快地完成语音文字换。 如果想实现文字语音功能,则需要引入专门用于 TTS 的工具或库。以下是几种常见的解决方案: --- ### 使用 Tacotron 2 或 FastSpeech 2 实现 Text-to-Speech Tacotron 2 和 FastSpeech 2 是两种广泛使用的 TTS 技术方案。可以借助这些技术来生成高质量的声音文件。例如,使用 `TTS` 库是一个简单的方法: #### 安装依赖 ```bash pip install torch==1.9.0 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html pip install TTS ``` #### 文字语音代码示例 ```python from TTS.api import TTS # 初始化模型 tts = TTS(model_name="tts_models/en/ljspeech/fast_pitch", progress_bar=False, gpu=True) # 将文本合成语音并保存为 MP3 文件 text = "This is a test of text to speech using FasterWhisper as part of the pipeline." output_file = "./output.mp3" tts.tts_to_file(text=text, file_path=output_file) ``` 此代码片段展示了如何通过 `TTS` 库将输入的文字合成为语音文件[^6]。 --- ### 结合 faster-whisper 和 TTS 构建完整的流水线 为了构建一个从语音文字再回到语音的完整流水线,可以按照以下方法操作: 1. **语音文字**:利用 faster-whisper 录原始音频。 2. **编辑或修改文字内容**:根据需求调整录结果。 3. **文字语音**:使用 TTS 工具重新生成新的语音文件。 #### 示例代码 ```python from faster_whisper import WhisperModel from TTS.api import TTS # 加载 faster-whisper 模型 model_size = "large-v2" model = WhisperModel(model_size, device="cuda", compute_type="float16") # 音频文字 segments, info = model.transcribe("input_audio.wav", beam_size=5) transcribed_text = " ".join([segment.text for segment in segments]) print(f"Transcription Result: {transcribed_text}") # 加载 TTS 模型 tts = TTS(model_name="tts_models/en/ljspeech/fast_pitch", progress_bar=False, gpu=True) # 合成新语音 output_file = "synthesized_output.mp3" tts.tts_to_file(text=transcribed_text, file_path=output_file) ``` 在此代码中,先使用 faster-whisper 对音频进行录,随后将其作为输入传递给 TTS 模型以生成新的语音文件[^7]。 --- ### 注意事项 - 更改语言时,请确保所选的 TTS 模型支持目标语言。例如,对于日语,可以选择相应的预训练模型。 - 如果处理大量数据,建议优化 GPU 性能以及批量处理逻辑以提高效率。 - 在实际应用中,可能还需要考虑实时性、延迟等因素。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值