pip install torch accelerate torchaudio datasets
pip install --upgrade transformerstransformers >= 4.30 installed. If the 4.30 version
is not yet available on PyPI make sure to install transformers from
source:pip install git+https://github.com/huggingface/transformers.gitdatasets. Make sure that the audio data is sampled to 16000 kHz.1from datasets import load_dataset, Audio
2
3# English
4stream_data = load_dataset("mozilla-foundation/common_voice_13_0", "en", split="test", streaming=True)
5stream_data = stream_data.cast_column("audio", Audio(sampling_rate=16000))
6en_sample = next(iter(stream_data))["audio"]["array"]
7
8# French
9stream_data = load_dataset("mozilla-foundation/common_voice_13_0", "fr", split="test", streaming=True)
10stream_data = stream_data.cast_column("audio", Audio(sampling_rate=16000))
11fr_sample = next(iter(stream_data))["audio"]["array"]1from transformers import Wav2Vec2ForCTC, AutoProcessor
2import torch
3
4model_id = "facebook/mms-1b-fl102"
5
6processor = AutoProcessor.from_pretrained(model_id)
7model = Wav2Vec2ForCTC.from_pretrained(model_id)1inputs = processor(en_sample, sampling_rate=16_000, return_tensors="pt")
2
3with torch.no_grad():
4 outputs = model(**inputs).logits
5
6ids = torch.argmax(outputs, dim=-1)[0]
7transcription = processor.decode(ids)
8# 'joe keton disapproved of films and buster also had reservations about the media'load_adapter() function for the model and set_target_lang() for the tokenizer. We pass the target language as an input - "fra" for French.1processor.tokenizer.set_target_lang("fra")
2model.load_adapter("fra")
3
4inputs = processor(fr_sample, sampling_rate=16_000, return_tensors="pt")
5
6with torch.no_grad():
7 outputs = model(**inputs).logits
8
9ids = torch.argmax(outputs, dim=-1)[0]
10transcription = processor.decode(ids)
11# "ce dernier est volé tout au long de l'histoire romaine"processor.tokenizer.vocab.keys()@article{pratap2023mms,
title={Scaling Speech Technology to 1,000+ Languages},
author={Vineel Pratap and Andros Tjandra and Bowen Shi and Paden Tomasello and Arun Babu and Sayani Kundu and Ali Elkahky and Zhaoheng Ni and Apoorv Vyas and Maryam Fazel-Zarandi and Alexei Baevski and Yossi Adi and Xiaohui Zhang and Wei-Ning Hsu and Alexis Conneau and Michael Auli},
journal={arXiv},
year={2023}
}