Patched build of llama-tts from llama.cpp with support for
OuteTTS 1.0's <|c1_N|><|c2_N|> interleaved token pairs (DAC codec).
Why This Exists
The upstream llama-tts (as of b9049) only supports OuteTTS v0.2/v0.3 which use flat <|N|> tokens.
OuteTTS 1.0 uses <|c1_N|><|c2_N|> pairs from the DAC codec. This patched build adds:
OUTETTS_V1_0 version detection (via chat_template == "outetts-1")
Speaker JSON with c1/c2 arrays per word
Interleaved <|c1_N|><|c2_N|> token generation
<|space|> separator (matching v0.3 format)
Build Details
Source: Mearman/llama.cpp branch outetts-v1-support (based on b9049)
Target: Android ARM64 (aarch64-linux-android28)
Build: Static linking (no shared .so dependencies beyond libc/libm/libdl)
Size: 6.0 MB stripped
Speaker JSON Format (v1.0)
json
1{2"version":"1.0",3"text":"Hello world this is a test",4"words":[5{6"word":"hello",7"duration":0.35,8"c1":[720,474,691,607],9"c2":[658,237,915,74]10},11{12"word":"world",13"duration":0.42,14"c1":[700,639,838,622,975],15"c2":[34,457,546,42,631]16}17]18}
The c1/c2 arrays contain DAC codebook indices (0-1023) at 75 frames/second.
Generate them using the DAC encoder ONNX.