菜单

音频模型

相关源文件

本页介绍了 Transformers 库中的音频模型架构和处理流程。内容涵盖了用于语音识别、音频分类和其他音频相关任务的模型。

有关视觉模型的信息,请参阅视觉模型

概述

Transformers 库中的音频模型旨在处理音频输入(通常表示为波形或频谱图),并执行各种任务,例如:

  1. 自动语音识别 (ASR) - 将语音转换为文本
  2. 音频分类 - 识别声音、说话人或其他音频特征
  3. 语音到语音翻译 - 将一种语言的语音翻译成另一种语言

该库实现了多种最先进的音频模型架构,其中 Whisper 是最突出的例子之一。

来源:src/transformers/models/whisper/modeling_whisper.py595-627 src/transformers/pipelines/automatic_speech_recognition.py107-177

核心音频模型组件

音频模型通常由以下组件组成:

  1. 特征提取器:将原始音频波形转换为特征(通常是梅尔频谱图)
  2. 编码器:处理音频特征以提取有意义的表示
  3. 解码器:根据编码的表示生成输出(例如,文本转录)
  4. 处理器:结合特征提取器和分词器进行端到端处理

来源:src/transformers/models/whisper/processing_whisper.py22-100 src/transformers/pipelines/automatic_speech_recognition.py344-450

Whisper 模型架构

Whisper 是 Transformers 库中一个著名的音频模型,专为自动语音识别和翻译而设计。它采用了编码器-解码器架构。

来源:src/transformers/models/whisper/modeling_whisper.py595-627 src/transformers/models/whisper/modeling_whisper.py437-551

Whisper 编码器

Whisper 编码器通过卷积层和 Transformer 块处理音频特征(梅尔频谱图)。

来源:src/transformers/models/whisper/modeling_whisper.py595-732

Whisper 解码器

Whisper 解码器接收编码器的输出并自回归地生成文本标记。

来源:src/transformers/models/whisper/modeling_whisper.py437-551

Whisper 处理流程

Whisper 处理流程结合了特征提取和分词,用于端到端的音频处理。

来源:src/transformers/models/whisper/processing_whisper.py22-100

特征提取

特征提取器将原始音频波形转换为可由模型处理的梅尔频谱图。

来源:src/transformers/pipelines/automatic_speech_recognition.py344-450

分词

分词器处理输入提示和输出转录的文本。

来源:src/transformers/models/whisper/tokenization_whisper.py210-447

自动语音识别流程

自动语音识别 (ASR) 流程提供了一个用于转录音频的高级接口。

来源:src/transformers/pipelines/automatic_speech_recognition.py107-177

流程特性

ASR 流程支持多种特性:

功能描述
分块将长音频分割成块进行处理
时间戳返回词或字符级别的时间戳
语言检测自动检测或指定语言
翻译将语音翻译成另一种语言
批处理高效处理多个音频文件

来源:src/transformers/pipelines/automatic_speech_recognition.py214-342

时间戳生成

Whisper 可以生成时间戳,将文本与原始音频对齐。

来源:src/transformers/models/whisper/generation_whisper.py223-344

其他音频模型

除了 Whisper,Transformers 库还包含其他音频模型:

Qwen2Audio

Qwen2Audio 是一个大型音频语言模型,能够接受各种音频输入并执行音频分析或直接文本响应。

来源:src/transformers/models/qwen2_audio/modeling_qwen2_audio.py111-138

CLVP

CLVP(对比语言-语音预训练)专为语音合成和分析而设计。

来源:src/transformers/models/clvp/processing_clvp.py23-93

使用音频模型

加载和使用 Whisper

来源:tests/models/whisper/test_modeling_whisper.py606-616

使用 ASR 流程

来源:tests/pipelines/test_pipelines_automatic_speech_recognition.py168-206

高级特性

多语言支持

Whisper 支持多种语言的转录和翻译。

来源:src/transformers/models/whisper/tokenization_whisper.py380-438

长音频分块

为了处理长音频文件,ASR 流程支持分块。

来源:src/transformers/pipelines/automatic_speech_recognition.py344-428

模型变体和性能

Whisper 有多种模型大小,每种模型都有不同的性能特点:

模型大小参数语言用例
tiny3900万仅限英语/多语言快速转录,准确性有限
base7400万仅限英语/多语言准确性更好,速度仍然很快
small2.44亿仅限英语/多语言速度和准确性的良好平衡
medium7.69亿仅限英语/多语言高准确性,推理速度较慢
large15.5亿仅限多语言最高准确性,推理速度最慢

来源:tests/models/whisper/test_modeling_whisper.py606-616

与其他组件的集成

音频模型可以与 Transformers 库中的其他组件集成。

来源:src/transformers/pipelines/automatic_speech_recognition.py107-177

结论

Transformers 库中的音频模型为语音识别、音频分类和其他音频相关任务提供了强大的工具。特别是 Whisper 模型,在多语言语音识别和翻译方面提供了最先进的性能。

有关特定音频模型及其功能的更多信息,请参阅 Transformers 库中的模型文档和示例。