You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Higgs_Audio_TTS voice cloning not working and Higgs TTS generation reached max_tokens before EOC (Arabic, CPU) #471
when i use this model with backend cpu sometime it work , if the TTS script is small meaning less than 2 minutes.
but the problem it doesn't even use reference voice in voice cloning instead it use different and random voices and i noticed it switch into different voice after whatever limit i set in --text-chunk-size 300
so how i make it use the reference voice for voice cloning
also if i removed --session-option "higgs_audio.mem_saver=true" \ and --text-chunk-size 300 \ i get Higgs TTS generation reached max_tokens before EOC
and if script is long +5 minutes i get EOC so how to fix that
changed the title [-]Higgs_Audio_TTS voice cloning not working and Higgs TTS generation reached max_tokens before EOC[/-][+]Higgs_Audio_TTS voice cloning not working and Higgs TTS generation reached max_tokens before EOC (CPU)[/+]on Sep 6, 2026
@user6654126 Thanks for the detailed report! I'll reproduce and look into the issue. Quick question: Have you tested english intput?
I have but i am not interested in using it for English as there are better alternative which is BreezeTTS 2 and i used it successfully using cuda and it's perfect in English so i want the best tts model in Arabic so that's why I am using higgs audio v3 tts for Arabic
changed the title [-]Higgs_Audio_TTS voice cloning not working and Higgs TTS generation reached max_tokens before EOC (CPU)[/-][+]Higgs_Audio_TTS voice cloning not working and Higgs TTS generation reached max_tokens before EOC (Arabic, CPU)[/+]on Sep 6, 2026
@user6654126 Thanks for the detailed report! I'll reproduce and look into the issue. Quick question: Have you tested english intput?
I have but i am not interested in using it for English as there are better alternative which is BreezeTTS 2 and i used it successfully using cuda and it's perfect in English so i want the best tts model in Arabic so that's why I am using higgs audio v3 tts for Arabic
Sorry I should make it clear: This is just to help me find the root cause. At least a quick test on CUDA on my machine, English and Chinese work correctly without EOC under chunking and produce consisent voices. Arabic EOC on both CPU and CUDA.
So if English works on your machine on CPU, we can rule out backend/environment quirks. The likely issue is Arabic input processing.
@user6654126 Thanks for the detailed report! I'll reproduce and look into the issue. Quick question: Have you tested english intput?
I have but i am not interested in using it for English as there are better alternative which is BreezeTTS 2 and i used it successfully using cuda and it's perfect in English so i want the best tts model in Arabic so that's why I am using higgs audio v3 tts for Arabic
Sorry I should make it clear: This is just to help me find the root cause. At least a quick test on CUDA on my machine, English and Chinese work correctly without EOC under chunking and produce consisent voices. Arabic EOC on both CPU and CUDA.
So if English works on your machine on CPU, we can rule out backend/environment quirks. The likely issue is Arabic input processing.
ok thank you @0xShug0 for explaining .. so i tested higgs model in english and the voice is not consistent and it didn't use reference voice but different voices as i said before
@user6654126 I’ll focus on the consistency issue first. I ran your test case on CPU, and it produced a consistent voice. Are you using the prebuilts, or did you build from commit 49b0322?
Another minor issue, caused by stale docs on my side: --session-option "higgs_audio.mem_saver=true" is not a valid option. It should be higgs_audio_tts.mem_saver. But in the test, I used your option exactly as written so it isn't relevent.
@user6654126 I’ll focus on the consistency issue first. I ran your test case on CPU, and it produced a consistent voice. Are you using the prebuilts, or did you build from commit 49b0322?
Another minor issue, caused by stale docs on my side: --session-option "higgs_audio.mem_saver=true" is not a valid option. It should be higgs_audio_tts.mem_saver. But in the test, I used your option exactly as written so it isn't relevent.
@0xShug0 i build it with these commands for more info see last update logs.txt
git pull origin main
rm -rf build/
./scripts/build_linux.sh --backend cuda --cuda-arch native --native-model-manager --target audiocpp_cli --target audiocpp_server
./scripts/build_linux.sh --backend cpu --native-model-manager --target audiocpp_cli --target audiocpp_server
This may not be caused by missing cross-chunk reference reuse. Higgs already reuses the encoded reference audio codes across chunks, and it also has an AR reference-prefix KV reuse path when the prefix matches. Disabling prefix KV reuse on CPU did not fix the drift using the user provided test case (whille it passed a shorter text test).
The real concern is narrower: with the same Higgs Audio TTS chunked voice-clone path, CUDA/Vulkan/Metal keep the reference voice reasonably consistent across chunks, while CPU can drift into noticeable different voices between chunks. That suggests a CPU-side instability or state/lifecycle issue when repeatedly running the same graph/code path across chunks.
Failed attempts: CPU AR weight fp16 / precision tweak; Codec-only precision tweak; Using eager attention.
@0xShug0 thank you for your help. Since the issue is clearly is with using cpu the higgs model doesn't use the reference voice provided in arabic and use random and non consistent voices . Is there is a way to use this model on my rtx 5060 8gb vram as i already tried even with chunk 300 and chunk 500 everytime i get oom error. By the way i noticed similar issue with using cpu in voxcpm2 in arabic which i will post about soon the voxcpm2 model use the reference voice and voice is consistent however when converting longer tts script more than 5 minutes i get EOC error.
Higgs: I made a correctness fix to a framework module, and it seems to have fixed the Arabic EOC issue on my side.
Voxcpm2: This is more of an upstream model issue. Please check their issues. You can find discussions about noises, tag control and long-form quality there. The maintainer also mentioned that long text can indeed cause quality degradation, and the issue hasn’t been fully resolved yet.
You can check the Python + CUDA output attached. It seems to start hallucinating very early and produces more noise over time. voxcpm_latest_direct_cuda_english_64k.mp3
I also dded a new option --request-option voxcpm2.chunk_strategy=stateless as a workaround of the noises issue. However, it does not provide cross-chunk continuity, because each chunk is synthesized independently from the same original reference/prompt. The mode is intended for text without tags, since tags can make independently synthesized chunks diverge more from each other.
Higgs: I made a correctness fix to a framework module, and it seems to have fixed the Arabic EOC issue on my side.
Voxcpm2: This is more of an upstream model issue. Please check their issues. You can find discussions about noises, tag control and long-form quality there. The maintainer also mentioned that long text can indeed cause quality degradation, and the issue hasn’t been fully resolved yet.
You can check the Python + CUDA output attached. It seems to start hallucinating very early and produces more noise over time. voxcpm_latest_direct_cuda_english_64k.mp3
I also dded a new option --request-option voxcpm2.chunk_strategy=stateless as a workaround of the noises issue. However, it does not provide cross-chunk continuity, because each chunk is synthesized independently from the same original reference/prompt. The mode is intended for text without tags, since tags can make independently synthesized chunks diverge more from each other.
@0xShug0 thanks . i am waiting for fix for Higgs model as it's currently is the best opensource tts model for arabic can you please tell me about the fix you made did you fix EOC issue for arabic on cpu and the issue of non consistent voices and the model ignore the reference voice and use random voice on its own and when it will be avaliable so i can update audio.cpp build and use it
by the way i have crazy idea i don't know if it may fix that issue with higgs model but what if i use q5 or q6 instead of q8 on cuda can you please convert or tell me convert commands as i already tried that and the model didnt work
@0xShug0 thanks for your help i just tested the colab prebuilt https://github.com/0xShug0/audio.cpp/blob/main/Notebooks/colab_audio_cpp.ipynb
but no model is working i used t4 gpu in colab and had there errors with s2 pro and higgs audio tts v3 in arabic and english with both q8 and bf16 versions. should i open an issue or what ? here is logs
Session log
Browser-side lifecycle and request events.
Status
ok
Backend
cuda
Registered
2
Resident
1
5:57:05 PM Request failed: Failed to fetch
5:56:31 PM Running Text to speech...
5:55:02 PM Request failed: Failed to fetch
5:55:02 PM Load failed: Failed to fetch
5:54:50 PM Unloading Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8) before loading Fish Audio S2 Pro (tts + clone/control tags, GGUF Q8).
5:54:50 PM Loading Fish Audio S2 Pro (tts + clone/control tags, GGUF Q8)…
5:54:50 PM Running Text to speech...
5:54:03 PM Installer status unavailable: Failed to fetch
5:54:00 PM Installer status unavailable: Failed to fetch
5:52:59 PM Request failed: Failed to fetch
5:52:59 PM Load failed: Failed to fetch
5:52:59 PM Load failed: Failed to fetch
5:52:53 PM Loading Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8)…
5:52:53 PM Running Text to speech...
5:52:40 PM Unloading Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8) before loading Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8).
5:52:40 PM Loading Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8)…
5:51:59 PM Installer status unavailable: Failed to fetch
5:51:57 PM Installer status unavailable: Failed to fetch
5:51:56 PM Fish Audio S2 Pro (tts + clone/control tags, GGUF Q8) GGUF Q8 installation is running in the background.
5:51:14 PM Request failed: failed to allocate Higgs TTS AR prefill graph
5:51:10 PM Running Text to speech...
5:50:53 PM Request failed: failed to allocate Higgs TTS AR prefill graph
5:50:48 PM Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8) is resident and ready.
5:50:47 PM Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8) is resident and ready.
5:50:36 PM Loading Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8)…
5:50:36 PM Running Text to speech...
5:50:04 PM Unloading Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8) before loading Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8).
5:50:04 PM Loading Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8)…
5:48:54 PM Installer status unavailable: Failed to fetch
5:48:52 PM Installer status unavailable: Failed to fetch
5:48:52 PM Request failed: Failed to fetch
5:48:10 PM Running Text to speech...
5:47:53 PM Installer status unavailable: Failed to fetch
5:47:50 PM Request failed: Failed to fetch
5:47:17 PM Running Text to speech...
5:46:51 PM Installer status unavailable: Failed to fetch
5:46:49 PM Installer status unavailable: Failed to fetch
5:46:49 PM Request failed: Failed to fetch
5:46:13 PM Running Text to speech...
5:45:47 PM Installer status unavailable: Failed to fetch
5:45:47 PM Request failed: Failed to fetch
5:45:10 PM Running Text to speech...
5:44:48 PM Installer status unavailable: Failed to fetch
5:44:45 PM Installer status unavailable: Failed to fetch
5:43:44 PM Request failed: Failed to fetch
5:42:54 PM Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8) is resident and ready.
5:42:53 PM Loading Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8)…
5:42:53 PM Running Text to speech...
5:42:23 PM Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8) GGUF BF16 installation is running in the background.
5:41:40 PM Package sizes unavailable: Failed to fetch
5:41:40 PM Request failed: Failed to fetch
5:41:16 PM Running Text to speech...
5:40:18 PM Request failed: failed to allocate Higgs TTS AR prefill graph
5:40:14 PM Running Text to speech...
5:39:22 PM Request failed: failed to allocate Higgs TTS AR prefill graph
5:39:17 PM Running Text to speech...
5:38:56 PM Request failed: Enter text to generate.
5:38:53 PM Running Text to speech...
5:38:34 PM Request failed: Enter text to generate.
5:38:34 PM Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8) is resident and ready.
5:38:33 PM Loading Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8)…
5:38:33 PM Running Text to speech...
No idea how colab works but "Open in Colab" works for me. This looks more like a colab issue than an audio.cpp issue, so it’s out of scope for the project.
BUT it appears The long-form tests fail with failed to allocate Higgs TTS AR prefill graph
`HTTPError: HTTP Error 500: Internal Server Error
The above exception was the direct cause of the following exception:
RuntimeError Traceback (most recent call last)
[/tmp/ipykernel_496/3364252775.py](https://localhost:8080/#) in <cell line: 0>()
168 except urllib.error.HTTPError as error:
169 error_body = error.read().decode("utf-8", errors="replace")
--> 170 raise RuntimeError(f"Generation failed (HTTP {error.code}): {error_body}") from error
171
172 elapsed = time.monotonic() - started_at
RuntimeError: Generation failed (HTTP 500): {"error":{"message":"failed to allocate Higgs TTS AR prefill graph","type":"server_error"}}`
@DrewThomasson
There are two different issues here (1) The text chunker is currently limited in handling arbitrary Arabic input format. The text may not be chunked at all and cause OOM. The formation could help as a workaround #471 (comment) before we add a dedicated Arabic chunker.
(2) Even with correct chunking, the model can hit the reach max_tokens before EOC error in some random chunks and abort. The official Python impl has the same issue, so it may be a model limitation. The difference is that the Python implementation hides this failure and returns a WAV that appears valid. E.g., Python hit the 2,048-token limit on just 123 Unicode codepoints of Arabic, including vowel marks, producing 81.64 seconds of audio. Tuning the temperature and increasing max_tokens (at the cost of higher VRAM usage) may help, but I haven't tested it myself.
sorry for late replay (been busy) @0xShug0 thanks for your help however i didn't say there was an issue for using audio.cpp colab script. it work fine but the issue is with using some models in arabic such as higgs audio tts v3 as i'm about to say.
just so to be clear i'm using colab free account t4 gpu and please to anyone who is going to replay. please reproduce using colab with both these two arabic scripts (with and without formation) and reference audio and reference audio text. also state if you used t4 gpu in free account or another gpu and send colab logs
with default settings text_chunk_size: 1000 & tried 150 max_tokens: 1024 all failed @DrewThomasson thanks for your input however try to test with long samples +5 minutes for higgs tts v3 in arabic @0xShug0 from what you said in your last comment the issue are with the model so i will post the issue in their github page and let them know. however some said that there is no issue using higgs audio tts v3 original safetensors in comfyui so if you want to find out about that issue you could test on comfyui of course if you have 12 or 16 gb vram. because i can't i had oom errors with my 8gb vram . i may try to run this test on colab soon . also could this issue happen only with using gguf version. arabic.txt gemini-arabic.txt stoic_10seconds.txt stoic_10seconds.wav
Session log
Browser-side lifecycle and request events.
Status
ok
Backend
cuda
Registered
1
Resident
1
4:59:10 PM Request failed: Failed to fetch
4:58:23 PM Running Text to speech...
4:58:08 PM Request failed: Failed to fetch
4:57:29 PM Running Text to speech...
4:57:06 PM Request failed: Failed to fetch
4:56:10 PM Running Text to speech...
4:56:05 PM Package sizes unavailable: Failed to fetch
4:56:05 PM Request failed: Failed to fetch
4:55:28 PM Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8) is resident and ready.
4:55:25 PM Loading Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8)…
4:55:25 PM Running Text to speech...
4:55:01 PM Package sizes unavailable: Failed to fetch
4:54:59 PM Request failed: Failed to fetch
4:54:59 PM Load failed: Failed to fetch
4:54:46 PM Loading Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8)…
4:54:46 PM Running Text to speech...
4:54:03 PM Package sizes unavailable: Failed to fetch
4:54:01 PM Package sizes unavailable: Failed to fetch
4:53:02 PM Installer status unavailable: Failed to fetch
4:53:00 PM Installer status unavailable: Failed to fetch
4:49:57 PM Installer status unavailable: Failed to fetch
4:49:55 PM Installer status unavailable: Failed to fetch
4:48:55 PM Installer status unavailable: Failed to fetch
4:47:54 PM Installer status unavailable: Failed to fetch
4:46:50 PM Installer status unavailable: Failed to fetch
4:44:48 PM Package sizes unavailable: Failed to fetch
4:44:48 PM Installer status unavailable: Failed to fetch
4:44:28 PM Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8) GGUF Q8 installation is running in the background.
@user6654126 Yes please submit the issue to their official repo. In fact, there are open issues reporting the exact the same problem (not even limted to Arabic)!
quick update thanks @0xShug0 the issue is fixed i can use higgs on cuda and generate arabic tts with vocalization and voice is consistent however i didn't test on cpu for the previous issue.
after updating to v0.8.2-audio8-perf-hotfix
the higgs audio v3 tts is now working great on my 8gb vram and max vram usage was 6gb vram it works perfectly with arabic scripts with vocalization like this script below and the result is consistent voice (same as reference voice provided) however after many tests it has max of about 13kb script file about avg 7 minutes tts if i go any longer i get hit with this error :
audiocpp_cli failed: Higgs TTS generation reached max_tokens (2048) before EOC for this text chunk; raise it with --max-tokens on the CLI or the "max_tokens" request option on the server, or lower --text-chunk-size / "text_chunk_size" so each chunk needs fewer generated frames
i use these settings i tried increasing chunk to 1000 and max tokens to 4048 and still got EOC error message
./build/linux-cuda-release/bin/audiocpp_cli
--task tts
--family higgs_audio_tts
--session-option "higgs_audio.mem_saver=true"
--model /home/xxxx/audio.cpp/build/linux-cpu-release/bin/models/Higgs-Audio-v3-TTS-4B-GGUF/higgs-audio-v3-tts-4b-q8_0.gguf
--backend cuda
--text "$(cat /home/xxxx/audio.cpp/inputs/arabic-mini.txt)"
--voice-ref /home/xxxx/audio.cpp/inputs/stoic_10seconds.wav
--reference-text "$(cat /home/xxxx/audio.cpp/inputs/stoic_10seconds.txt)"
--out /home/xxxx/audio.cpp/outputs/higgs_ara_1.wav
--text-chunk-size 500
--max-tokens 2048
--metrics
--log
@DrewThomasson There are two different issues here (1) The text chunker is currently limited in handling arbitrary Arabic input format. The text may not be chunked at all and cause OOM. The formation could help as a workaround #471 (comment) before we add a dedicated Arabic chunker.
(2) Even with correct chunking, the model can hit the reach max_tokens before EOC error in some random chunks and abort. The official Python impl has the same issue, so it may be a model limitation. The difference is that the Python implementation hides this failure and returns a WAV that appears valid. E.g., Python hit the 2,048-token limit on just 123 Unicode codepoints of Arabic, including vowel marks, producing 81.64 seconds of audio. Tuning the temperature and increasing max_tokens (at the cost of higher VRAM usage) may help, but I haven't tested it myself.
Please check my previous comments and report the issue to the higgs tts repo.
Activity
0xShug0 commentedon Sep 6, 2026
@user6654126 Thanks for the detailed report! I'll reproduce and look into the issue. Quick question: Have you tested english intput?
[-]Higgs_Audio_TTS voice cloning not working and Higgs TTS generation reached max_tokens before EOC[/-][+]Higgs_Audio_TTS voice cloning not working and Higgs TTS generation reached max_tokens before EOC (CPU)[/+]user6654126 commentedon Sep 6, 2026
I have but i am not interested in using it for English as there are better alternative which is BreezeTTS 2 and i used it successfully using cuda and it's perfect in English so i want the best tts model in Arabic so that's why I am using higgs audio v3 tts for Arabic
[-]Higgs_Audio_TTS voice cloning not working and Higgs TTS generation reached max_tokens before EOC (CPU)[/-][+]Higgs_Audio_TTS voice cloning not working and Higgs TTS generation reached max_tokens before EOC (Arabic, CPU)[/+]0xShug0 commentedon Sep 6, 2026
Sorry I should make it clear: This is just to help me find the root cause. At least a quick test on CUDA on my machine, English and Chinese work correctly without EOC under chunking and produce consisent voices. Arabic EOC on both CPU and CUDA.
So if English works on your machine on CPU, we can rule out backend/environment quirks. The likely issue is Arabic input processing.
higgs_english_chunk300_unseeded_cuda.wav
higgs_chinese_long_chunk300_unseeded_cuda.wav
user6654126 commentedon Sep 6, 2026
ok thank you @0xShug0 for explaining .. so i tested higgs model in english and the voice is not consistent and it didn't use reference voice but different voices as i said before
./build/linux-cpu-release/bin/audiocpp_cli
--task tts
--session-option "higgs_audio.mem_saver=true"
--family higgs_audio_tts
--model /home/xxxx/audio.cpp/build/linux-cpu-release/bin/models/Higgs-Audio-v3-TTS-4B-GGUF/higgs-audio-v3-tts-4b-q8_0.gguf
--backend cpu
--threads 10
--text-chunk-size 300
--text "$(cat /home/xxxx/audio.cpp/inputs/eng_test.txt)"
--voice-ref /home/xxxx/audio.cpp/inputs/stoic_10seconds.wav
--reference-text "$(cat /home/xxxx/audio.cpp/inputs/stoic_10seconds.txt)"
--out /home/xxxx/audio.cpp/outputs/higgs_eng_1.wav
--metrics
--log
eng_test.txt
higgs_eng_1.wav
higgs_eng_1 log.txt
0xShug0 commentedon Sep 6, 2026
@user6654126 I’ll focus on the consistency issue first. I ran your test case on CPU, and it produced a consistent voice. Are you using the prebuilts, or did you build from commit 49b0322?
Another minor issue, caused by stale docs on my side:
--session-option "higgs_audio.mem_saver=true"is not a valid option. It should behiggs_audio_tts.mem_saver. But in the test, I used your option exactly as written so it isn't relevent.higgs_eng_user_chunk300_mem_saver_cpu_e75c235.wav
user6654126 commentedon Sep 6, 2026
@0xShug0 i build it with these commands for more info see last update logs.txt
git pull origin main
rm -rf build/
./scripts/build_linux.sh --backend cuda --cuda-arch native --native-model-manager --target audiocpp_cli --target audiocpp_server
./scripts/build_linux.sh --backend cpu --native-model-manager --target audiocpp_cli --target audiocpp_server
last update logs.txt
why is the voice is not consistent but keep changing especially at the end in your sample
higgs_eng_user_chunk300_mem_saver_cpu_e75c235.wav
0xShug0 commentedon Sep 6, 2026
You are right. I missed the ending part. Now it looks like the CPU backend issue and I can debug on my machine.
Linux/CUDA seems to be consisent (hopefully I didn't miss anything).
higgs_eng_user_chunk300_mem_saver_cuda_e75c235.wav
Update: Linux/Vulkan seems fine too.
higgs_eng_user_chunk300_mem_saver_vulkan_e75c235.wav
Metal also seems fine.
higgs_eng_user_chunk300_mem_saver_metal_e75c235.wav
0xShug0 commentedon Sep 6, 2026
For anyone interested in this issue:
This may not be caused by missing cross-chunk reference reuse. Higgs already reuses the encoded reference audio codes across chunks, and it also has an AR reference-prefix KV reuse path when the prefix matches. Disabling prefix KV reuse on CPU did not fix the drift using the user provided test case (whille it passed a shorter text test).
The real concern is narrower: with the same Higgs Audio TTS chunked voice-clone path, CUDA/Vulkan/Metal keep the reference voice reasonably consistent across chunks, while CPU can drift into noticeable different voices between chunks. That suggests a CPU-side instability or state/lifecycle issue when repeatedly running the same graph/code path across chunks.
Failed attempts: CPU AR weight fp16 / precision tweak; Codec-only precision tweak; Using eager attention.
user6654126 commentedon Sep 6, 2026
@0xShug0 thank you for your help. Since the issue is clearly is with using cpu the higgs model doesn't use the reference voice provided in arabic and use random and non consistent voices . Is there is a way to use this model on my rtx 5060 8gb vram as i already tried even with chunk 300 and chunk 500 everytime i get oom error. By the way i noticed similar issue with using cpu in voxcpm2 in arabic which i will post about soon the voxcpm2 model use the reference voice and voice is consistent however when converting longer tts script more than 5 minutes i get EOC error.
0xShug0 commentedon Sep 7, 2026
Higgs: I made a correctness fix to a framework module, and it seems to have fixed the Arabic EOC issue on my side.
Voxcpm2: This is more of an upstream model issue. Please check their issues. You can find discussions about noises, tag control and long-form quality there. The maintainer also mentioned that long text can indeed cause quality degradation, and the issue hasn’t been fully resolved yet.
You can check the Python + CUDA output attached. It seems to start hallucinating very early and produces more noise over time.
voxcpm_latest_direct_cuda_english_64k.mp3
I also dded a new option
--request-option voxcpm2.chunk_strategy=statelessas a workaround of the noises issue. However, it does not provide cross-chunk continuity, because each chunk is synthesized independently from the same original reference/prompt. The mode is intended for text without tags, since tags can make independently synthesized chunks diverge more from each other.user6654126 commentedon Sep 7, 2026
@0xShug0 thanks . i am waiting for fix for Higgs model as it's currently is the best opensource tts model for arabic can you please tell me about the fix you made did you fix EOC issue for arabic on cpu and the issue of non consistent voices and the model ignore the reference voice and use random voice on its own and when it will be avaliable so i can update audio.cpp build and use it
by the way i have crazy idea i don't know if it may fix that issue with higgs model but what if i use q5 or q6 instead of q8 on cuda can you please convert or tell me convert commands as i already tried that and the model didnt work
0xShug0 commentedon Sep 7, 2026
Arabic EOC issue. The fix has already been merged into the current main branch.
7 remaining items
user6654126 commentedon Sep 14, 2026
@0xShug0 thanks for your help i just tested the colab prebuilt https://github.com/0xShug0/audio.cpp/blob/main/Notebooks/colab_audio_cpp.ipynb
but no model is working i used t4 gpu in colab and had there errors with s2 pro and higgs audio tts v3 in arabic and english with both q8 and bf16 versions. should i open an issue or what ? here is logs
Session log
Browser-side lifecycle and request events.
Status
ok
Backend
cuda
Registered
2
Resident
1
5:57:05 PM Request failed: Failed to fetch
5:56:31 PM Running Text to speech...
5:55:02 PM Request failed: Failed to fetch
5:55:02 PM Load failed: Failed to fetch
5:54:50 PM Unloading Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8) before loading Fish Audio S2 Pro (tts + clone/control tags, GGUF Q8).
5:54:50 PM Loading Fish Audio S2 Pro (tts + clone/control tags, GGUF Q8)…
5:54:50 PM Running Text to speech...
5:54:03 PM Installer status unavailable: Failed to fetch
5:54:00 PM Installer status unavailable: Failed to fetch
5:52:59 PM Request failed: Failed to fetch
5:52:59 PM Load failed: Failed to fetch
5:52:59 PM Load failed: Failed to fetch
5:52:53 PM Loading Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8)…
5:52:53 PM Running Text to speech...
5:52:40 PM Unloading Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8) before loading Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8).
5:52:40 PM Loading Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8)…
5:51:59 PM Installer status unavailable: Failed to fetch
5:51:57 PM Installer status unavailable: Failed to fetch
5:51:56 PM Fish Audio S2 Pro (tts + clone/control tags, GGUF Q8) GGUF Q8 installation is running in the background.
5:51:14 PM Request failed: failed to allocate Higgs TTS AR prefill graph
5:51:10 PM Running Text to speech...
5:50:53 PM Request failed: failed to allocate Higgs TTS AR prefill graph
5:50:48 PM Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8) is resident and ready.
5:50:47 PM Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8) is resident and ready.
5:50:36 PM Loading Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8)…
5:50:36 PM Running Text to speech...
5:50:04 PM Unloading Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8) before loading Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8).
5:50:04 PM Loading Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8)…
5:48:54 PM Installer status unavailable: Failed to fetch
5:48:52 PM Installer status unavailable: Failed to fetch
5:48:52 PM Request failed: Failed to fetch
5:48:10 PM Running Text to speech...
5:47:53 PM Installer status unavailable: Failed to fetch
5:47:50 PM Request failed: Failed to fetch
5:47:17 PM Running Text to speech...
5:46:51 PM Installer status unavailable: Failed to fetch
5:46:49 PM Installer status unavailable: Failed to fetch
5:46:49 PM Request failed: Failed to fetch
5:46:13 PM Running Text to speech...
5:45:47 PM Installer status unavailable: Failed to fetch
5:45:47 PM Request failed: Failed to fetch
5:45:10 PM Running Text to speech...
5:44:48 PM Installer status unavailable: Failed to fetch
5:44:45 PM Installer status unavailable: Failed to fetch
5:43:44 PM Request failed: Failed to fetch
5:42:54 PM Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8) is resident and ready.
5:42:53 PM Loading Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8)…
5:42:53 PM Running Text to speech...
5:42:23 PM Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8) GGUF BF16 installation is running in the background.
5:41:40 PM Package sizes unavailable: Failed to fetch
5:41:40 PM Request failed: Failed to fetch
5:41:16 PM Running Text to speech...
5:40:18 PM Request failed: failed to allocate Higgs TTS AR prefill graph
5:40:14 PM Running Text to speech...
5:39:22 PM Request failed: failed to allocate Higgs TTS AR prefill graph
5:39:17 PM Running Text to speech...
5:38:56 PM Request failed: Enter text to generate.
5:38:53 PM Running Text to speech...
5:38:34 PM Request failed: Enter text to generate.
5:38:34 PM Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8) is resident and ready.
5:38:33 PM Loading Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8)…
5:38:33 PM Running Text to speech...
0xShug0 commentedon Sep 14, 2026
No idea how colab works but "Open in Colab" works for me. This looks more like a colab issue than an audio.cpp issue, so it’s out of scope for the project.
simplescreenrecorder-2026-09-14_11.40.41.mp4
DrewThomasson commentedon Sep 14, 2026
Colab is not broken
Tested Higgs Audio TTS with voice cloning on a Colab T4 using the Q8_0 GGUF.
the short Arabic sample generated successfully and appears to clone the reference voice.
BryanCranstonRef.wav
ShortArabicBCTest.wav
BryanCranstonRef.mp4
ShortArabicBCTest.mp4
BUT it appears The long-form tests fail with
failed to allocate Higgs TTS AR prefill graphDrewThomasson commentedon Sep 14, 2026
idk it could be a T4-specific memory constraint
But considering the failure occurs inside audio.cpp
while allocating the Higgs AR prefillidk0xShug0 commentedon Sep 14, 2026
@DrewThomasson Reducing the chunk size and max_tokens can help the model fit low VRAM
DrewThomasson commentedon Sep 14, 2026
I tried reducing the chunk size but it didn't seem to help
Although all I tested was these changes so far
Improve Higgs TTS token-limit error guidance (#522)
0xShug0 commentedon Sep 14, 2026
Is the input English?
Update: set chunk size = 128 (max_token default) the measured peak VRAM usage is about 5.6 gb so can fit 8GB GPU..
DrewThomasson commentedon Sep 14, 2026
Was doing Arabic testing
0xShug0 commentedon Sep 14, 2026
@DrewThomasson
There are two different issues here (1) The text chunker is currently limited in handling arbitrary Arabic input format. The text may not be chunked at all and cause OOM. The formation could help as a workaround #471 (comment) before we add a dedicated Arabic chunker.
(2) Even with correct chunking, the model can hit the
reach max_tokens before EOCerror in some random chunks and abort. The official Python impl has the same issue, so it may be a model limitation. The difference is that the Python implementation hides this failure and returns a WAV that appears valid. E.g., Python hit the 2,048-token limit on just 123 Unicode codepoints of Arabic, including vowel marks, producing 81.64 seconds of audio. Tuning the temperature and increasingmax_tokens(at the cost of higher VRAM usage) may help, but I haven't tested it myself.user6654126 commentedon Sep 16, 2026
sorry for late replay (been busy) @0xShug0 thanks for your help however i didn't say there was an issue for using audio.cpp colab script. it work fine but the issue is with using some models in arabic such as higgs audio tts v3 as i'm about to say.
just so to be clear i'm using colab free account t4 gpu and please to anyone who is going to replay. please reproduce using colab with both these two arabic scripts (with and without formation) and reference audio and reference audio text. also state if you used t4 gpu in free account or another gpu and send colab logs
with default settings text_chunk_size: 1000 & tried 150 max_tokens: 1024 all failed
@DrewThomasson thanks for your input however try to test with long samples +5 minutes for higgs tts v3 in arabic
@0xShug0 from what you said in your last comment the issue are with the model so i will post the issue in their github page and let them know. however some said that there is no issue using higgs audio tts v3 original safetensors in comfyui so if you want to find out about that issue you could test on comfyui of course if you have 12 or 16 gb vram. because i can't i had oom errors with my 8gb vram . i may try to run this test on colab soon . also could this issue happen only with using gguf version.
arabic.txt
gemini-arabic.txt
stoic_10seconds.txt
stoic_10seconds.wav
Session log
Browser-side lifecycle and request events.
Status
ok
Backend
cuda
Registered
1
Resident
1
4:59:10 PM Request failed: Failed to fetch
4:58:23 PM Running Text to speech...
4:58:08 PM Request failed: Failed to fetch
4:57:29 PM Running Text to speech...
4:57:06 PM Request failed: Failed to fetch
4:56:10 PM Running Text to speech...
4:56:05 PM Package sizes unavailable: Failed to fetch
4:56:05 PM Request failed: Failed to fetch
4:55:28 PM Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8) is resident and ready.
4:55:25 PM Loading Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8)…
4:55:25 PM Running Text to speech...
4:55:01 PM Package sizes unavailable: Failed to fetch
4:54:59 PM Request failed: Failed to fetch
4:54:59 PM Load failed: Failed to fetch
4:54:46 PM Loading Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8)…
4:54:46 PM Running Text to speech...
4:54:03 PM Package sizes unavailable: Failed to fetch
4:54:01 PM Package sizes unavailable: Failed to fetch
4:53:02 PM Installer status unavailable: Failed to fetch
4:53:00 PM Installer status unavailable: Failed to fetch
4:49:57 PM Installer status unavailable: Failed to fetch
4:49:55 PM Installer status unavailable: Failed to fetch
4:48:55 PM Installer status unavailable: Failed to fetch
4:47:54 PM Installer status unavailable: Failed to fetch
4:46:50 PM Installer status unavailable: Failed to fetch
4:44:48 PM Package sizes unavailable: Failed to fetch
4:44:48 PM Installer status unavailable: Failed to fetch
4:44:28 PM Higgs Audio v3 TTS 4B (tts + clone, GGUF Q8) GGUF Q8 installation is running in the background.
0xShug0 commentedon Sep 16, 2026
@user6654126 Yes please submit the issue to their official repo. In fact, there are open issues reporting the exact the same problem (not even limted to Arabic)!
Recent: boson-ai/higgs-audio#188
Also in their HF repo: https://huggingface.co/bosonai/higgs-tts-3-4b/discussions/18
This one is probbaly about the old version of Higgs Audio TTS boson-ai/higgs-audio#163
Unless we all hallucinate.
user6654126 commentedon Sep 27, 2026
quick update thanks @0xShug0 the issue is fixed i can use higgs on cuda and generate arabic tts with vocalization and voice is consistent however i didn't test on cpu for the previous issue.
after updating to v0.8.2-audio8-perf-hotfix
the higgs audio v3 tts is now working great on my 8gb vram and max vram usage was 6gb vram it works perfectly with arabic scripts with vocalization like this script below and the result is consistent voice (same as reference voice provided) however after many tests it has max of about 13kb script file about avg 7 minutes tts if i go any longer i get hit with this error :
audiocpp_cli failed: Higgs TTS generation reached max_tokens (2048) before EOC for this text chunk; raise it with --max-tokens on the CLI or the "max_tokens" request option on the server, or lower --text-chunk-size / "text_chunk_size" so each chunk needs fewer generated frames
i use these settings i tried increasing chunk to 1000 and max tokens to 4048 and still got EOC error message
./build/linux-cuda-release/bin/audiocpp_cli
--task tts
--family higgs_audio_tts
--session-option "higgs_audio.mem_saver=true"
--model /home/xxxx/audio.cpp/build/linux-cpu-release/bin/models/Higgs-Audio-v3-TTS-4B-GGUF/higgs-audio-v3-tts-4b-q8_0.gguf
--backend cuda
--text "$(cat /home/xxxx/audio.cpp/inputs/arabic-mini.txt)"
--voice-ref /home/xxxx/audio.cpp/inputs/stoic_10seconds.wav
--reference-text "$(cat /home/xxxx/audio.cpp/inputs/stoic_10seconds.txt)"
--out /home/xxxx/audio.cpp/outputs/higgs_ara_1.wav
--text-chunk-size 500
--max-tokens 2048
--metrics
--log
arabic-mini.txt
stoic_10seconds.txt
stoic_10seconds.wav
higgs log.txt
higgs_ara_1.wav
0xShug0 commentedon Sep 27, 2026
Please check my previous comments and report the issue to the higgs tts repo.