当前位置: 首页 > news >正文

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 whisperclass 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 https://github.com/chidiwilliams/buzz

如果遇到简繁转换可以石下面
pip install zhconvzh-cn 大陆简体
zh-hant 繁體from zhconv import convert     
convert('Python是一种动态的、面向对象的脚本语言', 'zh-hant')
'Python是一種動態的、面向對象的腳本語言'
http://www.lryc.cn/news/19944.html

相关文章:

  • Prometheus -- 浅谈Exporter
  • 如何确定RocketMQ中消费者的线程大小
  • OpenAPI SDK组件之Spring Aop源码拓展
  • 蓝桥杯C/C++VIP试题每日一练之龟兔赛跑预测
  • 为你的Vue2.x老项目安装Vite发动机吧
  • ZCMU--5012: 铺设道路(差分思路)
  • 算法模板总结(自用)
  • 【架构师】零基础到精通——架构发展
  • C++(20):三路比较运算符
  • MySQL workbench 字符集、字符序的概念与联系
  • DBA之路---数据库启动与关闭过程
  • Shell文件包含
  • 计算机网络(六): HTTP,HTTPS,DNS,网页解析全过程
  • Android仿京东金融的数值滚动尺功能
  • Nginx 和 Tomcat 实现负载均衡
  • 【万能排序之qsort、b_sort 、s_sort】
  • 利用InceptionV3实现图像分类
  • 【Java】CAS锁
  • Linux服务器配置系统安全加固方法
  • Codeforces Round #850 (Div. 2, based on VK Cup 2022 - Final Round)(A~E)
  • qt源码--信号槽
  • RecycleView详解
  • 【算法】最短路算法
  • < Linux > 进程间通信
  • 学习 Python 之 Pygame 开发魂斗罗(二)
  • 户籍管理系统测试用例
  • (三)代表性物质点邻域的变形分析
  • Stream操作流 练习
  • 【模拟集成电路】宽摆幅压控振荡器(VCO)设计
  • 《英雄编程体验课》第 13 课 | 双指针