From 807e8fd4bb30d51d6679656981bebae84d6a8674 Mon Sep 17 00:00:00 2001 From: Hadrien Date: Thu, 6 Nov 2025 21:00:46 +0100 Subject: [PATCH] fix: Ensure the SNAC code is within codebook bounds --- models/orpheus.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/models/orpheus.cpp b/models/orpheus.cpp index 7dbb404..a8cf227 100644 --- a/models/orpheus.cpp +++ b/models/orpheus.cpp @@ -519,6 +519,13 @@ namespace chatllm::orpheus::tts { id = id - 10 - ((vocoder_ids.size() % 7) * 4096); if (id < 0) return; + + // Ensure the SNAC code is within codebook bounds + if (id >= codec_config.codebook_size) { + ggml::log(GGML_LOG_LEVEL_WARN, "SNAC code %d exceeds codebook_size %d, clamping with modulo\n", + id, codec_config.codebook_size); + id = id % codec_config.codebook_size; + } pcm_samples.clear();