音声読み上げ
videomotion スキルの VV、PY 変数を使用します。
実行
"$PY" "$VV/tools/voice/voice.py" <プロジェクト> > <プロジェクト>/voice.log 2>&1
スクリプトが1分以上の場合はバックグラウンドで実行します。VOICEDONE のログが出力されると完了です。すべての生成結果は内容に基づいてキャッシュされます。script.json 内の一文を修正して再実行すると、その文のみが再生成されます。
結果の確認
- 各行は
score <ID>: <スコア> ok|WEAK | <Whisperが認識した内容>と出力されます。 - 一度の実行で十分です。スコアは選別のためにのみ使用し、高いスコアを追い求める必要はありません。WEAK は Whisper が英語の名前を誤認識した場合("Claude" が "Clock" に、"code" が "cốt" になるなど)であり、読み上げの誤りではありません。
- 実際の WEAK(誤読、文字の省略、数字の誤読など)は、以下の順序で修正します。
- 文をベトナム語の主語を含む形に書き換え、5語未満の短い文や英語の名前で始まる文を避ける。
script.jsonの"pron"項目にエントリを追加します。例:"MCP": "em xi pi"(キーが大文字の場合は大文字小文字を区別して一致)。--candidates 4を指定して再実行します。
- すべてのプロジェクトで修正が必要な単語は
~/.motionfly/pron.jsonに追加します。
音声
デフォルトは Ngọc Huyền(女性、北部)。利用可能な音声には、Ngọc Huyền、Mai Anh(ニュース)、Trúc Ly、Thùy Dung(男性、ニュース)、Hải Đăng、Thiện Minh(ナレーション)、Quang Sơn、Ngọc Trân(中部)などがあります。全25種類の音声を確認するには:
"$PY" -c "from vieneu import Vieneu; [print(v[0]) for v in Vieneu().list_preset_voices()]"
script.json の "voice" キーで音声を設定します。
出力
voice.wav:48 kHz モノラル、間隔あり:先頭0.5秒、文間0.35秒、|記号0.55秒、シーン間0.7秒、末尾0.8秒。words.json:total、scenes(各シーンの開始・終了マーカー)、segments(各文、スコア、weakフラグ)、words(表示される各単語とstart、end)。表示される単語は、pronで読みが変更されていても、スクリプト上の文字を保持します。