登录  /  注册
博主信息
博文 352
粉丝 0
评论 0
访问量 59546
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
深度解析 Whisper:深度学习驱动下的超智能语音处理神器
霍格沃兹测开学社
原创
278人浏览过

简介

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

Whisper 的优点

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

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

多任务

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

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

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

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

应用

安装

openai-whisper

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

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

ffmpeg

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

MAC

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

Windows

  • 安装:选择版本下载安装:

在这里插入图片描述

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

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

示例用法

命令行

  1. # 将音频的内容转为文本,使用base模型
  2. whisperdemo1.mp3--modelbase--tasktranscribe

命令行常用参数

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

Python 代码

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

模型调用

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

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

总结

  • 了解 Whisper 相关概念。
  • 完成环境安装。
  • 学会基础示例练习。
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学