openai whisper使用

news/2024/9/20 3:52:22/ 标签: whisper, 笔记, 人工智能

whisper_0">whisper使用

介绍

Whisper是一种通用的语音识别模型。它是在大量不同音频数据集上训练的,也是一个多任务模型,可以执行多语言语音识别、语音翻译和语言识别。

GitHub:https://github.com/openai/whisper

论文链接:https://arxiv.org/abs/2212.04356

方法

Transformer序列到序列模型在各种语音处理任务上进行训练,包括多语言语音识别、语音翻译、口语识别和语音活动检测。这些任务被联合表示为将由解码器预测的令牌序列,从而允许单个模型代替传统语音处理流水线的许多级。多任务训练格式使用一组特殊的标记,用作任务说明符或分类目标。

安装

环境:

Python==3.8-3.11

PyTorch==1.10.1

使用pip安装

pip install -U openai-whisper

或者

pip install git+https://github.com/openai/whisper.git 

更新:

pip install --upgrade --no-deps --force-reinstall git+https://github.com/openai/whisper.git

它还需要在系统上安装命令行工具ffmpeg,大多数包管理器都提供了该工具(命令行安装):

# on Ubuntu or Debian
sudo apt update && sudo apt install ffmpeg# on Arch Linux
sudo pacman -S ffmpeg# on MacOS using Homebrew (https://brew.sh/)
brew install ffmpeg# on Windows using Chocolatey (https://chocolatey.org/)
choco install ffmpeg# on Windows using Scoop (https://scoop.sh/)
scoop install ffmpeg

FFmpeg安装

FFmpeg是一款音视频编解码工具。Whisper需要使用FFmpeg工具提取声音数据,所以需要安装配置FFmpeg。

  1. 官网下载:https://ffmpeg.org/download.html

image-20240819213912464

image-20240819214124841

  1. 下载解压后配置环境变量:环境变量 --> path --> 新建 --> 解压目录\bin

image-20240819214256830

  1. 验证:

image-20240819214445325

  1. 在python环境中安装依赖包:
pip install ffmpeg-python

whisper_83">使用whisper

代码

import whispermodel = whisper.load_model("base")  # 共有四种模型:base、small、medium、large
result = model.transcribe("../XX.mp3", language="Chinese")print(result["text"])

base结果

坐平二十七号。我打烈归来,掩着花园的林阴路走着,狗跑在我前边。突然,狗放慢脚步,逆足前行,好像袖到了前边有什么野物。我顺着林阴路望去,看见了一只,嘴边还带黄色,头上升着柔毛的小麻雀。风猛烈地吹打的林阴路上的白话术。麻雀,从朝里低落下来,呆呆地伏在地上,孤立无缘地,张开两只羽毛,还未封满的小翅吧。我的狗慢慢向它靠近。忽然,从附近一颗樹上,飞下一只黑胸铺的老麻雀,像一颗石子似的落到狗的眼前。老麻雀全身道术的羽毛,精恐万状发出绝望七慘的教生。接着,想漏出牙石,大张着的狗嘴铺去。老麻雀是猛铺下来救护右翹的。他用身体掩护着自己的幼儿,但他整个小小的身体,因恐怖而战力着。他小小的声音也变得粗暴思呀,他在犀生自己。在他看来,狗该是多么庞大的怪物吧。然而,他还是不能站在自己高高的安全的树制上。一种比他的理智更强烈的力量,是他从哪铺下身来。我的狗站住了,向后退了退。看来他也赶到了这种力量。我赶紧换住金荒失错的狗,然后我怀着重新的心情走开了。是啊,请不要见笑。我重庆那只小小的英勇的鸟儿,我重庆他那种爱的冲动和力量。爱,我想,比死和死的恐惧更强大。只有依靠他,依靠这种爱,生命才能维持下去,发展下去。欢迎光临普通话时期望,三达六点PTHXX.com。

这base模型,识别效果一般,有很多错别字

small结果

作品二十七号。我打猎龟来,沿着花园的林阴路走着,狗跑在我前边。突然,狗放慢脚步,涅足前行,好像绣到了前边有什么野物。我顺着林阴路望去,看见了一只嘴边还带黄色头上生着柔毛的小麻雀。风猛烈地吹打着林阴路上的白画树,麻雀从朝里跌落下来,呆呆地浮在地上,孤立无缘地张开两只羽毛还未风满的小翅膀。我的狗慢慢向它靠近。忽然,从附近一棵树上飞下一只黑胸脖的老麻雀,像一颗石子似的落到狗的眼前。老麻雀全身倒数着羽毛惊恐万状,发出绝望欺惨的叫声。接着,想露出牙齿,大张着的狗嘴铺去。老麻雀是猛铺下来救护幼雀的。它用身体掩护着自己的幼儿。但它整个小小的身体因恐怖而占力着,它小小的声音也变得粗暴思压,它在牺牲自己。在它看来,狗该是多么庞大的怪物啊。然而,它还是不能站在自己高高的安全的树枝上。一种比它的理智更强烈的力量,是它从哪儿扑下身来。我的狗站住了,向后退了退,看来它也感到了这种力量。我赶紧换住惊慌失措的狗,然后我怀着重庆的心情走开了。是啊,请不要见笑。我重庆那只小小的英勇的鸟儿,我重庆它那种爱的冲动和力量。爱,我想,比死和死的恐惧更强大。只有依靠它,依靠这种爱,生命才能维持下去,发展下去。

