微信属于营销型网站,网站风格介绍,适合新手做的网站,自己做网站nas文章目录 1、简介1.1 whisper简介1.2 whisper模型 2、安装2.1 whisper2.2 pytorch2.3 ffmpeg 3、测试3.1 命令测试3.2 代码测试#xff1a;识别声音文件3.3 代码测试#xff1a;实时录音识别 4、工具4.1 WhisperDesktop4.2 Buzz4.3 Whisper-WebUI 结语 1、简介
https://gith… 文章目录 1、简介1.1 whisper简介1.2 whisper模型 2、安装2.1 whisper2.2 pytorch2.3 ffmpeg 3、测试3.1 命令测试3.2 代码测试识别声音文件3.3 代码测试实时录音识别 4、工具4.1 WhisperDesktop4.2 Buzz4.3 Whisper-WebUI 结语 1、简介
https://github.com/openai/whisper
1.1 whisper简介
Whisper 是一种通用的语音识别模型。它是在包含各种音频的大型数据集上训练的也是一个多任务模型可以执行多语言语音识别、语音翻译和语言识别。 Open AI在2022年9月21日开源了号称其英文语音辨识能力已达到人类水准的Whisper神经网络且它亦支持其它98种语言的自动语音辨识。 Whisper系统所提供的自动语音辨识Automatic Speech RecognitionASR模型是被训练来运行语音辨识与翻译任务的它们能将各种语言的语音变成文本也能将这些文本翻译成英文。
1.2 whisper模型
以下是可用模型的名称及其相对于大型模型的近似内存要求和推理速度;实际速度可能因许多因素而异包括可用的硬件。
SizeParametersEnglish-only modelMultilingual modelRequired VRAMRelative speedtiny39 Mtiny.entiny~1 GB~32xbase74 Mbase.enbase~1 GB~16xsmall244 Msmall.ensmall ~2 GB~6xmedium769 Mmedium.enmedium~5 GB~2xlarge1550 MN/Alarge~10 GB1x
它自动下载的模型缓存如下
2、安装
2.1 whisper
pip install -U openai-whisper
# pip install githttps://github.com/openai/whisper.git
pip install --upgrade --no-deps --force-reinstall githttps://github.com/openai/whisper.git
pip install zhconv
pip3 install wheelpip3 install torch torchvision torchaudio
# 注没科学上网会下载有可能很慢可以替换成国内镜像加快下载速度
pip3 install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple2.2 pytorch
https://pytorch.org/ 选择的是稳定版windows系统pip安装方式python语言、cpu版本的软件。
pip3 install torch torchvision torchaudio2.3 ffmpeg
https://github.com/BtbN/FFmpeg-Builds/releases 解压后找到bin文件夹下的“ffmpeg.exe”将它复制到一个文件夹中假设这个文件夹的路径是D:\software\ffmpeg然后将D:/software/ffmpeg添加到系统环境变量PATH。
3、测试
3.1 命令测试
whisper audio.mp3以上whisper audio.mp3的命令形式是最简单的一种它默认使用的是small模式的模型转写我们还可以使用更高等级的模型来提高正确率。 比如
whisper audio.mp3 --model medium
whisper japanese.wav --language Japanese
whisper chinese.mp4 --language Chinese --task translate
whisper audio.flac audio.mp3 audio.wav --model medium
whisper output.wav --model medium --language Chinese同时默认会生成5个文件文件名和你的源文件一样但扩展名分别是.json、.srt、.tsv、.txt、.vtt。除了普通文本也可以直接生成电影字幕还可以调json格式做开发处理。 常用参数如下
--task 指定转录方式默认使用 --task transcribe 转录模式--task translate 则为 翻译模式目前只支持翻译成英文。
--model指定使用模型默认使用 --model smallWhisper 还有 英文专用模型就是在名称后加上 .en这样速度更快。
--language指定转录语言默认会截取 30 秒来判断语种但最好指定为某种语言比如指定中文是 --language Chinese。
--device指定硬件加速默认使用 auto 自动选择--device cuda 则为显卡cpu 就是 CPU mps 为苹果 M1 芯片。
--output_format指定字幕文件的生成格式txt,vtt,srt,tsv,json,all指定多个可以用大括号{}包裹不设置默认all。
-- output_dir 指定字幕文件的输出目录不设置默认输出到当前目录下。
--fp16默认True使用16位浮点数进行计算可以在一定程度上减少计算和存储开销可能存在精度丢失笔者CPU不支持会出现下述警告指定它为False就不会出现了即采用32位浮点数进行计算。3.2 代码测试识别声音文件
import whisperif __name__ __main__:model whisper.load_model(tiny)result model.transcribe(audio.mp3, fp16False, languageChinese)print(result[text])3.3 代码测试实时录音识别
import whisper
import zhconv
import wave # 使用wave库可读、写wav类型的音频文件
import pyaudio # 使用pyaudio库可以进行录音播放生成wav文件def record(time): # 录音程序# 定义数据流块CHUNK 1024 # 音频帧率也就是每次读取的数据是多少默认1024FORMAT pyaudio.paInt16 # 采样时生成wav文件正常格式CHANNELS 1 # 音轨数每条音轨定义了该条音轨的属性,如音轨的音色、音色库、通道数、输入/输出端口、音量等。可以多个音轨不唯一RATE 16000 # 采样率即每秒采样多少数据RECORD_SECONDS time # 录音时间WAVE_OUTPUT_FILENAME ./output.wav # 保存音频路径p pyaudio.PyAudio() # 创建PyAudio对象stream p.open(formatFORMAT, # 采样生成wav文件的正常格式channelsCHANNELS, # 音轨数rateRATE, # 采样率inputTrue, # Ture代表这是一条输入流False代表这不是输入流frames_per_bufferCHUNK) # 每个缓冲多少帧print(* recording) # 开始录音标志frames [] # 定义frames为一个空列表for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)): # 计算要读多少次每秒的采样率/每次读多少数据*录音时间需要读多少次data stream.read(CHUNK) # 每次读chunk个数据frames.append(data) # 将读出的数据保存到列表中print(* done recording) # 结束录音标志stream.stop_stream() # 停止输入流stream.close() # 关闭输入流p.terminate() # 终止pyaudiowf wave.open(WAVE_OUTPUT_FILENAME, wb) # 以’wb‘二进制流写的方式打开一个文件wf.setnchannels(CHANNELS) # 设置音轨数wf.setsampwidth(p.get_sample_size(FORMAT)) # 设置采样点数据的格式和FOMART保持一致wf.setframerate(RATE) # 设置采样率与RATE要一致wf.writeframes(b.join(frames)) # 将声音数据写入文件wf.close() # 数据流保存完关闭文件if __name__ __main__:model whisper.load_model(tiny)record(3) # 定义录音时间单位/sresult model.transcribe(output.wav,languageChinese,fp16 True)s result[text]s1 zhconv.convert(s, zh-cn)print(s1)4、工具
4.1 WhisperDesktop
https://github.com/Const-me/Whisper OpenAI 的 Whisper 自动语音识别 ASR 模型的高性能 GPGPU 推理 This project is a Windows port of the whisper.cpp implementation. Which in turn is a C port of OpenAI’s Whisper automatic speech recognition (ASR) model. 下载 WhisperDesktop 后点击运行然后加载模型文件最后选择文件即可进行转录。由于支持 GPU 硬解转录速度非常的快。
4.2 Buzz
https://github.com/chidiwilliams/buzz Buzz 在您的个人计算机上离线转录和翻译音频。由 OpenAI 的 Whisper 提供支持。 另一款基于 Whisper 的图形化软件是 Buzz相比 WhipserDesktopBuzz 支持 Windows、macOS、Linux。
安装如下
1PyPI:
pip install buzz-captions
python -m buzz2Windows:
Download and run the file in the releases page…exe‘ Buzz 的安装包体积稍大同时 Buzz 使用的是 .pt 后缀名的模型文件运行后软件会自动下载模型文件。
但最好是提前下好模型文件然后放在指定的位置。
Mac~/.cache/whisper
WindowsC:\Users\你的用户名\.cache\whisper但 Buzz 使用的是 CPU 软解 目前还不支持 GPU 硬解 。
4.3 Whisper-WebUI
https://github.com/jhj0517/Whisper-WebUI 基于 Gradio 的 Whisper 浏览器界面。你可以把它当作一个简单的字幕生成器 To run Whisper, you need to have , version 3.8 ~ 3.10 and .gitpythonFFmpeg
git : https://git-scm.com/downloadspython : https://www.python.org/downloads/FFmpeg : https://ffmpeg.org/download.html
结语
如果您觉得该方法或代码有一点点用处可以给作者点个赞或打赏杯咖啡╮(▽)╭ 如果您感觉方法或代码不咋地//(ㄒoㄒ)//就在评论处留言作者继续改进o_O??? 如果您需要相关功能的代码定制化开发可以留言私信作者(✿◡‿◡) 感谢各位大佬童鞋们的支持( ´ ▽´ ) ( ´ ▽´)っ