質問: 実行環境: Python3, PyCharm ライブラリ関係が必要とのことで、Anacondaを入れ直しました。 結月ゆかりに機械学習で声質変換するスクリプトの`Readme.md`に従って、音響特徴量の切り出しをしようとコードを実行するも、PyCharmが立ち上がってしまいます。別なコードを実行してみても、PyCharmが立ち上がってしまいます。 ふと気づいたので、関連付けがPyCharmになっていたので、Pythonに変更しました。 実行できましたが以下のエラーが出ます。 ``` ModuleNotFoundError : No Module Named 'become_yukarin' ``` Pythonのモジュールの説明を見ていて気づいたのですが、ディレクトリ図の > > > > > > become_yukarin # このディレクトリは外から使えることを想定 > > > > > > > > > これが関係ありますか?このディレクトリにパスを通す必要がありますか?パスを通してみましたが、エラー結果は同じです。 音響特徴量の切り出しスクリプトであるextract_acoustic_feature.py # 音響特徴量切り出しですが、PyCharmで見る限り、冒頭部分の、 ``` import numpy from become_yukarin.acoustic_converter import AcousticConverter from become_yukarin.config.config import create_from_json as create_config from become_yukarin.data_struct import AcousticFeature from become_yukarin.dataset.dataset import AcousticFeatureLoadProcess from become_yukarin.dataset.dataset import AcousticFeatureProcess from become_yukarin.dataset.dataset import AcousticFeatureSaveProcess from become_yukarin.dataset.dataset import WaveFileLoadProcess from become_yukarin.dataset.utility import MFCCAligner from become_yukarin.param import AcousticFeatureParam from become_yukarin.param import VoiceParam ``` で引っかかっているようです。numpyはAnacondaで入ったはずですが、呼び出せてないようです。あと頭にbecame_yukarinがあるそのフォルダにあるパッケージ化されたスクリプトも呼び出せていないようです。 なのでエラーを吐いて止まってしまうのでは無いかと考えました。 ``` ├── become_yukarin # このディレクトリは外から使えることを想定 │ ├── __init__.py │ ├── config.py # 学習の設定パラメータ │ ├── data_struct.py # データ構造の定義 │ ├── dataset │ │ ├── __init__.py │ │ ├── dataset.py # データ処理 │ │ └── utility.py │ ├── model.py # ニューラルネットワーク構造 │ ├── param.py # 音声パラメータ │ ├── updater.py # chainerのUpdater │ └── voice_changer.py # 学習済みモデルを使って声質変換 ├── recipe │ ├── config.json # 学習の設定パラメータ │ └── recipe.json # 複数の学習を回す時のパラメータ ├── requirements.txt # 依存関係のあるライブラリ ├── scripts │ ├── extract_acoustic_feature.py # 音響特徴量切り出し │ ├── launch.py # 複数の学習を回す │ ├── ln_apply_subset.py │ ├── ln_atr503_to_subset.py │ ├── ln_jnas_subset.py ├── tests │ ├── __init__.py │ └── test_dataset.py └── train.py # 学習用のスクリプト ``` 回答1を参考にして考えました。 PythonのPathについてによれば、 > > > > > > Pythonを使い始めた頃、Path設定がよくわからなかった。 > > > > あるモジュールをインポートして使いたいのだけど、使えない。どうもPathが通っていないようだという事はわかったのだが、Pathと言えばWindowsだと思っていたのでWindows設定を変更していた。でも動かない・・・。 > > > > > > 実はPythonの実行マシン内にPath設定を持っていたのでした(笑)。 > > > > > > > > > ということで、Windowsのユーザー環境変数のPYTHONPATHに設定する必要があるようです。 それで、PYTHONPATHをbecome_yukarinに通しましたが、同じエラーが出ます。 become_yukarinの上のディレクトリにPYTHONPATHを通してみたところ、パッケージbecome_yukarinが見つからないとのエラーは回避できました。 今度はchainerがないとのエラーが出ました。 Chainerのインストール方法をわかりやすく解説|Mac・Linux・Windowsを参考に、 試したところ、もうChainerはインストールされているようです。 ``` pip uninstall Chainer ``` でChainerをいったんアンインストールしました。 pip install chainer でChainerを再びインストールしました。 結果は変わりなしです。 PythonとAnacondaをアンインストールして、Anacondaを入れ直し、chainerを入れ直したところ何もエラーが出なくなりました。 やはり関連付けがPycahrmになっていたので変更しました。 librosaが無いとのエラーが出ました。 pip install librosa で入れました。 pysptkがないとのエラーが出ました。 pip install pysptk で入れようとしたら、赤字のエラーが大量に出ます。 Win + Python3.6で「pip install」を実行したときに「UnicodeDecodeError: 'utf-8' codec can't decode byte 0x83」と表示される。を参考に修正してみました。追記2行コメントアウト4行でエラーメッセージに変化が見られましたが、インストールはできないです。 参考 ディープラーニングの力で結月ゆかりの声になってみた
回答: そのリポジトリの作者です。 `become_yukarin`ライブラリの親ディレクトリにパスを通す必要があります。 以下詳細です。 ファイル構造は多分こうなっていると思います。 become_yukarin(親ディレクトリ) └become_yukarin(モジュールのディレクトリ) └`__init__.py` └他 └scripts └色々 └他 親ディレクトリに対してパス(環境変数PATHではなく、PYTHONPATH)を通す必要があります。 pythonは日本語のドキュメントがあります。なんだかんだ役に立つと思います。