Pydubを使う音声認識ことはじめ


環境:macOS Mojave 10.14.4
目標:一からmp3やwavをnumpy内の配列データに落とし込み, いじれるようにする.

ffmpegのインストール

ターミナル上でffmpegをインストールします.
brew install ffmpeg
ffmpegは結構容量が大きくて, 一部のモジュールだけを取り込む人も多いですが最初の段階ではとりあえず全部入れておくのが後々面倒がなくていいと思います.

pydubの使い方

pydubのインストール

$ pip install pydub

モジュールをインポート

from pydub import AudioSegment
import numpy as np
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings("ignore")

mp3の読み込み

formatをいじればwavを読み込むこともできる.

sound = AudioSegment.from_file("xxx.mp3", format="mp3")
#"xxx.mp3"は同じディレクトリにあるようにする.

可視化

data = np.array(sound.get_array_of_samples())
x = data[::sound.channels]
plt.plot(x[::100000]) #数はmp3の容量により適宜調整の必要あり.
plt.grid()
plt.show()

例えば, このコードである曲のmp3を可視化したところ次のようになった.

参考

以下にjupyter上でのコードを掲載しているので、是非参考にしてください.

https://github.com/yohei-freelance/Audio_Transform/blob/master/tutorial_pydub.ipynb