Voxtral TTS: decorative single quotes can add hallucinated speech
Voxtral TTS: decorative single quotes can add hallucinated speech
Environment
- Hardware: Apple M5 Pro (
arm64) - OS: macOS 26.6.2 (build 25G83)
- Python: 3.12.14
mlx-audio: 0.5.0mlx: 0.32.2mlx-metal: 0.32.2mistral-common: 1.11.7- Model:
mlx-community/Voxtral-4B-TTS-2603-mlx-bf16 - Model revision:
dd85c02adbae551f5bb29ded35ee60ccdfb90927 - Voice:
neutral_male - Seed:
42 max_tokens:6144- Non-streaming
model.generate()call
Reproduction
import wave
import mlx.core as mx
import numpy as np
from mlx_audio.tts.utils import load_model
model = load_model(
"mlx-community/Voxtral-4B-TTS-2603-mlx-bf16",
revision="dd85c02adbae551f5bb29ded35ee60ccdfb90927",
)
def render(text: str, path: str) -> None:
mx.random.seed(42)
results = list(
model.generate(text=text, voice="neutral_male", max_tokens=6144)
)
audio = np.concatenate([np.asarray(result.audio) for result in results])
pcm = (np.clip(audio, -1.0, 1.0) * 32767.0).astype("<i2")
with wave.open(path, "wb") as out:
out.setnchannels(1)
out.setsampwidth(2)
out.setframerate(results[0].sample_rate)
out.writeframes(pcm.tobytes())
print(len(audio) / results[0].sample_rate, results[0].token_count)
render("'Nothing taught by force remains in the mind.'", "quoted.wav")
render("Nothing taught by force remains in the mind.", "unquoted.wav")Observed
On this machine, the quoted input produces 50 audio tokens / 4.00 s. Local Whisper large-v3-turbo transcribes it as:
Nothing taught by force remains in the mind and not twice.The extra clause is audible. The only text change in the comparison control is removal of the two outer single quotation marks. That control produces 36 audio tokens / 2.88 s and transcribes as the intended sentence exactly:
Nothing taught by force remains in the mind.Expected
Decorative outer quotation marks should not add speech. Both calls should speak the requested sentence once.
Scope note
I also investigated a separate long-utterance loudness problem, but a generic 39.2-second control did not reproduce it strongly enough to include in this report. This issue is intentionally limited to the verified quote-repetition case. Please test the same reproduction against the 4-bit checkpoint as well.
Source: Blaizzy/mlx-audio