# IrodoriTTS Studio

> ローカルの音声合成モデルを、VOICEVOXのような操作感で使えるデスクトップアプリ。

- 制作: [ワカメ](https://wakame.dev/)（個人で企画・開発）
- ステータス: 配布中
- 制作期間: 制作済み
- カテゴリ: Tool, AI, Python
- 使用技術: Python, TTS（音声合成）, デスクトップGUI, exe配布
- 担当: 企画, UI設計, アプリ開発, 書き出し・再現性の設計, exe化

## 概要

PC内の音声合成モデルを台本形式で扱えるようにした、Windows向けデスクトップアプリです。12種類のキャラクタープリセットを用意し、行ごとに話者・話速・スタイル強度を変えながら台本を書いて試聴できます。「試聴で気に入った声がそのまま書き出される」ようにシードを固定する仕組みを入れ、使った指示文・パラメータ・シード・各行の開始秒をJSONで残すことで、あとから同じ音声を作り直せるようにしました。exeとして配布し、ダブルクリックだけで使えます。

## 拡散モデルの音声合成を、VOICEVOX の操作感に寄せる

Irodori-TTS は音素ベースではなく拡散モデルなので、VOICEVOXのような「アクセント句を手で直す」操作がありません。その代わり、声の指示文（caption）と感情パレットで演技を作ります。この違いをそのまま出すと、VOICEVOXに慣れた人ほど何をどう触ればいいのか分からなくなります。

そこでUI側の言葉をVOICEVOX寄りに翻訳しました。内部のパラメータを、話速・スタイル強度・滑舌・声の再現度・品質という見出しに置き換えています。たとえば話速は内部では長さの倍率なので、UIで速くしたときに値が下がる向きを吸収しています。VOICEVOXに無い軸（テキストへの忠実さ、参照音声への似せ具合、拡散ステップ数）は、名前を付けたうえでそのまま出しました。

## 「試聴で気に入った声」がそのまま書き出される

拡散モデルはシード値によって声が変わります。試聴して気に入った読み上げが、書き出しでは別の声になる——これが、この方式のツールでいちばん困るところです。

そこで、シードがランダム設定の行は最後に試聴したときのシードを固定して書き出す仕様にしました。行ごとの書き出しでも1ファイルにまとめた書き出しでも同じです。さらに、使った指示文・各種パラメータ・シード・各行の開始秒を、書き出しフォルダに設定ファイルとして残しています。数日後に1行だけ録り直したいときでも、同じ声で作り直せます。

## 台本を書く速度でキーボードだけで進む

動画のナレーションは行数が多くなるので、マウスに持ち替える回数がそのまま作業時間になります。台本エディタは行単位にして、キーボードだけで一通り操作できるようにしました。

- Enter で次の行を追加、Shift+Enter は行の中で改行
- Ctrl+Enter でその行を再生、入力欄の外で Space を押すと連続再生と停止
- ↑↓ で行を移動、Ctrl+D で複製、Ctrl+Backspace で削除
- Ctrl+S でプロジェクトを保存

## 起動してから使えるようになるまでを隠さない

モデルの読み込みには時間がかかり、GPUでも初回はおよそ50秒かかります。無言で待たせると壊れていると思われるため、ウィンドウは先に開いて裏で読み込み、右上のランプが「準備完了」になったら使える形にしました。

キャラクターは12種類のプリセットを用意し、行ごとに切り替えられます。自分の声を使いたい場合は、お手本の音声を数十秒ぶん置くだけで真似させられます（学習は不要です）。

## 成果

- 12キャラクターのプリセットを搭載
- 試聴した声をそのまま書き出せるシード固定を実装
- 指示文・パラメータをJSONで保存し再現可能に

## リンク

- [GitHub](https://github.com/bluewakame/irodori-tts-studio)

## このサイトについて

- [ワカメの詳細プロフィール](https://wakame.dev/ai-profile/index.html.md)
- [llms.txt](https://wakame.dev/llms.txt)
