语音识别模型

简介: Whisper 是 OpenAI 推出的语音处理项目,基于深度学习,具备高度智能化和准确性的语音识别、翻译和生成能力。通过丰富的数据集和先进的注意力机制,Whisper 在多种语言环境下表现出色,支持语音识别、翻译、口语识别和语音活动检测等多种任务。用户可以通过 Python 代码或命令行轻松使用 Whisper,完成高质量的语音处理任务。官网:https://openai.com/research/whisper,GitHub:https://github.com/openai/whisper。

简介

Whisper 是 OpenAI 的一项语音处理项目,旨在实现语音的识别、翻译和生成任务。作为基于深度学习的语音识别模型,Whisper 具有高度的智能化和准确性,能够有效地转换语音输入为文本,并在多种语言之间进行翻译。通过不断的优化和更新,Whisper 致力于提供更加优质和高效的语音处理解决方案,以满足不同场景和需求下的语音交互应用。

Whisper 的优点

Whisper 借助丰富多样的数据集,这些数据集中的语音数据与互联网上的文本记录相匹配,并结合了一种名为“注意力机制”的技术。这项技术使得 Whisper 在处理语音时,能够更加有效地捕捉到语音中的关键信息。

这种综合运用数据和先进技术的方式,使得 Whisper 提高了其在各种环境下的健壮性和准确性,能够实现更为精确、智能的语音识别和翻译,为用户提供更加出色的语音处理体验。

多任务

Whisper 并不仅仅是预测给定音频的单词,虽然这是是语音识别的核心,但它还包含许多其他附加的功能组件,例如语言活动检测、说话人二值化和逆文本正态化。

采用 Transformer 序列到序列模型可以实现针对不同的语言处理任务。包括以下几种:

  • 语音识别
  • 语音翻译
  • 口语识别
  • 语音活动检测

这些任务的输出由模型预测的令牌序列表示,使得单个模型可以代替传统的语音处理管道中的多个组件,如下所示:

image.png

应用

安装

openai-whisper

openai-whisper 与 python 3.8-3.11 和最新的 PyTorch 版本兼容。

使用 pip 命令安装:pip install -U openai-whisper

ffmpeg

openai-whisper 需要 ffmpeg 的环境,ffmpeg 是一个开源的跨平台音视频处理工具和框架,可以用来录制、转换和流式传输音视频内容 。

官网:https://ffmpeg.org/

MAC

  • 安装:brew install ffmpeg

  • 验证:ffmpeg -version 出现版本信息且无报错表示安装成功。

image.png

Windows

image.png

  • 环境配置:下载解压完成后,需要将 Ffmpeg 的执行文件坐在目录添加到系统的环境变量中。

image.png

  • 验证:在 cmd 中输入 ffmpeg -version 出现版本信息且无报错表示安装成功。

image.png

命令行

# 将音频的内容转为文本,使用base模型whisper demo1.mp3 --model base --task transcribe

命令行常用参数

参数 含义 默认
--model 要使用的 Whisper 模型名称 small
--task 转录(transcribe)或翻译(translate) transcribe
--language 指定执行的语言 None
--temperature 指定输出内容的相似度 0
--output_dir 指定输出文件的保存路径 .

Python 代码

import whisper
# 初始化一个 base 模型
model = whisper.load_model("base")
# 传入音频文件,并得到音频输出的文本内容
res = model.transcribe("demo.mp3")
print(res["text"])

模型调用

安装 openai 第三方库,本篇教程使用 1.16.1 版本的 openai:pip install openai




def test_openai_whisper():
    # 初始化OpenAI对象
    client = OpenAI(base_url="xxx",api_key="xxx")
    # 打开一个音频文件
    audio_file1 = open("demo1.mp3", 'rb')
    audio_file2 = open("demo2.mp3", 'rb')
    # 选择模型,并且转录音频的内容
    res1 = client.audio.transcriptions.create(model="whisper-1", file=audio_file1)
    res2 = client.audio.transcriptions.create(model="whisper-1", file=audio_file2)
    # 翻译为英文
    res3 = client.audio.translations.create(model="whisper-1", file=audio_file2)
    print(f"audio1转录结果为:{res1.text}")
    print(f"audio2转录结果为:{res1.text}")
    print(f"audio2翻译结果为:{res1.text}")

总结

  • 了解 Whisper 相关概念。
  • 完成环境安装。
  • 学会基础示例练习。
相关实践学习
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
相关文章
|
14天前
|
机器学习/深度学习 算法 语音技术
超越传统模型:探讨门控循环单元(GRU)在语音识别领域的最新进展与挑战
【10月更文挑战第7天】随着人工智能技术的不断进步,语音识别已经从一个相对小众的研究领域发展成为日常生活中的常见技术。无论是智能手机上的语音助手,还是智能家居设备,甚至是自动字幕生成系统,都离不开高质量的语音识别技术的支持。在众多用于语音识别的技术中,基于深度学习的方法尤其是递归神经网络(RNNs)及其变体如长短期记忆网络(LSTMs)和门控循环单元(GRUs)已经成为了研究和应用的热点。
18 2
|
4月前
|
机器学习/深度学习 算法 数据可视化
Python基于librosa和人工神经网络实现语音识别分类模型(ANN算法)项目实战
Python基于librosa和人工神经网络实现语音识别分类模型(ANN算法)项目实战
|
6月前
|
机器学习/深度学习 语音技术
Hotword模型在语音识别系统中定义为能够识别特定关键词或短语(也称为唤醒词)的模型
Hotword模型在语音识别系统中定义为能够识别特定关键词或短语(也称为唤醒词)的模型
289 9
|
6月前
|
机器学习/深度学习 语音技术 Python
使用Python实现语音识别与处理模型
使用Python实现语音识别与处理模型
82 0
|
6月前
|
语音技术
长音频集成模型的标点结果既依赖于语音识别也依赖于语音端点检测(VAD)
长音频集成模型的标点结果既依赖于语音识别也依赖于语音端点检测(VAD)【1月更文挑战第11天】【1月更文挑战第52篇】
123 1
|
12月前
|
机器学习/深度学习 人工智能 数据可视化
Spectron: 谷歌的新模型将语音识别与语言模型结合进行端到端的训练
Spectron是谷歌Research和Verily AI开发的新的模型。与传统的语言模型不同,Spectron直接处理频谱图作为输入和输出。该模型消除归纳偏差,增强表征保真度,提高音频生成质量。
83 1
|
API 语音技术 Python
轻声低语,藏在光芒下的语音转文字模型Whisper
轻声低语,藏在光芒下的语音转文字模型Whisper
1243 0
|
达摩院 自然语言处理 测试技术
开源|业界首个应用落地的非自回归端到端语音识别模型,推理效率可提升10倍
近期,阿里巴巴达摩院发布新一代语音识别模型Paraformer,这是业界首个应用落地的非自回归端到端语音识别模型,在推理效率上最高可较传统模型提升10倍,且识别准确率在多个权威数据集上名列第一。 目前,该模型于魔搭社区面向全社会开源,适用语音输入法、智能客服、车载导航、会议纪要等众多场景。
674 0
|
达摩院 自然语言处理 测试技术
直接开源!达摩院公布下一代工业级语音识别模型
直接开源!达摩院公布下一代工业级语音识别模型
717 0
|
机器学习/深度学习 自然语言处理 算法
谷歌的野心:通用语音识别大模型已经支持100+语言
谷歌的野心:通用语音识别大模型已经支持100+语言
227 0