效果比base好一点,但不多

medium结果

作品二十七號我打獵歸來沿著花園的林蔭路走著狗跑在我前邊突然狗放慢腳步捏足前行好像繡到了前邊有什麼野物我順著林蔭路望去看見了一隻嘴邊還帶黃色頭上生著柔毛的小麻雀風猛烈地吹打著林蔭路上的白樺樹麻雀從巢裡跌落下來呆呆地浮在地上孤立無援地張開兩隻羽毛還未豐滿的小翅膀我的狗慢慢向它靠近忽然從附近一棵樹上飛下一隻黑胸脯的老麻雀像一顆石子似的落到狗的眼前老麻雀全身倒數著羽毛驚恐萬丈發出絕望淒慘的叫聲接著想露出牙齒大張著地狗嘴撲去老麻雀是猛撲下來救護幼雀的它用身體掩護著自己的幼兒但它整個小小的身體因恐怖而站立著它小小的聲音也變得粗暴私養它在犧牲自己在它看來狗該是多麼龐大的怪物啊然而它還是不能站在自己高高的安全的樹枝上一種比它的理智更強烈的力量使它從那兒撲下身來我的狗站住了向後退了退看來它也感到了這種力量我趕緊換住驚慌失措的狗然後我懷著重慶的心情走開了是啊請不要見笑我重慶那只小小的英勇的鳥兒我重慶它那種愛的衝動和力量愛我想比死和死的恐懼更強大只有依靠它依靠這種愛生命才能維持下去發展下去

不知道为什么全是繁体,效果不如small

large结果

作品二十七号我打猎归来,沿着花园的林荫路走着,狗跑在我前边。突然,狗放慢脚步,捏足前行,好像嗅到了前边有什么野物。我顺着林荫路望去,看见了一只,嘴边还带黄色,头上生着绒毛的小麻雀。风猛烈地吹打着林荫路上的白花树,麻雀从巢里跌落下来,呆呆地浮在地上,孤立无援地张开两只羽毛还未丰满的小翅膀。我的狗慢慢向它靠近,忽然从附近一棵树上飞下一只黑胸脯的老麻雀,像一颗石子似的落到狗的眼前。我顺着林荫路望去,看见了一只,嘴边还带黄色,头上生着绒毛的小麻雀。老麻雀全身倒竖着羽毛,惊恐万状,发出绝望凄惨的叫声。接着,想露出牙齿,大张着的狗嘴扑去。老麻雀是猛扑下来救护幼雀的,它用身体掩护着自己的幼儿,但它整个小小的身体因恐怖而站立着。它小小的声音也变得粗暴嘶哑。老麻雀在狗身上,它在牺牲自己。在它看来,狗该是多么庞大的怪物啊。然而,它还是不能站在自己高高的安全的树枝上。一种比它的理智更强烈的力量,是它从那扑下身来。我的狗站住了,向后退了退。看来,它也感到了这种力量。我赶紧唤住惊慌失措的狗,然后我怀着崇敬的心情走开了。老麻雀的狗叫了一声。我说:"是啊,请不要见笑。我崇敬那只小小的英勇的鸟儿。我崇敬它那种爱的冲动和力量。我说:"爱,我想,比死和死的恐惧更强大。只有依靠它,依靠这种爱,生命才能维持下去,发展下去。

使用large模型错别字显著减少,整体效果比base好,但仍然存在一些问题:部分文字重复识别。尚未查明原因

原文:

