【Python实用API】语音转文本-whisper

这篇具有很好参考价值的文章主要介绍了【Python实用API】语音转文本-whisper。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0.Whisper介绍

(1)起因:最近在油管上下载视频,但是下载后发现两个问题,一是下载的视频无字幕;二是找了半天油管的字幕下载途径,结果发现下载的字幕的提取效果不太好。于是乎发现OpenAI发布的字幕提取开源库Whisper可解决我的问题,因此写此博文只是为了记录我学习的过程,与对此工具感兴趣的博友共勉。
(2)Whisper简介:Whisper 是一种通用语音识别模型。它是在大量不同音频数据集上进行训练的,同时也是一个多任务模型,支持多语言的语音识别语音翻译语言识别。Git链接地址。
(3)主要用途:一些英文视频没有字幕,且自动生成字幕错误太多。后续将陆续增加(1)将Whisper集成进入到一个小软件中操作类似教程;(2)提取英文字幕后的准确翻译。

1.Whisper安装

whisper的安装不是简简单单一句命令pip install whisper就行,它需要一些依赖,如音频相关的ffmpeg,深度学习pytorch库等。

1.1 依赖库安装

whisper依赖库安装步骤:步骤1.下载ffmpeg并添加环境变量;步骤2安装PyTorch-GPU版本
步骤1.下载ffmpeg并添加环境变量
ffmpeg安装教程(windows版):安装及路径设置
注:博主下载的第二个,如下图红色方框。然后按照上述教程设置好路径即可。
whisper log_prob_threshold,Python实用API,python,whisper,开发语言

1.2 Whisper安装

pip install whisper

2.Whisper使用

这里的基本使用是以命令形式,而非代码形式,此外默认Whisper的可执行文件路径添加到了系统路径。

2.1 Whisper基本使用(语音识别)

查看Whisper使用说明,在cmd终端中输入

whisper -h

基本使用:whisper +【可选参数】+音频文件.mp3或者视频文件.mp4,这里可选参数默认不添加,如下:

whisper test.mp3

默认输出结果:首先在终端输出检测音频的一些基本信息,然后输出检测的内容输出,当所有检测完成后将在输出文件夹中产生5个文件,文件名和你的源文件一样,但扩展名分别是:.json、.srt、.tsv、.txt、.vtt。除了识别为普通文本,可以直接生成电影字幕,还可以调json格式做开发处理。
可选参数说明

参数 说明 可选值
-h|--help 显示Whisper使用说明
--model 语音识别的模型 共5个,分别是tiny,base,small,medium,large,默认small
--model_dir 模型权重文件 按照Whisper下载
--device 用于PyTorch推理的设备(可以cpu或者GPU) 默认:cpu,cuda表示GPU
--output_dir 输出文件路径 默认与音频文件路径一致,名称一致,后缀不一
--output_format 输出字幕文件格式 默认txt,vtt,srt,tsv,json五种格式,若要指定某种格式 -f srt
--verbose 是否打印进度和调试消息 默认:True,不打印:--verbose False
--task 执行翻译任务 默认只有其他语言翻译成英文,不支持翻译成其他
--language 提取字幕的语言类型 可以指定,若不指定,系统会检测到

2.2 Whisper进阶使用

2.2.1 语音识别中更换识别模型

首先是提供给我们的识别模型总5个,默认small,越往下识别整体识别效果越好,但是对电脑硬件配置要求越高,以及识别速度有所减缓。
whisper log_prob_threshold,Python实用API,python,whisper,开发语言

 whisper test.mp3 --model medium

2.2.2 将识别的语言自动翻译成英文

添加**–task translate**选项将把语音翻译成英语,这在为中文视频生成英语字幕时非常有用,但是仅且只支持翻译成英文,

whisper test.mp3 --model medium --task translate

2.2.3 解决幻听的可能方案

有时语音识别会出现幻听,例如一些语气停顿或者发音等原因导致识别出语音与该片段无关。这些问题是由参数引起的。幻听的解决方案是引入 VAD,但 VAD 对动手能力要求较高。如果你的视频转录出现了严重幻听,建议先尝试调节参数阈值。

–no_speech_threshold 无声识别的阈值,默认为 0.6。当 no_speech_threshold 高于阈值且 logprob_threshold 低于预设时,该片段将被标记为静默。对于非英语长视频来说,建议将其调低,否则经常出现大段的重复识别。
–logprob_threshold 转录频次的阈值,默认为 -1.0。当 logprob_threshold 低于预设时,将不对该片段进行转录。建议修改为 None 或更低的值。
–compression_ratio_threshold 压缩比的阈值,默认为 2.4。当 compression_ratio_threshold 高于预设时,将不对该片段进行转录。
–no_speech_threshold 0.5 --logprob_threshold None --compression_ratio_threshold 2.2 是我常用的参数,你可以按视频情况来调节。幻听解决方法参考

3.其他相关

(1)如果你想要在网页上运行whisper,可以安装Whisper Webui。跳转链接,见第7部分
(2)文本转语音库-pyttsx3:pyttsx3安装及使用教程
由于本意想做中英文视频字幕的添加,现在初步解决了英文字幕提取,后续还将完成英文字幕翻译以及视频和字幕的一些操作。

3.1 中英文字幕播放同步

由于视频文件和字幕文件单独分开的,如果字幕和视频文件同名,一般浏览器默认自动加载字幕,但由于博主下载的视频主要支持中英文同步显示,因此需要特别设置下,播放器选择的是免费且使用较多的PotPlayer播放器(一款完全免费,颜值高,画质好,无广告,易上手,功能强大,支持格式多,几乎最完美的,本地视频播放器。)。PotPlayer播放器下载地址

