模型:
microsoft/unispeech-sat-base-100h-libri-ft
一个在100小时的Librispeech数据上进行了精调的模型,音频采样率为16kHz。使用该模型时,请确保输入的语音也是以16kHz采样。
该模型的精调数据包括:
Paper: UNISPEECH-SAT: UNIVERSAL SPEECH REPRESENTATION LEARNING WITH SPEAKER AWARE PRE-TRAINING
作者:Sanyuan Chen, Yu Wu, Chengyi Wang, Zhengyang Chen, Zhuo Chen, Shujie Liu, Jian Wu, Yao Qian, Furu Wei, Jinyu Li, Xiangzhan Yu
摘要:自监督学习(SSL)是语音处理中的一个长期目标,因为它利用大规模无标注数据,并避免了大量的人工标注。近年来,在语音识别领域应用自监督学习取得了巨大成功,但在建模说话人特征方面的探索还比较有限。本文旨在改进现有的自监督学习框架,以提高说话人表示学习的性能。我们引入了两种方法来增强无监督说话人信息的提取。首先,我们将多任务学习应用于当前的自监督学习框架,将话语级对比损失与自监督目标函数进行整合。其次,为了更好地进行说话人区分,我们提出了一种话语混合策略进行数据增强,即无监督创建添加了重叠话语的附加话语,并在训练中加以利用。我们将这些方法整合到HuBERT框架中。在SUPERB基准测试中的实验结果表明,该系统在通用表示学习方面取得了最先进的性能,特别是在面向说话人识别的任务中。通过消融实验验证了每种提议方法的有效性。最后,我们将训练数据集扩大到了94,000小时的公开音频数据,并在所有SUPERB任务中实现了进一步的性能改进。
原始模型的链接可以在 https://github.com/microsoft/UniSpeech/tree/main/UniSpeech-SAT 中找到。
要转录音频文件,可以使用该模型作为独立的声学模型,具体如下:
from transformers import Wav2Vec2Processor, UniSpeechSatForCTC from datasets import load_dataset import torch # load model and tokenizer processor = Wav2Vec2Processor.from_pretrained("microsoft/unispeech-sat-base-100h-libri-ft") model = UniSpeechSatForCTC.from_pretrained("microsoft/unispeech-sat-base-100h-libri-ft") # load dummy dataset ds = load_dataset("patrickvonplaten/librispeech_asr_dummy", "clean", split="validation") # tokenize input_values = processor(ds[0]["audio"]["array"], return_tensors="pt", padding="longest").input_values # Batch size 1 # retrieve logits logits = model(input_values).logits # take argmax and decode predicted_ids = torch.argmax(logits, dim=-1) transcription = processor.batch_decode(predicted_ids)
该模型由 cywang 和 patrickvonplaten 贡献。
官方许可证可以在 here 中找到