自前話者の学習
デプロイ前に著作権を必ず確認してください
学習したモデルを公開したり、合成した音声を外部にデプロイ・アップロードする予定がある場合は、元の声の著作権・パブリシティ権を必ず事前に確認してください。
YouTube・アニメ・ゲーム・商業声優の録音など、他人の音声で作ったモデルを公開すると著作権、肖像権、パブリシティ権の侵害につながる可能性があります。
デプロイまで視野に入れるなら、自分の声、明示的に同意を得た声、またはデプロイを許可するフリーコーパスを使用してください。
デプロイまで自由に使える日本語コーパスの例
- つくよみちゃんコーパス — クレジット表記条件で商業・非商業利用可能。
- あみたろの声素材工房 — 個人・商業利用可能(規約確認必要)。
- ずんだもん 等 VOICEVOX キャラクターの ITA/ROHAN コーパス — キャラクターごとの利用規約確認必要。
各コーパスごとにクレジット表記、商業利用可否、二次創作の範囲が異なります。デプロイ前に必ず公式規約を改めて確認してください。
HayaKoe は声が入った動画ファイルを用意するだけで、学習までの全フローをサポートします。
データ準備からデプロイまでは2つのツールに分かれています。
dev-tools/preprocess/ — ブラウザ GUI(データ前処理)
動画・オーディオファイルをアップロードすると、学習用データセットが出来上がるまでの手順を GUI 上で順番に辿れます。
- オーディオ抽出(Audio Extraction, 自動) — 動画からオーディオトラックのみを抽出します。
- 背景音除去(Source Separation, 自動) — audio-separator ライブラリで BGM・効果音などの背景音を除去し、声だけを残します。
- 文分割(VAD, 自動) — 長い録音を無音区間を基準に、発話部分だけ短く切り出します。
- 分類(Classification,
手動) — 切り出した音声をどの話者の声か分類し、使えない部分は除外します。 - 書き起こし(Transcription, 自動) — 切り出した音声ひとつひとつに音声認識モデル(Whisper)でテキストデータを自動生成します。
- レビュー(Review,
手動, 省略可) — 誤って書き起こされた部分をブラウザで直接修正します。 - データセット生成(Dataset Export, 自動) — 学習可能な形式でデータをエクスポートします。
dev-tools/cli/ — インタラクティブ CLI
GUI で作成したデータセットを受けて学習からデプロイまでつなげます。
- 前処理(Preprocessing, 自動) — 学習に必要な G2P、BERT 埋め込み、スタイルベクトルを事前計算します。
- 学習(Training, 自動) — 事前学習済みデータをベースに、準備したデータをファインチューニングします。
- 品質レポート(Quality Report, 自動) — 学習途中で保存したモデルで音声を一括推論し、どのモデルが最も良い音を出すか確認します。
- デプロイ(Publish, 自動) — ONNX(推論に最適化されたモデル)変換から HuggingFace / S3 / ローカルへのモデルダウンロードまで行います。
2つのツールは同じ data/ フォルダを共有するため、GUI で作ったデータセットが CLI に自動的に認識されます。
全体の流れ
学習させたい話者の動画から学習用音声データセットを作ります。
動画からオーディオを抽出し、背景音や効果音を除去して声だけを残した後、無音区間を基準に短い文単位で切り出します。
切り出した断片は話者ごとに分類し、Whisper でテキストを自動生成してから必要な部分だけ手動で整えて学習可能な形式にエクスポートします。
作成したデータセットで日本語 TTS モデルをファインチューニングします。
学習に必要な G2P(発音変換)、BERT 埋め込み、スタイルベクトルを事前計算した後、事前学習済みの Style-Bert-VITS2 JP-Extra の上にデータを載せて話者に合わせて学習を実行します。
中間チェックポイントは一定間隔で保存され続け、次のステップでの比較に使われます。
学習は長く回せば必ず良くなるわけではなく、ある時点を過ぎるとかえって音質や話者のトーンが崩れることもあります。
そのため学習途中に保存された複数のチェックポイントで同じ文を一括推論し、どの時点のモデルが最も良い音を出すか比較します。
結果は HTML 1枚にまとめられてブラウザで直接聴くことができ、気に入ったチェックポイントを選んで次のステップに進みます。
選んだチェックポイントを ONNX 形式に変換します。
ONNX は CPU 推論に最適化されたモデルフォーマットで、GPU のない一般的なノートPCでも軽く動かせます。
変換したモデルは HuggingFace・S3 などのクラウドストレージやローカルディレクトリの好きな場所にアップロードしておきます。
一度アップロードしておけば hayakoe パッケージから話者名だけですぐに読み込んで使用できます。
データ準備(①)・学習(②)は GPU 必須
両ステップとも内部でモデル(背景音除去・Whisper・VITS2)を実行するため、GPU なしでは事実上不可能です。
品質レポート(③)・デプロイ(④)は GPU なしでも動作します。CPU ノートPCで学習を実行することは推奨しません。
準備
このガイドは hayakoe リポジトリを直接クローンして進めます。
Linux 環境を前提としています
学習ツールは現在 Linux 環境でのみ動作を保証しています。
Windows は WSL2 上で Linux ガイドをそのまま辿ることを推奨します。
1. リポジトリのクローン
git clone https://github.com/LemonDouble/hayakoe.git
cd hayakoe2. uv のインストール
uv は高速な Python パッケージ・環境マネージャーです。
curl -LsSf https://astral.sh/uv/install.sh | sh詳しいインストール方法は uv 公式ガイド を参照してください。
インストールが完了したらバージョンが表示されるはずです。
uv --version3. 開発依存関係のインストール
以降のコマンドはすべて1ステップ目でクローンした リポジトリルート(hayakoe/) で実行します。
uv sync前処理 GUI と学習 CLI に必要なライブラリ(FastAPI、Whisper、audio-separator、torchaudio など)が一括でインストールされます。
4. GPU(CUDA)PyTorch のインストール
データ準備(①)・学習(②)のステップは内部で ML モデルを実行するため NVIDIA GPU が必須です。
まずドライバが正常にインストールされているか確認します。
nvidia-smi正常にインストールされていれば以下のような出力が表示されます。
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.126.09 Driver Version: 580.126.09 CUDA Version: 13.0 |
+-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 3090 Off | 00000000:06:00.0 Off | N/A |
| 53% 33C P8 38W / 390W | 1468MiB / 24576MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+出力1行目右側の CUDA Version がお使いのドライバがサポートする 最大 CUDA バージョン です(上記の例では 13.0)。
それ以下のバージョンの PyTorch ビルドを選んでインストールしてください(以下の例は CUDA 12.6 基準)。
uv pip install torch --index-url https://download.pytorch.org/whl/cu126他の CUDA バージョンを使う場合は cu126 の部分をお使いの環境に合ったバージョン(cu118、cu121、cu124、cu128 など)に置き換えてください。
インストール確認:
uv run python -c "import torch; print(torch.cuda.is_available())"
# True が出れば OKここまで完了したら以下の 各ステップ詳細 の順番に従って進めてください。
各ステップ詳細
準備が完了したら、以下の順番でページを1つずつ辿ってください。
