本页介绍了 Transformers 库中的音频模型架构和处理流程。内容涵盖了用于语音识别、音频分类和其他音频相关任务的模型。
有关视觉模型的信息,请参阅视觉模型。
Transformers 库中的音频模型旨在处理音频输入(通常表示为波形或频谱图),并执行各种任务,例如:
该库实现了多种最先进的音频模型架构,其中 Whisper 是最突出的例子之一。
来源:src/transformers/models/whisper/modeling_whisper.py595-627 src/transformers/pipelines/automatic_speech_recognition.py107-177
音频模型通常由以下组件组成:
来源:src/transformers/models/whisper/processing_whisper.py22-100 src/transformers/pipelines/automatic_speech_recognition.py344-450
Whisper 是 Transformers 库中一个著名的音频模型,专为自动语音识别和翻译而设计。它采用了编码器-解码器架构。
来源:src/transformers/models/whisper/modeling_whisper.py595-627 src/transformers/models/whisper/modeling_whisper.py437-551
Whisper 编码器通过卷积层和 Transformer 块处理音频特征(梅尔频谱图)。
来源:src/transformers/models/whisper/modeling_whisper.py595-732
Whisper 解码器接收编码器的输出并自回归地生成文本标记。
来源:src/transformers/models/whisper/modeling_whisper.py437-551
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 是一个大型音频语言模型,能够接受各种音频输入并执行音频分析或直接文本响应。
来源:src/transformers/models/qwen2_audio/modeling_qwen2_audio.py111-138
CLVP(对比语言-语音预训练)专为语音合成和分析而设计。
来源:src/transformers/models/clvp/processing_clvp.py23-93
来源:tests/models/whisper/test_modeling_whisper.py606-616
来源: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 有多种模型大小,每种模型都有不同的性能特点:
| 模型大小 | 参数 | 语言 | 用例 |
|---|---|---|---|
| tiny | 3900万 | 仅限英语/多语言 | 快速转录,准确性有限 |
| base | 7400万 | 仅限英语/多语言 | 准确性更好,速度仍然很快 |
| small | 2.44亿 | 仅限英语/多语言 | 速度和准确性的良好平衡 |
| medium | 7.69亿 | 仅限英语/多语言 | 高准确性,推理速度较慢 |
| large | 15.5亿 | 仅限多语言 | 最高准确性,推理速度最慢 |
来源:tests/models/whisper/test_modeling_whisper.py606-616
音频模型可以与 Transformers 库中的其他组件集成。
来源:src/transformers/pipelines/automatic_speech_recognition.py107-177
Transformers 库中的音频模型为语音识别、音频分类和其他音频相关任务提供了强大的工具。特别是 Whisper 模型,在多语言语音识别和翻译方面提供了最先进的性能。
有关特定音频模型及其功能的更多信息,请参阅 Transformers 库中的模型文档和示例。