Update README.md
Browse files
README.md
CHANGED
@@ -18,7 +18,7 @@ license: other
|
|
18 |
|
19 |
|
20 |
|
21 |
-
# Japanese Parler-TTS Mini
|
22 |
|
23 |
このリポジトリは、[parler-tts/parler-tts-mini-v1](https://huggingface.co/parler-tts/parler-tts-mini-v1)を基に、日本語でのテキスト読み上げを可能にするよう再学習したモデルを公開しています。本モデルは、軽量でありながら高品質な音声生成を提供します。
|
24 |
|
@@ -33,16 +33,10 @@ license: other
|
|
33 |
|
34 |
## Japanese Parler-TTS Index
|
35 |
|
36 |
-
- [Japanese Parler-TTS Mini
|
37 |
-
-
|
38 |
|
39 |
|
40 |
-
---
|
41 |
-
|
42 |
-
## 注意点
|
43 |
-
|
44 |
-
本モデルは学習データの構成上、男性の声に関するデータが少ないため、男性の声の生成が期待通りに行えない場合があります。特に、自然なイントネーションや音質の調整が難しい場合がありますので、ご了承ください。
|
45 |
-
|
46 |
---
|
47 |
|
48 |
|
@@ -77,16 +71,17 @@ from rubyinserter import add_ruby
|
|
77 |
|
78 |
device = "cuda:0" if torch.cuda.is_available() else "cpu"
|
79 |
|
80 |
-
model = ParlerTTSForConditionalGeneration.from_pretrained("2121-8/japanese-parler-tts-mini
|
81 |
-
|
|
|
82 |
|
83 |
prompt = "こんにちは、今日はどのようにお過ごしですか?"
|
84 |
description = "A female speaker with a slightly high-pitched voice delivers her words at a moderate speed with a quite monotone tone in a confined environment, resulting in a quite clear audio recording."
|
85 |
|
86 |
|
87 |
prompt = add_ruby(prompt)
|
88 |
-
input_ids =
|
89 |
-
prompt_input_ids =
|
90 |
|
91 |
generation = model.generate(input_ids=input_ids, prompt_input_ids=prompt_input_ids)
|
92 |
audio_arr = generation.cpu().numpy().squeeze()
|
@@ -110,7 +105,7 @@ sf.write("parler_tts_japanese_out.wav", audio_arr, model.config.sampling_rate)
|
|
110 |
|
111 |
### 🎯 特定の話者を指定する方法
|
112 |
|
113 |
-
|
114 |
|
115 |
---
|
116 |
|
|
|
18 |
|
19 |
|
20 |
|
21 |
+
# Japanese Parler-TTS Mini
|
22 |
|
23 |
このリポジトリは、[parler-tts/parler-tts-mini-v1](https://huggingface.co/parler-tts/parler-tts-mini-v1)を基に、日本語でのテキスト読み上げを可能にするよう再学習したモデルを公開しています。本モデルは、軽量でありながら高品質な音声生成を提供します。
|
24 |
|
|
|
33 |
|
34 |
## Japanese Parler-TTS Index
|
35 |
|
36 |
+
- [Japanese Parler-TTS Mini](https://huggingface.co/2121-8/japanese-parler-tts-mini)
|
37 |
+
- Japanese Parler-TTS Large (計算資源に余裕があったら学習します)
|
38 |
|
39 |
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
---
|
41 |
|
42 |
|
|
|
71 |
|
72 |
device = "cuda:0" if torch.cuda.is_available() else "cpu"
|
73 |
|
74 |
+
model = ParlerTTSForConditionalGeneration.from_pretrained("2121-8/japanese-parler-tts-mini").to(device)
|
75 |
+
prompt_tokenizer = AutoTokenizer.from_pretrained("2121-8/japanese-parler-tts-mini", subfolder="prompt_tokenizer")
|
76 |
+
description_tokenizer = AutoTokenizer.from_pretrained("2121-8/japanese-parler-tts-mini", subfolder="description_tokenizer")
|
77 |
|
78 |
prompt = "こんにちは、今日はどのようにお過ごしですか?"
|
79 |
description = "A female speaker with a slightly high-pitched voice delivers her words at a moderate speed with a quite monotone tone in a confined environment, resulting in a quite clear audio recording."
|
80 |
|
81 |
|
82 |
prompt = add_ruby(prompt)
|
83 |
+
input_ids = description_tokenizer(description, return_tensors="pt").input_ids.to(device)
|
84 |
+
prompt_input_ids = prompt_tokenizer(prompt, return_tensors="pt").input_ids.to(device)
|
85 |
|
86 |
generation = model.generate(input_ids=input_ids, prompt_input_ids=prompt_input_ids)
|
87 |
audio_arr = generation.cpu().numpy().squeeze()
|
|
|
105 |
|
106 |
### 🎯 特定の話者を指定する方法
|
107 |
|
108 |
+
|
109 |
|
110 |
---
|
111 |
|