Hiroshiba / become-yukarin

Convert your voice to favorite voice
https://hiroshiba.github.io/blog/became-yuduki-yukari-with-deep-learning-power/
MIT License
576 stars 88 forks source link

Become-yukarinにパスを通す件 #15

Closed BURI55 closed 6 years ago

BURI55 commented 6 years ago

実行環境: 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行でエラーメッセージに変化が見られましたが、インストールはできないです。

参考 ディープラーニングの力で結月ゆかりの声になってみた https://hiroshiba.github.io/blog/became-yuduki-yukari-with-deep-learning-power/

BURI55 commented 6 years ago

2 マイナス投票 accept そのリポジトリの作者です。 become_yukarinライブラリの親ディレクトリにパスを通す必要があります。 以下詳細です。

ファイル構造は多分こうなっていると思います。

become_yukarin(親ディレクトリ) └become_yukarin(モジュールのディレクトリ)  └init.py  └他 └scripts  └色々 └他

親ディレクトリに対してパス(環境変数PATHではなく、PYTHONPATH)を通す必要があります。 https://docs.python.jp/3/using/cmdline.html#envvar-PYTHONPATH

pythonは日本語のドキュメントがあります。なんだかんだ役に立つと思います。 https://docs.python.jp/3/using/

BURI55 commented 5 years ago

>become_yukarinライブラリの親ディレクトリにパスを通す必要があります。

これで詰まっています いろいろやっていたらpythonが起動しなくなりました