模型:

microsoft/speecht5_asr

英文

SpeechT5(ASR任务)

SpeechT5模型是在LibriSpeech上进行自动语音识别(语音转文本)进行微调的。

该模型是由Junyi Ao、Rui Wang、Long Zhou、Chengyi Wang、Shuo Ren、Yu Wu、Shujie Liu、Tom Ko、Qing Li、Yu Zhang、Zhihua Wei、Yao Qian和Jinyu Li于 SpeechT5: Unified-Modal Encoder-Decoder Pre-Training for Spoken Language Processing 年提出的。

SpeechT5首次发布于 this repository original weights

使用的许可证是 MIT

免责声明:发布SpeechT5模型的团队没有为此模型编写模型卡片,因此这个模型卡片是由Hugging Face团队编写的。

模型描述

受到T5(Text-To-Text Transfer Transformer)在预训练自然语言处理模型中的成功启发,我们提出了一个统一的SpeechT5框架,探索了编码器-解码器的预训练方法,用于自我监督的语音/文本表示学习。SpeechT5框架包括一个共享的编码器-解码器网络和六个模态特定(语音/文本)的预处理网络和后处理网络。通过预处理网络对输入的语音/文本进行预处理,共享的编码器-解码器网络对序列转换进行建模,然后后处理网络根据解码器的输出以语音/文本的方式生成输出。

通过利用大规模的未标记语音和文本数据,我们预训练SpeechT5以学习统一的模态表示,希望改进对语音和文本的建模能力。为了将文本和语音信息对齐到这个统一的语义空间中,我们提出了一种交叉模态向量量化方法,该方法将语音/文本状态与潜在单元随机混合作为编码器和解码器之间的接口。

广泛的评估结果表明,所提出的SpeechT5框架在各种口语语言处理任务上具有优越性,包括自动语音识别、语音合成、语音翻译、语音转换、语音增强和说话人识别。

使用目的和限制

您可以将该模型用于自动语音识别。查看 model hub 以寻找您感兴趣的任务的微调版本。

目前,特征提取器和模型均支持PyTorch。

引文

BibTeX:

@inproceedings{ao-etal-2022-speecht5,
    title = {{S}peech{T}5: Unified-Modal Encoder-Decoder Pre-Training for Spoken Language Processing},
    author = {Ao, Junyi and Wang, Rui and Zhou, Long and Wang, Chengyi and Ren, Shuo and Wu, Yu and Liu, Shujie and Ko, Tom and Li, Qing and Zhang, Yu and Wei, Zhihua and Qian, Yao and Li, Jinyu and Wei, Furu},
    booktitle = {Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers)},
    month = {May},
    year = {2022},
    pages={5723--5738},
}

如何开始使用该模型

使用下面的代码将16 kHz的单声道语音波形转换为文本。

from transformers import SpeechT5Processor, SpeechT5ForSpeechToText
from datasets import load_dataset

dataset = load_dataset("hf-internal-testing/librispeech_asr_demo", "clean", split="validation")
dataset = dataset.sort("id")
sampling_rate = dataset.features["audio"].sampling_rate
example_speech = dataset[0]["audio"]["array"]

processor = SpeechT5Processor.from_pretrained("microsoft/speecht5_asr")
model = SpeechT5ForSpeechToText.from_pretrained("microsoft/speecht5_asr")

inputs = processor(audio=example_speech, sampling_rate=sampling_rate, return_tensors="pt")

predicted_ids = model.generate(**inputs, max_length=100)

transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)
print(transcription[0])