fixie-ai/ultravox-v0_6-qwen-3-32b

Model

Model Card for Ultravox

12

10 commits

2 linked in READMEs

updated Sep 12, 2025

See the code

README

Model Card for Ultravox

Ultravox is a multimodal Speech LLM built around a pretrained LLM (Llama, Gemma, Qwen, etc) and a speech encoder (whisper-large-v3-turbo) backbone.

See https://ultravox.ai for the GitHub repo and more information.

Model Details

Model Description

Ultravox is a multimodal model that can consume both speech and text as input (e.g., a text system prompt and voice user message). The input to the model is given as a text prompt with a special <|audio|> pseudo-token, and the model processor will replace this magic token with embeddings derived from the input audio. Using the merged embeddings as input, the model will then generate output text as usual.

In v0.6 series, ultravox models are trained on expanded Hindi speech data, resulting in significantly improved speech understanding performance on Hindi and modest degradation on other languages. Additionally, the v0.6 models are also trained on noise datasets for improved noise robustness and the ability to output a special string ((noise)) if the input audio is too noisy or doesn't contain clear speech.

In a future revision of Ultravox, we plan to expand the token vocabulary to support generation of semantic and acoustic audio tokens, which can then be fed to a vocoder to produce voice output. No preference tuning has been applied to this revision of the model.

  • Developed by: Fixie.ai
  • License: MIT

Model Sources

Usage

Think of the model as an LLM that can also hear and understand speech. As such, it can be used as a voice agent, and also to do speech-to-speech translation, analysis of spoken audio, etc.

To use the model, try the following:

# pip install transformers peft librosa

import transformers
import numpy as np
import librosa

pipe = transformers.pipeline(model='fixie-ai/ultravox-v0_6-llama-3_1-8b', trust_remote_code=True)

path = "<path-to-input-audio>"  # TODO: pass the audio here
audio, sr = librosa.load(path, sr=16000)


turns = [
  {
    "role": "system",
    "content": "You are a friendly and helpful character. You love to answer questions for people."
  },
]
pipe({'audio': audio, 'turns': turns, 'sampling_rate': sr}, max_new_tokens=30)

Training Details

The model uses a pre-trained LLM (Llama, Gemma, Qwen, etc) backbone as well as the encoder part of whisper-large-v3-turbo.

The multi-modal adapter is trained, the Whisper encoder is fine-tuned, and the LLM is kept frozen.

We use a knowledge-distillation loss where Ultravox is trying to match the logits of the text-based LLM backbone.

Training Data

The training dataset is a mix of ASR datasets, extended with continuations generated by Llama 3.1 8B, speech translation datasets, and noise datasets.

Training Procedure

Supervised speech instruction finetuning via knowledge-distillation. For more info, see training code in Ultravox repo.

Training Hyperparameters

  • Training regime: BF16 mixed precision training
  • Hardware used: 8x H100 GPUs

Evaluation

Evaluations are conducted on covost2 (speech translation measured in BLEU), fleurs and ultravox_calls (speech recognition measured in WER), big bench audio (audio reasoning measured in accuracy), as well as musan and ultravox_unintelligible (noise/unintelligible speech detection measured in recall).

v0_5-llama-3_1-8bv0_6-llama-3_1-8bv0_5-llama-3_3-70bv0_6-llama-3_3-70bv0_6-gemma-3-27bv0_6-qwen-3-32b
covost2 en_ar12.9012.9420.2118.9222.6816.91
covost2 en_ca31.5131.4740.0138.7339.6733.63
covost2 en_de28.6028.6634.5333.6934.7631.09
covost2 es_en40.4140.3643.2941.3941.1141.20
covost2 ru_en42.2242.4148.9943.7349.2947.08
covost2 zh_en16.9717.2421.3717.8120.8822.24
librispeech2.042.092.092.552.732.88
fleurs cmn_hans_cn12.1112.2511.2013.4912.5612.10
fleurs de_de6.667.565.267.144.866.83
fleurs es_4195.745.834.536.064.685.14
fleurs hi_in29.7410.3418.9011.438.4011.78
ultravox_calls (asr)22.3120.0119.5616.5119.5628.67
big bench audio68.0669.7090.1585.4883.8484.22
musan_noise0.0097.450.0098.5199.5899.78
ultravox_unintelligible0.0045.780.0050.0066.8464.21
audio-text-to-text
custom_code
feature-extraction
safetensors
transformers
ultravox

Contributors

zqhuang

9 commits

