前提
shirowanisan氏が公開しているシロワニさんのつくよみちゃんトークソフトを用いるために
pip3 install git+"link名"
でダウンロードしようとし失敗したので、requirements.txtの中身を改変し、pip3 install .
でinstallしました。
before
requirements.txt
1espnet==0.10.0 2parallel_wavegan==0.4.8 3pyopenjtalk==0.1.3 4simpleaudio==1.0.4 5gdown
after
requirements.txt
1sentencepiece==0.1.97 2espnet==202207 3parallel_wavegan==0.4.8 4pyopenjtalk==0.1.0 5simpleaudio==1.0.4 6pyworld==0.2.12 7gdown
シロワニさんのつくよみちゃんトークソフト:https://github.com/shirowanisan/tsukuyomichan-talksoft
発生している問題・エラーメッセージ
python3
1from tsukuyomichan_talksoft import TsukuyomichanTalksoft
このソースコードを実行すると、下記のエラーが起こります。
terminal
1[nltk_data] Error loading averaged_perceptron_tagger: <urlopen error 2[nltk_data] [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify 3[nltk_data] failed: unable to get local issuer certificate 4[nltk_data] (_ssl.c:997)> 5[nltk_data] Error loading cmudict: <urlopen error [SSL: 6[nltk_data] CERTIFICATE_VERIFY_FAILED] certificate verify failed: 7[nltk_data] unable to get local issuer certificate (_ssl.c:997)> 8Traceback (most recent call last): 9 File "__init__.pxd", line 1035, in numpy.import_array 10RuntimeError: module compiled against API version 0x10 but this version of numpy is 0xf 11 12During handling of the above exception, another exception occurred: 13 14Traceback (most recent call last): 15 File "<pyshell#0>", line 1, in <module> 16 from tsukuyomichan_talksoft import TsukuyomichanTalksoft 17 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/tsukuyomichan_talksoft.py", line 3, in <module> 18 from espnet2.bin.tts_inference import Text2Speech 19 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/espnet2/bin/tts_inference.py", line 21, in <module> 20 from espnet2.tasks.tts import TTSTask 21 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/espnet2/tasks/tts.py", line 29, in <module> 22 from espnet2.tts.feats_extract.dio import Dio 23 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/espnet2/tts/feats_extract/dio.py", line 11, in <module> 24 import pyworld 25 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pyworld/__init__.py", line 7, in <module> 26 from .pyworld import * 27 File "pyworld/pyworld.pyx", line 6, in init pyworld.pyworld 28 File "__init__.pxd", line 1037, in numpy.import_array 29ImportError: numpy.core.multiarray failed to import
試したこと
・1~7行目のエラーについて
python3
1import ssl 2 3try: 4 _create_unverified_https_context = ssl._create_unverified_context 5except AttributeError: 6 pass 7else: 8 ssl._create_default_https_context = _create_unverified_https_context
このようなソースコードを追加したら良いということが書いてありました。
これに従い、TsukuyomichanTalksoftの本体の、tsukuyomichan_talksoft.pyに追加しました。
tsukuyomichan_talksoft.py
1import numpy as np 2import torch 3from espnet2.bin.tts_inference import Text2Speech 4from parallel_wavegan.utils import load_model 5import ssl #ここ 6from tts_config import TTSConfig 7 8 9 10class TsukuyomichanTalksoft: 11 #ここから 12 try: 13 _create_unverified_https_context = ssl._create_unverified_context 14 except AttributeError: 15 pass 16 else: 17 ssl._create_default_https_context = _create_unverified_https_context 18 #ここまで 19 def __init__(self, model_version='v.1.2.0'): 20 self.config: TTSConfig = TTSConfig.get_config_from_version(model_version) 21 self.acoustic_model = self.get_acoustic_model() 22 self.vocoder = self.get_vocoder() 23 24 def get_acoustic_model(self): 25 acoustic_model = Text2Speech( 26 self.config.acoustic_model_config_path, 27 self.config.acoustic_model_path, 28 device=self.config.device, 29 threshold=0.5, 30 minlenratio=0.0, 31 maxlenratio=10.0, 32 use_att_constraint=False, 33 backward_window=1, 34 forward_window=3 35 ) 36 acoustic_model.spc2wav = None 37 return acoustic_model 38 39 def get_vocoder(self): 40 vocoder = load_model(self.config.vocoder_model_path).to(self.config.device).eval() 41 vocoder.remove_weight_norm() 42 return vocoder 43 44 def generate_voice(self, text, seed): 45 np.random.seed(seed) 46 torch.manual_seed(seed) 47 with torch.no_grad(): 48 _, mel, mel_dnorm, *_ = self.acoustic_model(text) 49 if self.config.use_vocoder_stats_flag: 50 mel = self.config.scaler.transform(mel_dnorm.cpu()) 51 wav = self.vocoder.inference(mel) 52 wav = wav.view(-1).cpu().numpy() 53 return wav
すると、一回目は上記と同じエラーが出るのですが、二回目以降は
terminal
1Traceback (most recent call last): 2 File "__init__.pxd", line 1035, in numpy.import_array 3RuntimeError: module compiled against API version 0x10 but this version of numpy is 0xf 4 5During handling of the above exception, another exception occurred: 6 7Traceback (most recent call last): 8 File "<pyshell#1>", line 1, in <module> 9 from tsukuyomichan_talksoft import TsukuyomichanTalksoft 10 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/tsukuyomichan_talksoft.py", line 3, in <module> 11 from espnet2.bin.tts_inference import Text2Speech 12 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/espnet2/bin/tts_inference.py", line 21, in <module> 13 from espnet2.tasks.tts import TTSTask 14 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/espnet2/tasks/tts.py", line 29, in <module> 15 from espnet2.tts.feats_extract.dio import Dio 16 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/espnet2/tts/feats_extract/dio.py", line 11, in <module> 17 import pyworld 18 File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pyworld/__init__.py", line 7, in <module> 19 from .pyworld import * 20 File "pyworld/pyworld.pyx", line 6, in init pyworld.pyworld 21 File "__init__.pxd", line 1037, in numpy.import_array 22ImportError: numpy.core.multiarray failed to import
というエラーが出ます。
参考:https://stackoverflow.com/questions/27750608/error-installing-nltk-supporting-packages-nltk-download
・8~10行目のエラーについて
このページにはnumpyをupgradeすれば良いということが書いてありましたが、
upgradeしようとすると以下のエラーが出ます
terminal
1Requirement already satisfied: NumPy in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (1.22.0) 2Collecting NumPy 3 Using cached numpy-1.23.2-cp310-cp310-macosx_11_0_arm64.whl (13.3 MB) 4Installing collected packages: NumPy 5 Attempting uninstall: NumPy 6 Found existing installation: numpy 1.22.0 7 Uninstalling numpy-1.22.0: 8ERROR: Could not install packages due to an OSError: Cannot move the non-empty directory '/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/numpy-1.22.0.dist-info/': Lacking write permission to '/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/numpy-1.22.0.dist-info/'.
・最後のエラーについて(29行目)
numpyのどこかがおかしいことがわかったのですが、詳しく理解することができませんでした。
補足情報(FW/ツールのバージョンなど)
macOS Monterey 12.5
MacBook Pro(16インチ、2021)
python 3.10.6
モジュール(質問に必要そうなものだけ):
numba 0.56.0
numpy 1.22.4
pip 22.2.2
tsukuyomichan-talksoft 0.0.1.dev1
espnet 202205









回答1件
あなたの回答
tips
プレビュー