PotPlayer播放器同时显示外挂中英双字幕的设置方法:使用教程

3.2视频和字幕合并

视频和字幕处理工具很多,如ffmpeg、剪映以及专业视频制作软件等,但软件有一定学习成本,所以采用ffmpeg提供的一个命令行操作,在windows下的cmd命令中按照如下输入:
使用说明:ffmpeg -i 视频路径 -vf subtitles=字幕路径 输出视频文件

#下面操作注意切换到视频和字幕所在的路径
ffmpeg -i test.mp4 -vf subtitles=test.srt release_with_srt.mp4

whisper log_prob_threshold,Python实用API,python,whisper,开发语言文章来源地址https://www.toymoban.com/news/detail-849588.html

到了这里,关于【Python实用API】语音转文本-whisper的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微软(TTS)文本转语音服务API实现

    此博客实现与java实现微软文本转语音(TTS)经验总结_java tts_${简简单单}的博客-CSDN博客之上,首先感谢博客源码的提供,本人在上面添加了一些详细的注释,方便大家跟好的理解和使用,毕竟我已经用原文调试了一下午才调通,一些细节的问题给大家标注出来,免得浪费大家

    2024年02月07日
    浏览(37)
  • 【Google语音转文字】Speech to Text 超级好用的语音转文本API

    前面有一篇博客说到了讯飞输入法,支持语音输入,也支持电脑内部音源输入,详细参考:【实时语音转文本】PC端实时语音转文本(麦克风外音系统内部音源) 但是它只是作为一个工具来使用,如果我们想自己做一些好玩的东西,比如通过语音来控制电脑做一些自动化的操作

    2024年02月02日
    浏览(48)
  • OpenAI-ChatGPT最新官方接口《语音智能转文本》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(六)(附源码)

    Speech to text 语音转文本 Learn how to turn audio into text 了解如何将音频转换为文本 ChatGPT 是集人工智能和自然语言处理技术于一身的大型语言模型。它能够通过文字、语音或者图像等多种方式与用户进行交互。其中,通过语音转文字功能,ChatGPT 能够将用户说出的话语,立即转化为

    2023年04月21日
    浏览(44)
  • Python 语音转文本

    python中制作语音转文本比其他语言简单,只要调用pyttsx3(模块)就可以了。但是必须先安装WIN11系统的语音识别功能 具体查看方法:打开控制面板,搜索“语音识别”,如果出现如下图标 说明电脑安装了语音识别模块,否则怎么折腾都没有用。特别要测试一下“文本到语音

    2024年02月04日
    浏览(36)
  • Python 实现语音转文本

    Python可以使用多种方式来实现语音转文本,下面介绍其中两种。 Google Speech API 是 Google 在 2012 年推出的一个 API,可以用于实现语音转文本。使用 Google Speech API 需要安装 SpeechRecognition 库,可以使用 pip 安装: 安装完成后,可以使用下面的代码实现语音转文本: 除了 Google Spe

    2024年02月04日
    浏览(27)
  • Python 实现文本转语音

    : Python 是一种非常强大的脚本语言,可以用来实现各种复杂的应用,其中之一就是文本转语音,即把文字转换成声音来发出。在这里,我们将使用 Python 的 gTTS 库来实现文本转语音的功能。 使用 gTTS 库之前,我们需要先安装 gTTS。安装 gTTS 很简单,我们可以使用 pip 安装:

    2024年02月12日
    浏览(28)
  • [python]基于faster whisper实时语音识别语音转文本

    语音识别转文本相信很多人都用过,不管是手机自带,还是腾讯视频都附带有此功能,今天简单说下: faster whisper地址: https://github.com/SYSTRAN/faster-whisper https://link.zhihu.com/?target=https%3A//github.com/SYSTRAN/faster-whisper 实现功能: 从麦克风获取声音进行实时语音识别转文本 代码仅仅

    2024年02月03日
    浏览(30)
  • 【NLP】用python实现文本转语音处理

            介绍一款python调用库,离线软件包pyttsx3 API,它能够将文字转化成语音文件。Python 中有多种 API 可用于将文本转换为语音。pyttsx3 是一个非常易于使用的工具,可将输入的文本转换为音频。与其它类似的库不同,它可以离线工作,并且与 Python 2 和 3 兼容。      

    2024年02月11日
    浏览(26)
  • 一键智能视频语音转文本——基于PaddlePaddle语音识别与Python轻松提取视频语音并生成文案

    如今进行入自媒体行业的人越来越多,短视频也逐渐成为了主流,但好多时候是想如何把视频里面的语音转成文字,比如,录制会议视频后,做会议纪要;比如,网课教程视频,想要做笔记;比如,需要提取视频中文案使用;比如,需要给视频加个字幕;这时候,只要把视频转

    2024年02月08日
    浏览(33)
  • python_视频中语音识别转出文本

    注意:没有“stepladder”的同学建议不要看啦 目录 1. 安装需要的包 2. 视频转音频 3. 对音频进行切割 4. 对视频进行切割 5. 从音频中识别出文本 5.1 使用离线方法 5.2 使用在线方法 5.3 两种方法比较 6. 用到的包下载 1.1 安装SpeechRecognition包 pip install SpeechRecognition 1.2 安装 PockSphin

    2023年04月08日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包