Views
No views yet
transformers >= 4.53.0 and above, you can now run Kyutai STT natively!pip install -U transformers1import torch
2from datasets import load_dataset, Audio
3from transformers import KyutaiSpeechToTextProcessor, KyutaiSpeechToTextForConditionalGeneration
4
5# 1. load the model and the processor
6torch_device = "cuda" if torch.cuda.is_available() else "cpu"
7model_id = "kyutai/stt-2.6b-en_fr-trfs"
8
9processor = KyutaiSpeechToTextProcessor.from_pretrained(model_id)
10model = KyutaiSpeechToTextForConditionalGeneration.from_pretrained(model_id, device_map=torch_device, torch_dtype="auto")
11
12# 2. load audio samples
13ds = load_dataset(
14 "hf-internal-testing/librispeech_asr_dummy", "clean", split="validation"
15)
16ds = ds.cast_column("audio", Audio(sampling_rate=24000))
17
18# 3. prepare the model inputs
19inputs = processor(
20 ds[0]["audio"]["array"],
21)
22inputs.to(torch_device)
23
24# 4. infer the model
25output_tokens = model.generate(**inputs)
26
27# 5. decode the generated tokens
28print(processor.batch_decode(output_tokens, skip_special_tokens=True))1import torch
2from datasets import load_dataset, Audio
3from transformers import KyutaiSpeechToTextProcessor, KyutaiSpeechToTextForConditionalGeneration
4
5# 1. load the model and the processor
6torch_device = "cuda" if torch.cuda.is_available() else "cpu"
7model_id = "kyutai/stt-2.6b-en_fr-trfs"
8
9processor = KyutaiSpeechToTextProcessor.from_pretrained(model_id)
10model = KyutaiSpeechToTextForConditionalGeneration.from_pretrained(model_id, device_map=torch_device, torch_dtype="auto")
11
12# 2. load audio samples
13ds = load_dataset(
14 "hf-internal-testing/librispeech_asr_dummy", "clean", split="validation"
15)
16ds = ds.cast_column("audio", Audio(sampling_rate=24000))
17
18# 3. prepare the model inputs
19audio_arrays = [ds[i]["audio"]["array"] for i in range(4)]
20inputs = processor(audio_arrays, return_tensors="pt", padding=True)
21inputs = inputs.to(torch_device)
22
23# 4. infer the model
24output_tokens = model.generate(**inputs)
25
26# 5. decode the generated tokens
27decoded_outputs = processor.batch_decode(output_tokens, skip_special_tokens=True)
28for output in decoded_outputs:
29 print(output)kyutai/stt-1b-en_fr, an English and French model with ~1B parameters, a 0.5 second delay, and a semantic VAD.kyutai/stt-2.6b-en, an English-only model with ~2.6B parameters and a 2.5 second delay.kyutai/stt-1b-en_fr, English for kyutai/stt-2.6b-enkyutai/stt-2.6b-en and kyutai/stt-1b-en_fr, we use an audio collection of 2.5 million hours of publicly available audio content.
For this dataset, we obtained synthetic transcripts by running whisper-timestamped.kyutai/stt-2.6b-en:kyutai/stt-1b-en_fr: