File size: 7,215 Bytes
f7bbae1
 
 
cb5154d
 
 
 
 
 
 
 
 
 
 
 
 
 
1412413
cb5154d
 
 
 
 
 
 
 
 
 
 
1412413
 
cb5154d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1412413
 
 
cb5154d
 
 
 
 
 
1412413
 
cb5154d
 
 
 
 
 
 
 
 
 
4424225
cb5154d
 
 
 
4424225
 
 
 
 
 
cb5154d
 
 
 
 
 
0c9fd29
cb5154d
a27df4f
 
 
 
 
 
 
 
 
 
 
 
 
 
a5178b1
a27df4f
 
 
 
 
 
 
 
 
 
1412413
4424225
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cb5154d
 
0c9fd29
 
 
cb5154d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f7bbae1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
---
language:
- ja
base_model:
- parler-tts/parler-tts-mini-v1
- retrieva-jp/t5-base-long
pipeline_tag: text-to-speech
library_name: transformers
tags:
- text-to-speech
- annotation
- japanese
license: other
---



# Japanese Parler-TTS Mini 

このリポジトリは、[parler-tts/parler-tts-mini-v1](https://huggingface.co/parler-tts/parler-tts-mini-v1)を基に、日本語でのテキスト読み上げを可能にするよう再学習したモデルを公開しています。本モデルは、軽量でありながら高品質な音声生成を提供します。

**注意**: 本家の[Parler-TTS](https://huggingface.co/collections/parler-tts/parler-tts-fully-open-source-high-quality-tts-66164ad285ba03e8ffde214c)で使用されているtokenizerとは互換性がありません。本モデル用に独自のtokenizerが採用されています。


---


## Japanese Parler-TTS Index

- [Japanese Parler-TTS Mini](https://huggingface.co/2121-8/japanese-parler-tts-mini)
- Japanese Parler-TTS Large (計算資源に余裕があったら学習します)


---


## 📖 クイックインデックス
* [👨‍💻 インストール](#👨‍💻-インストール)
* [🎲 ランダムな音声での使用方法](#🎲-ランダムな音声での使用方法)
* [🎯 特定の話者を指定する方法](#🎯-特定の話者を指定する方法)

---

## 🛠️ 使用方法

### 👨‍💻 インストール

以下のコマンドでインストールできます。

```sh
pip install git+https://github.com/huggingface/parler-tts.git
pip install git+https://github.com/getuka/RubyInserter.git
```

---

### 🎲 ランダムな音声での使用方法

```python
import torch
from parler_tts import ParlerTTSForConditionalGeneration
from transformers import AutoTokenizer
import soundfile as sf
from rubyinserter import add_ruby

device = "cuda:0" if torch.cuda.is_available() else "cpu"

model = ParlerTTSForConditionalGeneration.from_pretrained("2121-8/japanese-parler-tts-mini").to(device)
prompt_tokenizer = AutoTokenizer.from_pretrained("2121-8/japanese-parler-tts-mini", subfolder="prompt_tokenizer")
description_tokenizer = AutoTokenizer.from_pretrained("2121-8/japanese-parler-tts-mini", subfolder="description_tokenizer")

prompt = "こんにちは、今日はどのようにお過ごしですか?"
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."


prompt = add_ruby(prompt)
input_ids = description_tokenizer(description, return_tensors="pt").input_ids.to(device)
prompt_input_ids = prompt_tokenizer(prompt, return_tensors="pt").input_ids.to(device)

generation = model.generate(input_ids=input_ids, prompt_input_ids=prompt_input_ids)
audio_arr = generation.cpu().numpy().squeeze()
sf.write("parler_tts_japanese_out.wav", audio_arr, model.config.sampling_rate)
```


### サンプル音声

<audio controls>
  <source src="https://huggingface.co/2121-8/japanese-parler-tts-mini/resolve/main/audio/normal_sample_1.wav" type="audio/wav">
  お使いのブラウザはオーディオタグをサポートしていません。
</audio>
</br>
<audio controls>
  <source src="https://huggingface.co/2121-8/japanese-parler-tts-mini/resolve/main/audio/normal_sample_2.wav" type="audio/wav">
  お使いのブラウザはオーディオタグをサポートしていません。
</audio>
</br>
<audio controls>
  <source src="https://huggingface.co/2121-8/japanese-parler-tts-mini/resolve/main/audio/normal_sample_3.wav" type="audio/wav">
  お使いのブラウザはオーディオタグをサポートしていません。
</audio>

---

### 🎯 特定の話者を指定する方法
使用した学習データ: [JSUT](https://sites.google.com/site/shinnosuketakamichi/publication/jsut)

```python
import torch
from parler_tts import ParlerTTSForConditionalGeneration
from transformers import AutoTokenizer
import soundfile as sf
from rubyinserter import add_ruby

device = "cuda:0" if torch.cuda.is_available() else "cpu"

model = ParlerTTSForConditionalGeneration.from_pretrained("2121-8/japanese-parler-tts-mini").to(device)
prompt_tokenizer = AutoTokenizer.from_pretrained("2121-8/japanese-parler-tts-mini", subfolder="prompt_tokenizer")
description_tokenizer = AutoTokenizer.from_pretrained("2121-8/japanese-parler-tts-mini", subfolder="description_tokenizer")

prompt = "こんにちは、今日はどのようにお過ごしですか?"
description = "JSUT speaks with an expressive and animated tone in an excellent recording, with a very close-sounding proximity that suggests a private and intimate setting, and delivers her words at a rapid pace."


prompt = add_ruby(prompt)
input_ids = description_tokenizer(description, return_tensors="pt").input_ids.to(device)
prompt_input_ids = prompt_tokenizer(prompt, return_tensors="pt").input_ids.to(device)

generation = model.generate(input_ids=input_ids, prompt_input_ids=prompt_input_ids)
audio_arr = generation.cpu().numpy().squeeze()
sf.write("parler_tts_japanese_out.wav", audio_arr, model.config.sampling_rate)
```

### サンプル音声

<audio controls>
  <source src="https://huggingface.co/2121-8/japanese-parler-tts-mini/resolve/main/audio/jsut sample_1.wav" type="audio/wav">
  お使いのブラウザはオーディオタグをサポートしていません。
</audio>
</br>
<audio controls>
  <source src="https://huggingface.co/2121-8/japanese-parler-tts-mini/resolve/main/audio/jsut sample_2.wav" type="audio/wav">
  お使いのブラウザはオーディオタグをサポートしていません。
</audio>
</br>
<audio controls>
  <source src="https://huggingface.co/2121-8/japanese-parler-tts-mini/resolve/main/audio/jsut sample_3.wav" type="audio/wav">
  お使いのブラウザはオーディオタグをサポートしていません。
</audio>

---





### 著作権および使用に関する免責事項

本モデルおよびリポジトリは、研究、教育、商用利用を含む幅広い目的での利用が許可されています。ただし、以下の条件を遵守してください。

1. **商用利用に関する条件**  
   本モデルを使用して生成された音声や成果物を商用目的で利用することは可能ですが、本モデルそのもの(ファイルや重みデータなど)の販売は禁じられています。

2. **適切性についての免責**  
   本モデルの利用により得られる結果の正確性、合法性、または適切性について、作成者は一切保証しません。

3. **ユーザーの責任**  
   本モデルを使用する際は、適用されるすべての法律や規制を遵守してください。また、生成されたコンテンツに起因する責任はすべてユーザーに帰属します。

4. **作成者の免責**  
   本リポジトリおよびモデルの作成者は、著作権侵害やその他の法的問題に関する責任を一切負いません。

5. **削除要求への対応**  
   著作権問題が発生した場合、問題のあるリソースやデータを速やかに削除します。

---