ayousanz commited on
Commit
d44a230
·
verified ·
1 Parent(s): e655a37

Create README.md

Browse files
Files changed (1) hide show
  1. README.md +103 -0
README.md ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - en
4
+ tags:
5
+ - text-to-speech
6
+ - tts
7
+ - piper
8
+ - vits
9
+ - ljspeech
10
+ license: mit # Piperソフトウェアのライセンス。LJSpeechはパブリックドメイン。
11
+ pipeline_tag: text-to-speech
12
+ datasets:
13
+ - LJSpeech
14
+ ---
15
+
16
+ # ljspeechで学習したpiperモデル
17
+
18
+ このリポジトリには、[LJSpeechデータセット](https://keithito.com/LJ-Speech-Dataset/) を使用して学習されたPiper TTSモデルが含まれています。
19
+ このモデルは **medium品質** で、英語の音声を生成します。
20
+
21
+ ## モデル詳細
22
+
23
+ * **音声:** LJSpeechデータセットの単一女性話者に基づいています。
24
+ * **言語:** 英語 (en)
25
+ * **品質:** Medium (Piperの品質設定に基づく)
26
+ * **サンプルレート:** 22050 Hz (Piperのmedium品質で一般的)
27
+ * **ベースモデルアーキテクチャ:** VITS (PiperはVITSに基づいています)
28
+
29
+ ## 学習データ
30
+
31
+ * **データセット:** [LJSpeech](https://keithito.com/LJ-Speech-Dataset/)
32
+ * **説明:** 7冊のノンフィクション本の一節を読む単一話者の短い音声クリップ13,100個で構成されるパブリックドメインのデータセットです。約24時間の音声データが含まれます。
33
+ * **前処理:** データセットはPiperに付属のスクリプトを使用して前処理されました。
34
+
35
+ ## 学習手順
36
+
37
+ このモデルは、[Rhasspy Piperリポジトリ](https://github.com/rhasspy/piper) の `piper_train` スクリプトを使用して学習されました。
38
+
39
+ ### 主要な学習パラメータ:
40
+
41
+ 以下は、学習時に使用されたコマンドと主要なパラメータです。
42
+
43
+ * `quality`: `medium`
44
+ * `precision`: `32` (単精度浮動小数点)
45
+ * `max_epochs`: `500`
46
+ * `batch_size`: `16` (シングルGPU時)
47
+ * `accelerator`: `gpu`
48
+ * `devices`: `1`
49
+ * `validation_split`: `0.05` (5%のデータを検証に使用)
50
+ * `checkpoint_epochs`: `1` (1エポックごとにチェックポイントを保存)
51
+
52
+ ### 学習コマンドの例:
53
+
54
+ ```bash
55
+ # TRAINING_DATA_DIR は前処理済みデータセットのパスに置き換えてください
56
+ # 例: TRAINING_DATA_DIR="/data/piper_ljspeech_training"
57
+
58
+ python -m piper_train \
59
+ --dataset-dir ${TRAINING_DATA_DIR} \
60
+ --accelerator 'gpu' \
61
+ --devices 1 \
62
+ --batch-size 16 \
63
+ --validation-split 0.05 \
64
+ --num-test-examples 10 \
65
+ --max_epochs 500 \
66
+ --checkpoint-epochs 1 \
67
+ --precision 32 \
68
+ --quality medium
69
+ ```
70
+
71
+ ### 学習環境 (おおよその環境):
72
+ トラブルシューティングの結果、以下の環境で学習が実行されました。
73
+
74
+ * Python: 3.11.8
75
+ * PyTorch: ~2.5.1 (CUDA 12.1 サポート版)
76
+ * PyTorch Lightning: ~1.7.7
77
+ * TorchMetrics: ~1.5.2
78
+ * NumPy: ~1.26.4
79
+ * Piper training scripts (`piper_train` module, version ~1.0.0) from `rhasspy/piper`
80
+
81
+ ## 使用方法
82
+
83
+ このモデルはPiperコマンドラインツールで使用します。まず、学習プロセスで得られたチェックポイント (`.ckpt` ファイル) をONNX形式にエクスポートする必要があります。
84
+
85
+ ### 1. ONNX形式へのエクスポート
86
+
87
+ 学習済みチェックポイントが `/path/to/your/checkpoints/epoch=499-step=XXXXX.ckpt` (実際の学習で得られた最終チェックポイントのパスに置き換えてください) にあり、学習データディレクトリ ( `config.json` を含む) が `/data/piper_ljspeech_training/` にあると仮定します。
88
+
89
+ ```bash
90
+ # 実際のパスに置き換えてください
91
+ CHECKPOINT_FILE="/data/piper_ljspeech_training/lightning_logs/version_X/checkpoints/epoch=499-step=XXXXX.ckpt" # 例: version_1/checkpoints/epoch=499-step=519000.ckpt
92
+ TRAINING_CONFIG_JSON="/data/piper_ljspeech_training/config.json" # 前処理時の config.json
93
+ EXPORT_DIR="exported_piper_model" # ONNXモデルの出力先ディレクトリ名 (任意)
94
+ ONNX_MODEL_NAME="ljspeech_piper_medium_500epochs" # ONNXモデルのファイル名 (任意)
95
+
96
+ mkdir -p ${EXPORT_DIR}
97
+
98
+ python3 -m piper_train.export_onnx \
99
+ ${CHECKPOINT_FILE} \
100
+ <span class="math-inline">\{EXPORT\_DIR\}/</span>{ONNX_MODEL_NAME}.onnx
101
+
102
+ cp ${TRAINING_CONFIG_JSON} \
103
+ <span class="math-inline">\{EXPORT\_DIR\}/</span>{ONNX_MODEL_NAME}.onnx.json