質問編集履歴
4
情報追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -188,3 +188,4 @@
|
|
188
188
|
numpy 1.22.4
|
189
189
|
pip 22.2.2
|
190
190
|
tsukuyomichan-talksoft 0.0.1.dev1
|
191
|
+
espnet 202205
|
3
変更
test
CHANGED
File without changes
|
test
CHANGED
@@ -185,6 +185,6 @@
|
|
185
185
|
python 3.10.6
|
186
186
|
モジュール(質問に必要そうなものだけ):
|
187
187
|
numba 0.56.0
|
188
|
-
numpy 1.22.
|
188
|
+
numpy 1.22.4
|
189
189
|
pip 22.2.2
|
190
190
|
tsukuyomichan-talksoft 0.0.1.dev1
|
2
情報の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -75,7 +75,64 @@
|
|
75
75
|
else:
|
76
76
|
ssl._create_default_https_context = _create_unverified_https_context
|
77
77
|
```
|
78
|
+
このようなソースコードを追加したら良いということが書いてありました。
|
78
|
-
こ
|
79
|
+
これに従い、TsukuyomichanTalksoftの本体の、tsukuyomichan_talksoft.pyに追加しました。
|
80
|
+
```tsukuyomichan_talksoft.py
|
81
|
+
import numpy as np
|
82
|
+
import torch
|
83
|
+
from espnet2.bin.tts_inference import Text2Speech
|
84
|
+
from parallel_wavegan.utils import load_model
|
85
|
+
import ssl #ここ
|
86
|
+
from tts_config import TTSConfig
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
class TsukuyomichanTalksoft:
|
91
|
+
#ここから
|
92
|
+
try:
|
93
|
+
_create_unverified_https_context = ssl._create_unverified_context
|
94
|
+
except AttributeError:
|
95
|
+
pass
|
96
|
+
else:
|
97
|
+
ssl._create_default_https_context = _create_unverified_https_context
|
98
|
+
#ここまで
|
99
|
+
def __init__(self, model_version='v.1.2.0'):
|
100
|
+
self.config: TTSConfig = TTSConfig.get_config_from_version(model_version)
|
101
|
+
self.acoustic_model = self.get_acoustic_model()
|
102
|
+
self.vocoder = self.get_vocoder()
|
103
|
+
|
104
|
+
def get_acoustic_model(self):
|
105
|
+
acoustic_model = Text2Speech(
|
106
|
+
self.config.acoustic_model_config_path,
|
107
|
+
self.config.acoustic_model_path,
|
108
|
+
device=self.config.device,
|
109
|
+
threshold=0.5,
|
110
|
+
minlenratio=0.0,
|
111
|
+
maxlenratio=10.0,
|
112
|
+
use_att_constraint=False,
|
113
|
+
backward_window=1,
|
114
|
+
forward_window=3
|
115
|
+
)
|
116
|
+
acoustic_model.spc2wav = None
|
117
|
+
return acoustic_model
|
118
|
+
|
119
|
+
def get_vocoder(self):
|
120
|
+
vocoder = load_model(self.config.vocoder_model_path).to(self.config.device).eval()
|
121
|
+
vocoder.remove_weight_norm()
|
122
|
+
return vocoder
|
123
|
+
|
124
|
+
def generate_voice(self, text, seed):
|
125
|
+
np.random.seed(seed)
|
126
|
+
torch.manual_seed(seed)
|
127
|
+
with torch.no_grad():
|
128
|
+
_, mel, mel_dnorm, *_ = self.acoustic_model(text)
|
129
|
+
if self.config.use_vocoder_stats_flag:
|
130
|
+
mel = self.config.scaler.transform(mel_dnorm.cpu())
|
131
|
+
wav = self.vocoder.inference(mel)
|
132
|
+
wav = wav.view(-1).cpu().numpy()
|
133
|
+
return wav
|
134
|
+
```
|
135
|
+
すると、一回目は上記と同じエラーが出るのですが、二回目以降は
|
79
136
|
```terminal
|
80
137
|
Traceback (most recent call last):
|
81
138
|
File "__init__.pxd", line 1035, in numpy.import_array
|
@@ -126,107 +183,8 @@
|
|
126
183
|
macOS Monterey 12.5
|
127
184
|
MacBook Pro(16インチ、2021)
|
128
185
|
python 3.10.6
|
129
|
-
モジュール:
|
186
|
+
モジュール(質問に必要そうなものだけ):
|
130
|
-
aiohttp 3.7.4.post0
|
131
|
-
appdirs 1.4.4
|
132
|
-
argcomplete 2.0.0
|
133
|
-
async-timeout 3.0.1
|
134
|
-
attrs 22.1.0
|
135
|
-
audioread 2.1.9
|
136
|
-
beautifulsoup4 4.11.1
|
137
|
-
beniget 0.4.1
|
138
|
-
certifi 2022.6.15
|
139
|
-
cffi 1.15.1
|
140
|
-
chardet 4.0.0
|
141
|
-
charset-normalizer 2.1.0
|
142
|
-
ci-sdr 0.0.0
|
143
|
-
click 8.1.3
|
144
|
-
ConfigArgParse 1.5.3
|
145
|
-
ctc-segmentation 1.7.1
|
146
|
-
cycler 0.11.0
|
147
|
-
Cython 0.29.32
|
148
|
-
decorator 4.4.2
|
149
|
-
Distance 0.1.3
|
150
|
-
einops 0.4.1
|
151
|
-
espnet 202207
|
152
|
-
espnet-tts-frontend 0.0.3
|
153
|
-
ez-setup 0.9
|
154
|
-
fast-bss-eval 0.1.3
|
155
|
-
filelock 3.7.1
|
156
|
-
fonttools 4.34.4
|
157
|
-
g2p-en 2.1.0
|
158
|
-
gast 0.5.3
|
159
|
-
gdown 4.5.1
|
160
|
-
h5py 3.7.0
|
161
|
-
humanfriendly 10.0
|
162
|
-
idna 3.3
|
163
|
-
imageio 2.21.0
|
164
|
-
imageio-ffmpeg 0.4.7
|
165
|
-
inflect 6.0.0
|
166
|
-
jaconv 0.3
|
167
|
-
jamo 0.4.1
|
168
|
-
joblib 1.1.0
|
169
|
-
jsonpickle 2.2.0
|
170
|
-
kaldiio 2.17.2
|
171
|
-
kiwisolver 1.4.4
|
172
|
-
librosa 0.9.2
|
173
|
-
llvmlite 0.39.0
|
174
|
-
matplotlib 3.5.2
|
175
|
-
mecab 0.996.3
|
176
|
-
more-itertools 8.13.0
|
177
|
-
moviepy 1.0.3
|
178
|
-
multidict 6.0.2
|
179
|
-
music21 7.3.3
|
180
|
-
nltk 3.7
|
181
187
|
numba 0.56.0
|
182
188
|
numpy 1.22.0
|
183
|
-
packaging 21.3
|
184
|
-
parallel-wavegan 0.4.8
|
185
|
-
Pillow 9.2.0
|
186
189
|
pip 22.2.2
|
187
|
-
ply 3.11
|
188
|
-
pooch 1.6.0
|
189
|
-
proglog 0.1.10
|
190
|
-
protobuf 3.20.1
|
191
|
-
pybind11 2.10.0
|
192
|
-
pycparser 2.21
|
193
|
-
pydantic 1.9.1
|
194
|
-
pydub 0.25.1
|
195
|
-
pyopenjtalk 0.1.0
|
196
|
-
pyparsing 3.0.9
|
197
|
-
pypinyin 0.44.0
|
198
|
-
PySocks 1.7.1
|
199
|
-
python-dateutil 2.8.2
|
200
|
-
pythran 0.11.0
|
201
|
-
pytorch-wpe 0.0.1
|
202
|
-
pyworld 0.2.12
|
203
|
-
PyYAML 6.0
|
204
|
-
regex 2022.7.25
|
205
|
-
requests 2.28.1
|
206
|
-
resampy 0.3.1
|
207
|
-
scikit-learn 1.1.2
|
208
|
-
scipy 1.9.0
|
209
|
-
sentencepiece 0.1.97
|
210
|
-
setuptools 63.2.0
|
211
|
-
simpleaudio 1.0.4
|
212
|
-
six 1.16.0
|
213
|
-
SoundFile 0.10.3.post1
|
214
|
-
soupsieve 2.3.2.post1
|
215
|
-
tensorboard-plugin-wit 1.8.1
|
216
|
-
tensorboardX 2.5.1
|
217
|
-
threadpoolctl 3.1.0
|
218
|
-
toml 0.10.2
|
219
|
-
torch 1.12.1
|
220
|
-
torch-complex 0.4.3
|
221
|
-
tqdm 4.64.0
|
222
190
|
tsukuyomichan-talksoft 0.0.1.dev1
|
223
|
-
typeguard 2.13.3
|
224
|
-
typing_extensions 4.3.0
|
225
|
-
Unidecode 1.3.4
|
226
|
-
unroll 0.1.0
|
227
|
-
urllib3 1.26.11
|
228
|
-
webcolors 1.12
|
229
|
-
wheel 0.37.1
|
230
|
-
xmltodict 0.13.0
|
231
|
-
yarl 1.8.1
|
232
|
-
yq 3.1.0
|
1
誤り
test
CHANGED
File without changes
|
test
CHANGED
@@ -11,6 +11,7 @@
|
|
11
11
|
simpleaudio==1.0.4
|
12
12
|
gdown
|
13
13
|
```
|
14
|
+
|
14
15
|
|
15
16
|
after
|
16
17
|
```requirements.txt
|