我打猎归来,沿着花园的林阴路走着。狗跑在我前边。突然,狗放慢脚步,蹑足潜行,好像嗅到了前边有什么野物。我顺着林阴路望去,看见了一只嘴边还带黄色、头上生着柔毛的小麻雀。风猛烈地吹打着林阴路上的白桦树,麻雀从巢里跌落下来,呆呆地伏在地上,孤立无援地张开两只羽毛还未丰满的小翅膀。我的狗慢慢向它靠近。忽然,从附近一棵树上飞下一只黑胸脯的老麻雀,像一颗石子似的落到狗的跟前。老麻雀全身倒竖着羽毛,惊恐万状,发出绝望、凄惨的叫声,接着向露出牙齿、大张着的狗嘴扑去。老麻雀是猛扑下来救护幼雀的。它用身体掩护着自己的幼儿……但它整个小小的身体因恐怖而战栗着,它小小的声音也变得粗暴嘶哑,它在牺牲自己!在它看来,狗该是多么庞大的怪物啊!然而,它还是不能站在自己高高的、安全的树枝上……一种比它的理智更强烈的力量,使它从那儿扑下身来。我的狗站住了,向后退了退……看来,它也感到了这种力量。我赶紧唤住惊慌失措的狗,然后我怀着崇敬的心情,走开了。是啊,请不要见笑。我崇敬那只小小的、英勇的鸟儿,我崇敬它那种爱的冲动和力量。爱,我想,比死和死的恐惧更强大。只有依靠它,依靠这种爱,生命才能维持下去,发展下去。

语言模型下载

下载地址:https://huggingface.co/ggerganov/whisper.cpp/tree/main

GitHub:https://github.com/ggerganov/whisper.cpp/tree/master/models

遇到的错误信息

  1. FileNotFoundError: [WinError 2] 系统找不到指定的文件。

解决办法: 找到External Libraries —> Python 3.8 —> Libs —> subprocess.py—> Ctrl+F 查找“class POpen” ,将shell=False,改为 shell=True。

image-20240820162548360

  1. UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xb2 in position 9: invalid start byte

解决办法: 这个问题一般是是ffmpeg造成的,在读取文件的时候某个位置的编码有问题。实际上是由于上面的代码修改后,需要重新启动(在windows系统有这个问题)。 如果重新启动之后,还是出现上述错误,可以按照如下方式重新设置:Pycharm setting —> Tools —> Terminal —> 找到 shell path,将其修改为本地cmd。


http://www.ppmy.cn/news/1515892.html

相关文章

游戏开发中客户端和服务器逻辑

文章目录 0 引言1 服务器逻辑1.1 游戏逻辑的权威性1.2 状态同步1.3 安全性和反作弊1.4 AI控制 2.客户端职责2.1 用户输入处理2.2 渲染和表现2.3 本地预测和插值2.4 UI和HUD 0 引言 在进行游戏开发的过程中,对于客户端和服务器端要进行的逻辑有些困惑,学…

如何给两台机器集群设置VIP(虚拟IP)

原文链接:https://www.cnblogs.com/qianz/articles/16825567.html 一、环境准备 1.集群 IP部署 172.16.30.181是主节点,172.16.30.182是备节点,VIP是172.16.30.183 我是在openstack上搭建的集群,建议大家将需要用到的IP都固定到…

LeetCode --- 411周赛

题目列表 3258. 统计满足 K 约束的子字符串数量 I 3259. 超级饮料的最大强化能量 3260. 找出最大的 N 位 K 回文数 3261. 统计满足 K 约束的子字符串数量 II 一、统计满足K约束的子字符串数量I 这种要求满足区间内某种性质的题,一般都可以用滑动窗口来做。这题…

C#高级进阶---关于插件开发(初版)

