CuteTTS-jp

OPPOer/CuteTTS(約2億3千万パラメータ・24 kHz・ 逐次生成対応)を日本語 325.9 時間で継続学習したモデルです。

コードと学習手順: ayutaz/CuteTTS-jp

使い方

git clone https://github.com/ayutaz/CuteTTS-jp
cd CuteTTS-jp
uv sync --all-extras

hf download ayousanz/CuteTTS-jp --local-dir ./model/CuteTTS-jp

uv run python scripts/synthesize_japanese.py \
  --model-dir ./model/CuteTTS-jp \
  --text "こんにちは。今日はいい天気ですね。" \
  --reference-audio <まねたい声の録音> \
  --output out.wav

--frontend accent(全文を片仮名にし、アクセントの記号を付ける変換)とセットで 使ってください。 漢字のままのテキストを渡すと精度が大きく落ちます。 上のスクリプトは漢数字を仮名に開く変換なども含めて自動で行います。

抑揚を写す

同じ台詞を読んだ人間の録音があれば、声の高さの動きを写せます(+0.104 改善)。

uv run python scripts/synthesize_japanese.py \
  --model-dir ./model/CuteTTS-jp \
  --text "..." \
  --reference-audio <声質をまねる録音> \
  --prosody-reference <同じ台詞を読んだ録音> \
  --output out.wav

--reference-audio(声質)と --prosody-reference(抑揚)は別物で、両方渡せます。 別の文の録音を渡すとアクセントが悪化します。

測った値

日常会話 600 文。

学習前 このモデル 人間の録音
文字の間違いの割合 35.86% 16.39% 10.42%
読み間違いの割合 30.94% 7.12% 5.59%
促音・撥音・長音・無声化の間違い 46.9% 2.43%
話し終わらずに喋り続ける割合 3.2% 0.5%

「人間の録音」は本物の音声を同じ手順(自動文字起こし → 比較)に通した値で、 測定側の誤差です。これより良い値は出ません。

苦手なこと

  • 抑揚とアクセントは人間に届いていません。 アクセントの山の位置が人間と 一致する割合は 43.6%(人間どうしなら 64.5%)
  • 中国語は壊れています(文字誤り率 11.5% → 77.2%)。英語は無傷(単語誤り率 1.7%)
  • 数字・日付・単位に弱いです。 学習データに数字を含む文が 1.3% しかありません
  • 学習データはアニメ・ゲームの台詞なので、朗読ではなく演技寄りの話し方になります

学習の条件

出発点 OPPOer/CuteTTS
データ 日本語音声 325.9 時間
更新回数 30,000 回(1回あたり4文) / 学習率 2e-5
テキスト変換 accent(全文片仮名 + アクセントの記号)
重みの形式 fp32(bf16 のまま学習すると重みの 91% が動きません)
所要 RTX 3090 で約 1.4 時間

前処理済みデータを 2 GB ダウンロードすれば同じ学習を再現できます (手順)。

ライセンス

このモデル(重み): CC BY-SA 4.0 — Copyright 2026 ayutaz

コード: Apache License 2.0ayutaz/CuteTTS-jp

出発点の CuteTTS (Copyright 2026 OPPO and Fudan University)は Apache License 2.0 です。

謝辞

CuteTTS / Descript Audio Codec / F5-TTS / Qwen3 / pyopenjtalk-plus

Downloads last month
35
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for ayousanz/CuteTTS-jp

Base model

OPPOer/CuteTTS
Finetuned
(1)
this model