Pydubで、Audioファイルを処理する方法についてまとめた。

環境

macOS Sierra (10.12.6)
Python 3.6.1
pydub 0.20.0

インストール

pydubのインストール

$ pip install pydub

ffmpegのインストール

$ brew install ffmpeg --with-libvorbis --with-ffplay --with-theora

Audioファイルの処理

ファイルの読み込み

from pydub import AudioSegment

#WAV
wav_version = AudioSegment.from_wav("sound.wav")

#mp3
mp3_version = AudioSegment.from_mp3("sound.mp3")

#ogg
ogg_version = AudioSegment.from_ogg("sound.ogg")

#flv
flv_version = AudioSegment.from_flv("sound.flv")

#ffmpeg supports
mp4_version = AudioSegment.from_file("sound.mp4", "mp4")
wma_version = AudioSegment.from_file("sound.wma", "wma")
aac_version = AudioSegment.from_file("sound.aiff", "aac")

切り分ける

from pydub import AudioSegment

sound = AudioSegment.from_file("sound.wav", format="wav")

#最初の10秒
first_10_seconds = sound[:10000]

#最後の5秒
last_5_seconds = sound[-5000:]

情報の表示

from pydub import AudioSegment

sound = AudioSegment.from_file("sound.m4a", "m4a")

#チャンネル数(1:mono, 2:stereo)
channel_count = sound.channels

#サンプルレート(Hz)
frames_per_second = sound.frame_rate

#再生時間(秒)
duration = sound.duration_seconds

グラフの表示

from pydub import AudioSegment
import matplotlib.pyplot as plt

sound = AudioSegment.from_file("sound.m4a", "m4a")

samples = sound.get_array_of_samples()

plt.plot(samples)
plt.show()

スクリーンショット.png