python语音识别whisper的使用

2023-02-27 11:02:34 python 语音识别 whisper

一、背景

最近想提取一些视频的字幕,语音文案,研究了一波

二、whisper语音识别

Whisper 是一种通用的语音识别模型。它在不同音频的大型数据集上进行训练,也是一个多任务模型,可以执行多语言语音识别以及语音翻译和语言识别。
stable-ts在 Openai 的 Whisper 之上修改并添加了更大的破解代码发布,生成更准确的阶段时间切换,并在无须额外推介的情况下获得申领

安装

pip install openai-whisper 
pip install stable-ts
SizeParametersEnglish-only modelMultilingual modelRequired VRAMRelative speed
tiny39 Mtiny.entiny~1 GB~32x
base74 Mbase.enbase~1 GB~16x
small244 Msmall.ensmall~2 GB~6x
medium769 Mmedium.enmedium~5 GB~2x
large1550 MN/Alarge~10 GB1x

三、示例

模型越大,越精确,相应话费的时间越长
自带语言识别功能,language最好加上,下面歌曲识别为英语,加后为中文
stable_whisper 是 whisper 进化版

import whisper
import stable_whisper as whisper

class WhisperTranscriber(object):

    def __init__(self, model_name):
        self.model = whisper.load_model(model_name)

    def whisper_transcribe(self, audio_path):
        audio = self.model.transcribe(audio_path, fp16=False, language='Chinese')
        return audio['text']

if __name__ == '__main__':

    transcriber = WhisperTranscriber("base")
    text = transcriber.whisper_transcribe("257853511.mp3")
    print(text)

可能是伴奏声音过大,你才出来这是什么歌了吗?stable_whisper 别的用法、生成字幕

import stable_whisper
model = stable_whisper.load_model('base')
results = model.transcribe('257853511.mp3', fp16=False, language='Chinese')
stable_whisper.results_to_sentence_srt(results, 'audio')
stable_whisper.results_to_sentence_Word_ass(results, 'audio.ass')

四、封装工具

buzz

如果遇到简繁转换可以石下面

pip install zhconv
  • zh-cn 大陆简体
  • zh-hant 繁體
from zhconv import convert     
convert('python是一种动态的、面向对象的脚本语言', 'zh-hant')
'Python是一種動態的、面向對象的腳本語言'

到此这篇关于python语音识别whisper的使用的文章就介绍到这了,更多相关python语音识别whisper内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关文章