Irodori-TTS-500M-v3 — Axera AX8850 NPU (axmodel)

日本語 TTS Irodori-TTS-500M-v3(rectified-flow DiT + DACVAE ボコーダ)を Axera AX8850 NPU 向けに Pulsar2 6.0 で量子化・axmodel 化したもの。 条件付け(テキスト→KVキャッシュ)と duration 予測まで NPU 化しており、推論時に PyTorch も元の model.safetensors も不要(tokenizer のみ使用)。

⚠️ 実機 Axera AX8850(AI Pyramid Pro 等)+ axengine 専用。x86/CUDA では動きません。

パイプライン(全段 NPU)

text ─[tokenize(CPU)]→ ids
  └─① cond axmodel      ids,mask → 24 text-KV + token_logits(duration)
  └─[定数 + duration→t_valid (CPU)]
  └─② DiT axmodel ×N    rectified-flow サンプリング(CFG, triple-core)
  └─[trim]
  └─③ DACVAE axmodel    latent → 48kHz wav

同梱ファイル

ファイル 役割 量子化 / コア
cond_textkv_dur.axmodel (161MB) ① 条件付け: text_encoder + text KV射影 + duration head W8A16 / NPU1
dit_allfcu16_npu3.axmodel (328MB) ② DiT denoiser(rectified-flow, 可変長 latent_mask, T_max=201) true-A16(全FC入力U16) / NPU3 triple-core
dacvae_T201.axmodel (86MB) ③ DACVAE ボコーダ(T=201, 〜8s, 任意長は trim 運用) W8A8 / NPU3
cond_constants.npz (49KB) no_ref の定数(speaker KV / text-branch KV / speaker_mask)
run_npu_full.py 実機推論スクリプト(全段 NPU, torch/safetensors 不要)

使い方(AX8850, root)

# tokenizer は元リポジトリ Aratako/Irodori-TTS-500M-v3 のものを使用(irodori_tts.tokenizer 経由)
sudo -n PYTHONPATH=/path/to/Irodori-TTS python3 run_npu_full.py \
  --text "今日はとても良い天気ですね。" \
  --cond cond_textkv_dur.axmodel --constants cond_constants.npz \
  --dit dit_allfcu16_npu3.axmodel --dacvae dacvae_T201.axmodel \
  --num-steps 16 --seed 0 --out-wav out.wav
  • 話者--seed(参照音声不要・no_ref 専用)。性別含め振れる。
  • t_valid(長さ)--t-valid 0(既定)で duration head が自動予測。手動は --t-valid N
  • num-steps: N=16 が品質/速度のスイートスポット(DiT 56ms/call × calls)。

量子化・性能(実機 AX8850 実測)

  • DiT: true-A16(全 245 FC 入力を U16)で帯域拡張(95%ロールオフ 1kHz→3kHz)。triple-core で 56ms/call(single 比 ~2x)。
  • sim≡NPU 等価: fp32 onnx vs シミュレータで DiT per-step cosine 0.998、DACVAE は W8A8 相応。
  • 完全 NPU 化で cold ~23s(PyTorch 2GB ロード ~37s を排除)。常駐化でさらに短縮可。

既知の制約

  • no_ref 専用(参照音声によるボイスクローンは非対応。話者は seed で変化)。
  • duration 予測が不正確な場合がある: 元モデルの duration head 由来(量子化ではない)で、一部テキストで長さが過大(繰返し)/過小(早口)。--duration-scale(<1.0 で過大抑制)や --t-valid 手動指定で緩和可。
  • 音質は PTQ 天井(〜3kHz 帯域、S8 重み量子化の床)。完全透明には QAT/蒸留が必要。
  • 長文(〜8s 超)は T_max=201 を超えるためチャンク分割が必要。

ライセンス / 帰属

MIT。本成果物は MIT ライセンスの Aratako/Irodori-TTS-500M-v3(DiT/条件付け)および Aratako/Semantic-DACVAE-Japanese-32dim(ボコーダ)を Axera AX8850 向けに量子化(Pulsar2 6.0)した派生物です。元モデルの作者に帰属します。

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for dj-oyu/Irodori-TTS-500M-v3-AX8850

Finetuned
(9)
this model