s2t-small-librispeech-asr
is a Speech to Text Transformer (S2T) model trained for automatic speech recognition (ASR).
The S2T model was proposed in
this paper
and released in
this repository
Model description
S2T is an end-to-end sequence-to-sequence transformer model. It is trained with standard
autoregressive cross-entropy loss and generates the transcripts autoregressively.
Intended uses & limitations
This model can be used for end-to-end speech recognition (ASR).
See the
model hub
to look for other S2T checkpoints.
How to use
As this a standard sequence to sequence transformer model, you can use the
generate
method to generate the
transcripts by passing the speech features to the model.
Note: The
Speech2TextProcessor
object uses
torchaudio
to extract the
filter bank features. Make sure to install the
torchaudio
package before running this example.
Note: The feature extractor depends on
torchaudio
and the tokenizer depends on
sentencepiece
so be sure to install those packages before running the examples.
You could either install those as extra speech dependancies with
pip install transformers"[speech, sentencepiece]"
or install the packages seperatly
with
pip install torchaudio sentencepiece
.
The following script shows how to evaluate this model on the
LibriSpeech
"clean"
and
"other"
test dataset.
from datasets import load_dataset
from evaluate import load
from transformers import Speech2TextForConditionalGeneration, Speech2TextProcessor
librispeech_eval = load_dataset("librispeech_asr", "clean", split="test") # change to "other" for other test dataset
wer = load("wer")
model = Speech2TextForConditionalGeneration.from_pretrained("facebook/s2t-small-librispeech-asr").to("cuda")
processor = Speech2TextProcessor.from_pretrained("facebook/s2t-small-librispeech-asr", do_upper_case=True)
defmap_to_pred(batch):
features = processor(batch["audio"]["array"], sampling_rate=16000, padding=True, return_tensors="pt")
input_features = features.input_features.to("cuda")
attention_mask = features.attention_mask.to("cuda")
gen_tokens = model.generate(input_features=input_features, attention_mask=attention_mask)
batch["transcription"] = processor.batch_decode(gen_tokens, skip_special_tokens=True)[0]
return batch
result = librispeech_eval.map(map_to_pred, remove_columns=["audio"])
print("WER:", wer.compute(predictions=result["transcription"], references=result["text"]))
Result (WER)
:
"clean"
"other"
4.3
9.0
Training data
The S2T-SMALL-LIBRISPEECH-ASR is trained on
LibriSpeech ASR Corpus
, a dataset consisting of
approximately 1000 hours of 16kHz read English speech.
Training procedure
Preprocessing
The speech data is pre-processed by extracting Kaldi-compliant 80-channel log mel-filter bank features automatically from
WAV/FLAC audio files via PyKaldi or torchaudio. Further utterance-level CMVN (cepstral mean and variance normalization)
is applied to each example.
The texts are lowercased and tokenized using SentencePiece and a vocabulary size of 10,000.
Training
The model is trained with standard autoregressive cross-entropy loss and using
SpecAugment
.
The encoder receives speech features, and the decoder generates the transcripts autoregressively.
BibTeX entry and citation info
@inproceedings{wang2020fairseqs2t,
title = {fairseq S2T: Fast Speech-to-Text Modeling with fairseq},
author = {Changhan Wang and Yun Tang and Xutai Ma and Anne Wu and Dmytro Okhonko and Juan Pino},
booktitle = {Proceedings of the 2020 Conference of the Asian Chapter of the Association for Computational Linguistics (AACL): System Demonstrations},
year = {2020},
}
Runs of facebook s2t-small-librispeech-asr on huggingface.co
12.5K
Total runs
219
24-hour runs
358
3-day runs
485
7-day runs
6.3K
30-day runs
More Information About s2t-small-librispeech-asr huggingface.co Model
More s2t-small-librispeech-asr license Visit here:
s2t-small-librispeech-asr huggingface.co is an AI model on huggingface.co that provides s2t-small-librispeech-asr's model effect (), which can be used instantly with this facebook s2t-small-librispeech-asr model. huggingface.co supports a free trial of the s2t-small-librispeech-asr model, and also provides paid use of the s2t-small-librispeech-asr. Support call s2t-small-librispeech-asr model through api, including Node.js, Python, http.
s2t-small-librispeech-asr huggingface.co is an online trial and call api platform, which integrates s2t-small-librispeech-asr's modeling effects, including api services, and provides a free online trial of s2t-small-librispeech-asr, you can try s2t-small-librispeech-asr online for free by clicking the link below.
facebook s2t-small-librispeech-asr online free url in huggingface.co:
s2t-small-librispeech-asr is an open source model from GitHub that offers a free installation service, and any user can find s2t-small-librispeech-asr on GitHub to install. At the same time, huggingface.co provides the effect of s2t-small-librispeech-asr install, users can directly use s2t-small-librispeech-asr installed effect in huggingface.co for debugging and trial. It also supports api for free installation.
s2t-small-librispeech-asr install url in huggingface.co: