python语音辨认whisper

[复制链接]
查看977 | 回复0 | 2023-8-16 16:31:17 | 显示全部楼层 |阅读模式
一、配景

迩来想提取一些视频的字幕,语音文案,研究了一波
二、whisper语音辨认

Whisper 是一种通用的语音辨认模子。它在差别音频的大型数据集上举行训练,也是一个多使命模子,可以执行多语言语音辨认以及语音翻译和语言辨认。
stable-ts在 OpenAI 的 Whisper 之上修改并添加了更大的破解代码发布,生成更正确的阶段时间切换,并在无须额外推介的情况下得到申领


  • 安装
    1. pip install  openai-whisper
    2. pip install  stable-ts
    复制代码
  •    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
三、示例

模子越大,越正确,相应话费的时间越长
自带语言辨认功能,language最好加上,下面歌曲辨认为英语,加后为中文
stable_whisper 是 whisper 进化版 即 python的这个包stable-ts
  1. import whisper
  2. import stable_whisper as whisper
  3. class WhisperTranscriber(object):
  4.     def __init__(self, model_name):
  5.         self.model = whisper.load_model(model_name)
  6.     def whisper_transcribe(self, audio_path):
  7.         audio = self.model.transcribe(audio_path, fp16=False, language='Chinese')
  8.         return audio['text']
  9. if __name__ == '__main__':
  10.     transcriber = WhisperTranscriber("base")
  11.     text = transcriber.whisper_transcribe("257853511.mp3")
  12.     print(text)
复制代码
可能是伴奏声音过大,你猜出来这是什么歌了吗?stable_whisper 别的用法、生成字幕
  1. import stable_whisper
  2. model = stable_whisper.load_model('base')
  3. results = model.transcribe('257853511.mp3', fp16=False, language='Chinese')
  4. stable_whisper.results_to_sentence_srt(results, 'audio')
  5. stable_whisper.results_to_sentence_word_ass(results, 'audio.ass')
复制代码
四、封装工具

buzz https://github.com/chidiwilliams/buzz
  1. 如果遇到简繁转换可以石下面
  2. pip install zhconv
  3. zh-cn 大陆简体
  4. zh-hant 繁體
  5. from zhconv import convert     
  6. convert('Python是一种动态的、面向对象的脚本语言', 'zh-hant')
  7. 'Python是一種動態的、面向對象的腳本語言'
复制代码
来源:https://blog.csdn.net/a6864657/article/details/129210784
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则