语言: 中文
数据集:
- librispeech_asr
标签:
- 音频
- 自动语音识别
- 语音转文本
许可证: apache-2.0
示例:
- 示例标题: OSR样本1
源文件: https://github.com/TheSoundOfAIOSR/rg_speech_to_text/blob/main/data/finetuning-dataset/audiofiles/TA-5.wav?raw=true
- 示例标题: OSR样本2
源文件: https://github.com/TheSoundOfAIOSR/rg_speech_to_text/blob/main/data/finetuning-dataset/audiofiles/TK-17.wav?raw=true
- 示例标题: Librispeech样本1
源文件: https://cdn-media.huggingface.co/speech_samples/sample1.flac
- 示例标题: Librispeech样本2
源文件: https://cdn-media.huggingface.co/speech_samples/sample2.flac
Wav2Vec-OSR
为The Sound Of AI开源研究小组的语音转文本模块微调的Facebook wav2vec2模型。
原始基础模型在16kHz采样的Librispeech 960小时语音数据上进行了预训练和微调。使用该模型时,请确保您的语音输入也以16kHz采样。
论文
作者: Alexei Baevski, Henry Zhou, Abdelrahman Mohamed, Michael Auli
摘要
我们首次证明,仅从语音音频中学习强大表示,然后对转录语音进行微调,可以超越最佳半监督方法,同时概念上更简单。wav2vec 2.0在潜在空间中掩码语音输入,并解决基于潜在表示量化的对比任务,这些表示是联合学习的。使用Librispeech所有标记数据的实验在干净/其他测试集上达到1.8/3.3 WER。当标记数据量减少到一小时时,wav2vec 2.0在使用100倍更少标记数据的情况下,优于100小时子集的先前最先进技术。仅使用十分钟标记数据和53k小时未标记数据的预训练仍能达到4.8/8.2 WER。这证明了在有限标记数据下语音识别的可行性。
原始模型可在以下链接找到:https://github.com/pytorch/fairseq/tree/master/examples/wav2vec#wav2vec-20。
原始模型也可以在Hugging Face公共模型库中找到此处
使用方法
from transformers import Wav2Vec2ForCTC, Wav2Vec2Processor
from datasets import load_dataset
import soundfile as sf
import torch
tokenizer = Wav2Vec2CTCTokenizer.from_pretrained("iamtarun/wav2vec-osr")
processor = Wav2Vec2Processor.from_pretrained("iamtarun/wav2vec-osr")
model = Wav2Vec2ForCTC.from_pretrained("iamtarun/wav2vec-osr")
model = model.eval()
device = "cuda" if torch.cuda.is_available() else "cpu"
model = model.to(device)
def map_to_array(batch):
speech, _ = sf.read(batch["file"])
batch["speech"] = speech
return batch
ds = load_dataset("patrickvonplaten/librispeech_asr_dummy", "clean", split="validation")
ds = ds.map(map_to_array)
input_values = processor(ds["speech"][:2], sampling_rate=rate, padding="longest", return_tensors="pt").input_values.to(device)
logits = model(input_values).logits
predicted_ids = torch.argmax(logits, dim =-1)
transcriptions = tokenizer.decode(predicted_ids[0])
print(transcriptions)