自动语音识别模型whisper安装和初探

whisper介绍

whisper是OpenAI 最近发布的语音识别模型。OpenAI 通过从网络上收集了 68 万小时的多语言(98 种语言)和多任务(multitask)监督数据对 Whisper 进行了训练,whisper可以执行多语言语音识别、语音翻译和语言识别。

whisper安装(Windows)

1.CMD命令窗口建立名为whisper的虚拟环境:

conda create -n whisper python==3.8
conda activate whisper

注意:whisper要求python版本为3.8以上,否则会报错
2.虚拟环境中,安装whisper

pip install -U openai-whisper

2.虚拟环境中安装ffmpeg
这里我直接pip install ffmpeg后,在python中无法import ffmpeg,不知道是什么原因
重新安装ffmpeg-python就解决了

pip uninstall ffmpeg
pip uninstall ffmpeg-python
pip install ffmpeg-python

whisper初探

1.根据官网instruction进行测试,其中的audio是我自己保存的一段音频

import whisper

model = whisper.load_model("base")
result = model.transcribe("audio.mp3")
print(result["text"])

结果:
在这里插入图片描述
发现可以准确进行语音识别,没有问题(但是没有标点符号?)
2.接下来测试instruction中的另一段代码

import whisper

model = whisper.load_model("base")

# load audio and pad/trim it to fit 30 seconds
audio = whisper.load_audio("audio.mp3")
audio = whisper.pad_or_trim(audio)

# make log-Mel spectrogram and move to the same device as the model
mel = whisper.log_mel_spectrogram(audio).to(model.device)

# detect the spoken language
_, probs = model.detect_language(mel)
print(f"Detected language: {max(probs, key=probs.get)}")

# decode the audio
options = whisper.DecodingOptions()
result = whisper.decode(model, mel, options)

# print the recognized text
print(result.text)

报错如下图
在这里插入图片描述
提示需要用gpu跑模型,于是在虚拟环境中安装gpu版本的torch,我的CUDA为11.7版本,python为3.8,选择对应的torch和torchvision进行安装,torch.cuda.is_available() 为True,之后再次运行代码,没有出错。
在这里插入图片描述
结果发现识别出的只有整个音频中的一小段,这是什么意思?于是我下载了whisper的源代码,看一看调用函数的含义。
我发现在这段代码中,whisper.pad_or_trim是选择了音频前30s的token,之后采用了whisper.log_mel_spectrogram,对这30s的token生成了Log-Mel 频谱图,detect_language函数是用于自动识别这段音频的语言,最后用decode进行了解码。因此,这段代码其实是截取了音频中的前30s片段进行识别而非整段音频。
(1)如果需要对整段音频进行识别,则需要将输入的音频被分割成 30 秒的小段,进行滚动窗口的识别,而这些都已经封装在transcribe中;
(2)如果需要进行实时的转译,whisper本身是不支持实时,也就是说它必须将音频分成30s的片段,但可以通过每秒增量转录音频来构建类似的模型;https://github.com/openai/whisper/discussions/20
(3)如果音频不足30s,pad_or_trim会对token进行padding;
(4)如果不想要以30s为切分的时间间隔,这可能并不支持(?)仅通过修改whisper中的N_MELS、CHUNK_LENGTH等参数无法做到这一点。因为预训练保存的模型参数中,channel为80是固定的。
根据官方给出的解释:时间间隔太短,会缺乏上下文,将会更频繁地断句。很多句子都会失去意义。太长,则模型的复杂性更高。https://github.com/openai/whisper/discussions/1118

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Whisper是一款可以实现语音识别转文字的应用软件。它可以通过下载安装在手机或电脑上,实现将语音转化为文字的功能。 使用Whisper进行语音识别转文字非常简便。首先,用户需要下载并安装Whisper应用,可以在各大应用商店或官方网站上获取。安装完成后,用户可以打开应用,并按照界面上的提示进行设置和授权。接下来,用户可以开始使用Whisper进行语音转文字的操作。 在使用Whisper进行语音识别转文字时,用户可以选择两种方式。一种是通过录制语音进行识别,用户只需按下录制按钮,开始说话,Whisper自动将语音转化为文字。另一种方式是通过实时语音输入进行识别,用户可以直接讲话到麦克风,Whisper会实时将语音转为文字显示在屏幕上。 Whisper语音识别转文字功能非常准确和快速。它采用了先进的语音识别技术,能够准确地识别各种语音,并将其转化为文字。同时,Whisper还支持多国语言的识别,可以满足不同用户的需求。 通过Whisper进行语音识别转文字,用户可以享受到很多便利。无论是需要记录会议内容、学习笔记,还是进行语音交流的转化,Whisper都能够帮助用户快速准确地将语音转化为文字,并保存在手机或电脑上。这样,用户可以方便地进行查看、编辑和分享。 总之,Whisper是一个功能强大、操作简便的语音识别转文字应用软件,通过下载安装,用户可以随时随地将语音转化为文字,提高工作和学习的效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值