fixie-ai/ultravox-v0_6-qwen-3-32b

Model

Model Card for Ultravox

12

10 commits

2 linked in READMEs

updated Sep 12, 2025

See the code

README

Model Card for Ultravox

Ultravox is a multimodal Speech LLM built around a pretrained LLM (Llama, Gemma, Qwen, etc) and a speech encoder (whisper-large-v3-turbo) backbone.

See https://ultravox.ai for the GitHub repo and more information.

Model Details

Model Description

Ultravox is a multimodal model that can consume both speech and text as input (e.g., a text system prompt and voice user message). The input to the model is given as a text prompt with a special <|audio|> pseudo-token, and the model processor will replace this magic token with embeddings derived from the input audio. Using the merged embeddings as input, the model will then generate output text as usual.

In v0.6 series, ultravox models are trained on expanded Hindi speech data, resulting in significantly improved speech understanding performance on Hindi and modest degradation on other languages. Additionally, the v0.6 models are also trained on noise datasets for improved noise robustness and the ability to output a special string ((noise)) if the input audio is too noisy or doesn't contain clear speech.

In a future revision of Ultravox, we plan to expand the token vocabulary to support generation of semantic and acoustic audio tokens, which can then be fed to a vocoder to produce voice output. No preference tuning has been applied to this revision of the model.

  • Developed by: Fixie.ai
  • License: MIT

Model Sources

Usage

Think of the model as an LLM that can also hear and understand speech. As such, it can be used as a voice agent, and also to do speech-to-speech translation, analysis of spoken audio, etc.

To use the model, try the following:

# pip install transformers peft librosa

import transformers
import numpy as np
import librosa

pipe = transformers.pipeline(model='fixie-ai/ultravox-v0_6-llama-3_1-8b', trust_remote_code=True)

path = "<path-to-input-audio>"  # TODO: pass the audio here
audio, sr = librosa.load(path, sr=16000)


turns = [
  {
    "role": "system",
    "content": "You are a friendly and helpful character. You love to answer questions for people."
  },
]
pipe({'audio': audio, 'turns': turns, 'sampling_rate': sr}, max_new_tokens=30)

Training Details

The model uses a pre-trained LLM (Llama, Gemma, Qwen, etc) backbone as well as the encoder part of whisper-large-v3-turbo.

The multi-modal adapter is trained, the Whisper encoder is fine-tuned, and the LLM is kept frozen.

We use a knowledge-distillation loss where Ultravox is trying to match the logits of the text-based LLM backbone.

Training Data

The training dataset is a mix of ASR datasets, extended with continuations generated by Llama 3.1 8B, speech translation datasets, and noise datasets.

Training Procedure

Supervised speech instruction finetuning via knowledge-distillation. For more info, see training code in Ultravox repo.

Training Hyperparameters

  • Training regime: BF16 mixed precision training
  • Hardware used: 8x H100 GPUs

Evaluation

Evaluations are conducted on covost2 (speech translation measured in BLEU), fleurs and ultravox_calls (speech recognition measured in WER), big bench audio (audio reasoning measured in accuracy), as well as musan and ultravox_unintelligible (noise/unintelligible speech detection measured in recall).

v0_5-llama-3_1-8bv0_6-llama-3_1-8bv0_5-llama-3_3-70bv0_6-llama-3_3-70bv0_6-gemma-3-27bv0_6-qwen-3-32b
covost2 en_ar12.9012.9420.2118.9222.6816.91
covost2 en_ca31.5131.4740.0138.7339.6733.63
covost2 en_de28.6028.6634.5333.6934.7631.09
covost2 es_en40.4140.3643.2941.3941.1141.20
covost2 ru_en42.2242.4148.9943.7349.2947.08
covost2 zh_en16.9717.2421.3717.8120.8822.24
librispeech2.042.092.092.552.732.88
fleurs cmn_hans_cn12.1112.2511.2013.4912.5612.10
fleurs de_de6.667.565.267.144.866.83
fleurs es_4195.745.834.536.064.685.14
fleurs hi_in29.7410.3418.9011.438.4011.78
ultravox_calls (asr)22.3120.0119.5616.5119.5628.67
big bench audio68.0669.7090.1585.4883.8484.22
musan_noise0.0097.450.0098.5199.5899.78
ultravox_unintelligible0.0045.780.0050.0066.8464.21
audio-text-to-text
custom_code
feature-extraction
safetensors
transformers
ultravox

Contributors

zqhuang

9 commits