一、关于插件 插件开发是一种使应用程序功能可扩展的技术。通过插件,应用程序可以动态地加载和使用外部功能模块,而无需重新编译整个程序。 1. 插件架构设计 插件系统通常包含以下几个核心部分: 主程序(Host Application&#x…

20240824给飞凌OK3588-C的核心板刷Ubuntu22.04并安装iperf3测试网速

20240824给飞凌OK3588-C的核心板刷Ubuntu22.04并安装iperf3测试网速 2024/8/24 9:24 缘起,通过千兆交换机接入外网,开机之后发现以太网异常,多上电几次就会发现以太网也能用。 缘由:由于自制的飞凌的OK3588-C的核心板的底板对空间…

Vue3-win7搭建vue3环境

Vue3-win7搭建vue3环境 官方要求的信息是是node.js 18.03以上。而我的环境:win7 x64, vscode 1.34。 参考网址: 0、基本的安装 https://blog.csdn.net/m0_49139268/article/details/126159171 a、这里有各种安装包的下载路径(镜…

ES详细使用!Elasticsearch实现索引操作,增删改查,批处理

要想知道ES怎么具体实现对数据的操作,我们首先应该了解一下什么叫做restful编码风格,因为es的具体操作都是restful风格的。 1.RESTful风格 RESTful 是一种软件架构风格,用于创建可扩展的网络服务。它使用 HTTP 方法(如 GET、POS…

【系统架构设计师-2018年】案例分析-答案及详解

试题一(25分) 阅读以下关于软件系统设计的叙述,在答题纸上回答问题1至问题3。 【说明】 某文化产业集团委托软件公司开发一套文化用品商城系统,业务涉及文化用品销售、定制、竞拍和点评等板块,以提升商城的信息化建设…

【ORACLE】 ORA-01691: Lob 段无法通过 8192 (在表空间 XXX_SPACE 中) 扩展

ORA-01691错误通常表示Oracle数据库在尝试扩展LOB段时无法为表空间分配更多的空间。这个问题通常由表空间容量不足引起。根据搜索结果,以下是几种可能的解决方案: 检查并扩大表空间:首先,确认表空间是否已经达到其最大容量。可以使…

Excel中的“块”操作

在Excel中,有offset、index、indirect三个对“区域”操作的函数,是较高版本Excel中“块”操作的利器。 (笔记模板由python脚本于2024年08月20日 19:25:21创建,本篇笔记适合喜欢用Excel处理数据的coder翻阅) 【学习的细节是欢悦的历程】 Pytho…

HarmonyOs应用权限申请,system_grant和user_grant区别。本文附头像上传申请user-grant权限代码示例

HarmonyOs应用权限申请,system_grant和user_grant区别。本文附头像上传申请user-grant权限代码示例 system_grant(系统授权) system_grant指的是系统授权类型,在该类型的权限许可下,应用被允许访问的数据不会涉及到用户…

状态压缩DP---最短Hamilton路径

给定一张 nn 个点的带权无向图,点从 0∼n−10∼n−1 标号,求起点 00 到终点 n−1n−1 的最短 Hamilton 路径。 Hamilton 路径的定义是从 00 到 n−1n−1 不重不漏地经过每个点恰好一次。 输入格式 第一行输入整数 nn。 接下来 nn 行每行 nn 个整数&a…

火绒使用详解 为什么选择火绒?使用了自定义规则及其高级功能的火绒,为什么能吊打卡巴斯基,360,瑞星,惠普联想戴尔的电脑管家等?

目录 前言 必看 为什么选择火绒? 使用了自定义规则及其高级功能的火绒,为什么能吊打卡巴斯基,360,瑞星,惠普联想戴尔的电脑管家等? 原因如下: 火绒的主要优势 1. 轻量化设计 2. 强大的自…

wsl2 airsim wairing for connect (Windows11 UE4.27)问题解决

一、概述 这里记述我遇到我在使用wsl2子系统与Windows11上进行交互时候,遇到的一些我之前没有遇到过的问题。 之前的我写的配置链接在这里。 UE5 with plugins AirSim in Windows & ROS in WSL2-Ubuntu 20.04配置过程记录_airsim ue5-CSDN博客文章浏览阅读455次…

python循环访问excel的某一列从某行开始的内容

python循环访问excel的某一列从某一行开始的内容 您可以使用openpyxl库来实现这个需求。以下是一个示例代码,展示了如何使用openpyxl读取Excel文件中的特定列(假设为第一列,从第二行开始): 可以使用Python的openpyxl…

FastAPI+Vue3零基础开发ERP系统项目实战课 20240824上课笔记 循环和函数以及大量的练习

巩固一下 假设我们现在想要根据输入月份,判断是哪个季节,怎么做呀? 输入1:一月,12月,1月,2月是冬季 输入8:八月,夏季 作为思考题,有时间就做一下&#xff…

【HTML】为网页添加列表和超链接

1、列表 1.1、无序列表 <ul><li>列表项1</li><li>列表项2</li><li>列表项3</li> ...... </ul>无序列表的常用type属性值 1.2、有序列表 <ol><li>列表项1</li><li>列表项2</li><li>列…

GGD光伏电站低压并网柜,分布式光伏并网配电柜

作为光伏低压并网柜的厂家之一&#xff0c;江苏中盟电气集团以下为您分享关于分布式光伏发电中用到的低压并网柜&#xff08;并网配电柜&#xff09;的内容。 实际上GGD光伏低压并网柜&#xff0c;只是众多型号并网柜中的一种&#xff0c;它们以低压交流配电柜为基础&#xff…

Linux-远程访问及控制

系列文章目录 提示&#xff1a;仅用于个人学习&#xff0c;进行查漏补缺使用。 1.Linux-网络设置 2.Linux-DHCP服务、vsftp 3.Linux-DNS域名解析服务 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录…

排查Maven问题的步骤

0.检查pom文件完整性 1.检查IDEA中配置是否正确 2.使用清楚工具将所有的lastupdate清除, 3.有些依赖是公司的依赖 —>配置私服 —>拷贝同事仓库,覆盖自己的仓库 4.有了私服地址,但是还是下载不到 —>查看地址是否能访问 —>挂VPN