掘金 人工智能 前天 12:03
通过huggingface学习【自动语音识别(Automatic Speech Recognition, ASR)】
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文介绍了自动语音识别(ASR)技术,即语音转文本的技术,及其广泛的应用。ASR技术在虚拟语音助手、字幕生成等领域发挥重要作用。文章探讨了多语言ASR模型的优势,并提供了使用不同库和API进行ASR推理的示例。此外,文章还强调了利用预训练模型进行微调的可能性,以及HF Mirror Whisper活动对ASR技术发展的推动作用,最后,文章还列出了相关的兼容库和资源。

🗣️ 自动语音识别(ASR)是将音频转录为文本的技术,也称为语音转文本(STT)。该技术广泛应用于各种场景,例如语音用户界面。

📱 ASR技术在诸多场景中都有应用,比如:虚拟语音助手,通过识别语音命令来执行任务,例如拨打电话、回答问题或安排会议。以及字幕生成,为直播或录制视频生成自动字幕,提高内容可访问性。

🌍 多语言ASR模型能够将包含多种语言的音频输入转换为转录文本。Whisper模型就是一个例子,它能够处理100多种语言。用户可以使用Hub上的模型页面小部件在浏览器中测试模型,或者通过无服务器推理API将任何模型用作服务。文章提供了使用Python和JavaScript进行ASR推理的示例,并支持transformers、speechbrain、NeMo和espnet等库。

🛠️ 现有的预训练模型,如Whisper、Wav2Vec2-MMS和HuBERT,允许用户在特定语言上进行微调(迁移学习),而无需大量数据。OpenAI的Whisper模型经过100多种语言和400万小时语音的训练。文章还提到了HF Mirror Whisper活动,该活动促进了ASR技术的民主化,并积累了实用的协作知识。

自动语音识别

任务

自动语音识别(Automatic Speech Recognition, ASR),又称语音转文本(Speech to Text, STT),是将给定音频转录为文本的任务。其应用广泛,例如语音用户界面。

关于自动语音识别

用例
    虚拟语音助手
    许多边缘设备嵌入了虚拟助手以更好地与终端用户交互。这些助手依赖 ASR 模型识别不同的语音命令来执行各种任务。例如,你可以让手机拨打电话、询问常规问题或安排会议。字幕生成
    字幕生成模型通过转录将来自源的音频作为输入,为直播或录制视频生成自动字幕。这有助于提高内容的可访问性。例如,观看包含非母语语言的视频时,观众可以依靠字幕理解内容。在在线课堂环境中,它还可以帮助提高信息保留率,使观众在阅读时更快地吸收知识并做笔记。
任务变体

多语言 ASR
多语言 ASR 模型可以将包含多种语言的音频输入转换为转录文本。一些多语言 ASR 模型包含语言识别模块以提高性能。
多语言 ASR 的使用已变得流行,仅用一个模型处理所有语言的想法可以简化生产流程。以 Whisper 为例,它展示了如何用单个模型处理 100 多种语言。

推理

Hub 包含超过 17,000 个 ASR 模型,您可以使用模型页面小部件在浏览器中立即测试这些模型。您还可以通过无服务器推理 API 将任何模型用作服务。我们还通过无服务器推理 API 支持 transformers、speechbrain、NeMo 和 espnet 等库。以下是运行推理的简单代码片段:

python

运行

# Python示例(使用requests库)import jsonimport requestsheaders = {"Authorization": f"Bearer {API_TOKEN}"}API_URL = "https://router.hf-mirror.com/hf-inference/models/openai/whisper-large-v3"def query(filename):    with open(filename, "rb") as f:        data = f.read()    response = requests.request("POST", API_URL, headers=headers, data=data)    return json.loads(response.content.decode("utf-8"))data = query("sample1.flac")

您也可以使用 JavaScript 客户端 huggingface.js 通过无服务器推理 API 转录音频:

javascript

// JavaScript示例(使用huggingface.js)import { InferenceClient } from "@huggingface/inference";const inference = new InferenceClient(HF_TOKEN);await inference.automaticSpeechRecognition({    data: await (await fetch("sample.flac")).blob(),    model: "openai/whisper-large-v3",});

对于与 transformers 兼容的模型,如 Whisper、Wav2Vec2 和 HuBERT,您还可以使用该库按如下方式运行推理:

python

运行

# Python示例(使用transformers库)# 先安装库:pip install --upgrade transformersfrom transformers import pipelinepipe = pipeline("automatic-speech-recognition", "openai/whisper-large-v3")result = pipe("sample.flac")# 输出:{'text': "GOING ALONG SLUSHY COUNTRY ROADS AND SPEAKING TO DAMP AUDIENCES IN DRAUGHTY SCHOOL ROOMS DAY AFTER DAY FOR A FORTNIGHT HE'LL HAVE TO PUT IN AN APPEARANCE AT SOME PLACE OF WORSHIP ON SUNDAY MORNING AND HE CAN COME TO US IMMEDIATELY AFTERWARDS"}

使用自有数据解决 ASR 问题

我们有一个好消息!您可以在特定语言上对基础语音模型进行微调(迁移学习),而无需大量数据。现有的预训练模型包括 Whisper、Wav2Vec2-MMS 和 HuBERT。OpenAI 的 Whisper 模型是一个大型多语言模型,经过 100 多种语言和 400 万小时语音的训练。
以下详细博客文章展示了如何在带标签的数据上对预训练的 Whisper 检查点进行 ASR 微调。通过正确的数据和策略,您甚至可以在免费的 Google Colab 实例上微调高性能模型!建议阅读博客文章了解更多信息!

HF Mirror Whisper 活动

2022 年 12 月,超过 450 名参与者合作、微调和共享了 600 多个 Whisper ASR 模型,涵盖 100 多种不同语言。您可以在活动的语音识别排行榜上比较这些模型。
这些活动有助于实现所有语言(包括低资源语言)的 ASR 民主化。除了训练好的模型外,该活动还有助于积累实用的协作知识。

兼容库

相关资源

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

自动语音识别 ASR 语音转文本 Whisper
相关文章