前提・実現したいこと
「pythonで学ぶ音声認識」という本を勉強していて、soxをインポートするソースコードが登場するのですが、
soxのモジュールを認識してくれません。
sox 本体のインストールと、pipによってsoxのラッパーのインストールはできています。
調べたところ、同じことで悩んでいる方がいてPATHを通すことで解決したようなのですが、どこにPATHを通せば良いのかがわかりません。どうすれば良いでしょうか?
使用しているOSはMacOSで、anacondaで仮想環境を立ててjupyternotebookでソースコードを書いています。
発生している問題・エラーメッセージ
ModuleNotFoundError Traceback (most recent call last) <ipython-input-1-e26edfe5b398> in <module> 7 8 # サンプリング周波数を変換するためのモジュール(sox)をインポート ----> 9 import sox 10 11 # osモジュールをインポート ModuleNotFoundError: No module named 'sox'
該当のソースコード
python
1# -*- coding: utf-8 -*- 2 3# 4# ダウンロードしたwavファイルを,サンプリングレート16000Hzのデータに変換します. 5# また,変換したwavデータのリストを作成します. 6# 7 8# サンプリング周波数を変換するためのモジュール(sox)をインポート 9import sox 10 11# osモジュールをインポート 12import os 13 14# 15# メイン関数 16# 17if __name__ == "__main__": 18 19 # wavファイルが展開されたディレクトリ 20 original_wav_dir = '../data/original/jsut_ver1.1/basic5000/wav' 21 22 # フォーマット変換したwavファイルを出力するディレクトリ 23 out_wav_dir = '../data/wav' 24 25 # wavデータのリストを格納するディレクトリ 26 out_scp_dir = '../data/label/all' 27 28 # 出力ディレクトリが存在しない場合は作成する 29 os.makedirs(out_wav_dir, exist_ok=True) 30 os.makedirs(out_scp_dir, exist_ok=True) 31 32 # soxによる音声変換クラスを呼び出す 33 tfm = sox.Transformer() 34 # サンプリング周波数を 16000Hz に変換するよう設定する 35 tfm.convert(samplerate=16000) 36 37 # wavデータのリストファイルを書き込みモードで開き,以降の処理を実施する 38 with open(os.path.join(out_scp_dir, 'wav.scp'), mode='w') as scp_file: 39 # BASIC5000_0001.wav ~ BASIC5000_5000.wav に対して処理を繰り返し実行 40 for i in range(5000): 41 filename = 'BASIC5000_%04d' % (i+1) 42 # 変換元のオリジナルデータ (48000Hz)のファイル名 43 wav_path_in = os.path.join(original_wav_dir, filename+'.wav') 44 # 変換後のデータ(16000Hz)の保存ファイル名 45 wav_path_out = os.path.join(out_wav_dir, filename+'.wav') 46 47 print(wav_path_in) 48 # ファイルが存在しない場合はエラー 49 if not os.path.exists(wav_path_in): 50 print('Error: Not found %s' % (wav_path_in)) 51 exit() 52 53 # サンプリング周波数の変換と保存を実行する 54 tfm.build_file(input_filepath=wav_path_in, 55 output_filepath=wav_path_out) 56 57 # wavファイルのリストを書き込む 58 scp_file.write('%s %s\n' % 59 (filename, os.path.abspath(wav_path_out))) 60
試したこと
sox本体とラッパーの再インストール
補足情報(FW/ツールのバージョンなど)
python 3.8.8
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。