Linux 中的机器学习:Whisper——自动语音识别系统

简介: Linux 中的机器学习:Whisper——自动语音识别系统

Whisper 是一种自动语音识别 (ASR) 系统,使用从网络收集的 680000 小时多语言和多任务数据进行训练,Whisper 由深度学习和神经网络提供支持,是一种基于 PyTorch 构建的自然语言处理系统,这是免费的开源软件。

安装Whisper

我们用 Ubuntu 22.04 LTS 测试了 Whisper,为避免污染您的系统,我们建议使用 Anaconda 或 Miniconda 安装 Whisper。

使用 wget 下载并安装 Anaconda。

$ wget https://repo.anaconda.com/archive/Anaconda3-2022.10-Linux-x86_64.sh

下载中的截图:

运行shell脚本:

$ bash Anaconda3-2022.10-Linux-x86_64.sh

接受 Anaconda 的许可证,然后通过运行 conda init 来初始化 Anaconda3,要使更改生效,请关闭并重新打开当前的 shell。

创建一个 conda 环境,并激活它。

$ conda create --name whisper
$ conda activate whisper

现在我们准备好使用 pip 安装 Whisper,pip 是 Python 的包管理器。

$ pip install -U openai-whisper

这是运行该命令的输出。

Successfully built openai-whisper
Installing collected packages: tokenizers, huggingface-hub, transformers, openai-whisper
Successfully installed huggingface-hub-0.12.1 openai-whisper-20230124 tokenizers-0.13.2 transformers-4.26.1

运行whisper

whisper 是从命令行运行的,项目中没有花哨的图形用户界面。

该软件带有一系列不同大小的预训练模型,可用于检查 Whisper 的缩放属性:

  • tiny.en
  • tiny
  • base.en
  • base
  • small.en
  • small
  • medium.en
  • medium
  • large-v1
  • large-v2
  • large

我们可以使用在 MP3 文件(也支持 FLAC 和 WAV)上使用媒体模型试用该软件,第一次使用模型时,会下载该模型。

如果我们不指定带有标志的语言,--language软件会自动检测使用最多前 30 秒的语言。我们可以告诉软件语言,避免自动检测的开销,一共支持 100 多种语言。

我们想要使用媒体模型转录 audio.mp3 文件,我们会告诉软件这个文件是英语语言。

$ whisper audio.mp3 --model medium --language English

下图显示正在进行的转录。

我们验证此转录正在使用我们的 GPU。

你可以看到我们的 GPU 有 8GB 的VRAM,请注意,大型模型无法在此 GPU 上运行,因为它需要超过 8GB 的VRAM。

有大量可用的选项,比如$ whisper --help

总结

Whisper 还是蛮不错的,从我们的测试来看,转录的准确性非常接近人类水平的稳健性和准确性。

Whisper 没有图形界面,也不能录制音频。它只能获取现有的音频文件和输出文本文件,Whisper 已经积累了超过 25000 个 GitHub 星,还是非常受欢迎的。

代码仓库地址:https://github.com/openai/whisper

相关实践学习
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
目录
相关文章
|
3天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
18 3
|
3天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
16 2
|
3天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
18 3
|
6天前
|
安全 Linux 数据安全/隐私保护
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。本文介绍了使用 `ls -l` 和 `stat` 命令查找文件所有者的基本方法,以及通过文件路径、通配符和结合其他命令的高级技巧。还提供了实际案例分析和注意事项,帮助读者更好地掌握这一操作。
23 6
|
6天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
30 6
|
7天前
|
机器学习/深度学习 自然语言处理 Linux
Linux 中的机器学习:Whisper——自动语音识别系统
本文介绍了先进的自动语音识别系统 Whisper 在 Linux 环境中的应用。Whisper 基于深度学习和神经网络技术,支持多语言识别,具有高准确性和实时处理能力。文章详细讲解了在 Linux 中安装、配置和使用 Whisper 的步骤,以及其在语音助手、语音识别软件等领域的应用场景。
32 5
|
7天前
|
监控 网络协议 算法
Linux内核优化:提升系统性能与稳定性的策略####
本文深入探讨了Linux操作系统内核的优化策略,旨在通过一系列技术手段和最佳实践,显著提升系统的性能、响应速度及稳定性。文章首先概述了Linux内核的核心组件及其在系统中的作用,随后详细阐述了内存管理、进程调度、文件系统优化、网络栈调整及并发控制等关键领域的优化方法。通过实际案例分析,展示了这些优化措施如何有效减少延迟、提高吞吐量,并增强系统的整体健壮性。最终,文章强调了持续监控、定期更新及合理配置对于维持Linux系统长期高效运行的重要性。 ####
|
6月前
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。
239 14
|
6月前
|
机器学习/深度学习 算法 数据可视化
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
114 1
|
6月前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)