{ "name": "PrimeTTS v2-Stream (Xinran)", "arch": "MB-iSTFT-VITS, token-level streaming (band-attention encoder + causal FFN + causal MB-iSTFT vocoder)", "sample_rate": 16000, "languages": ["zh-TW", "en"], "hidden_channels": 192, "inter_channels": 192, "n_layers": 6, "n_heads": 2, "gen_istft_n_fft": 16, "gen_istft_hop_size": 4, "subbands": 4, "encoder_lookahead_tokens": 5, "streaming": { "chunk_frames": 24, "left_cache_frames": 64, "right_lookahead_frames": 4, "samples_per_frame": 256 }, "frontend": { "add_blank": true, "n_symbols": 88, "n_tones": 6, "n_langs": 2, "note": "text -> phone/tone/lang ids via g2pw (bopomofo, Taiwan readings) + g2p_en (arpabet); interleave blank(0) between tokens. Same frontend as Luigi/PrimeTTS demo (frontend_bopomofo)." }, "files": { "v2stream_enc.onnx": "text encoder + duration predictor + reverse flow -> z[1,192,T] (run ONCE)", "v2stream_dec.onnx": "causal MB-iSTFT vocoder: z[1,192,Tc] -> wav[1,1,Tc*256] (run PER CHUNK, overlap-save)", "primetts_v2stream_xinran_f32.gguf": "single-graph gguf for RapidSpeech.cpp ggml (MBISTFT_STREAM=1)" } }