PyDubの概要

Pythonで学ぶ音声言語処理

Daniel Bourke

Machine Learning Engineer/YouTube Creator

PyDubのインストール

$ pip install pydub
  • .wav 以外のファイルを使う場合は、ffmpeg.org{{2}} から ffmpeg をインストールしてください
Pythonで学ぶ音声言語処理

PyDubのメインクラス:AudioSegment

# PyDubのメインクラスをインポート
from pydub import AudioSegment
# 音声ファイルを読み込む
wav_file = AudioSegment.from_file(file="wav_file.wav", format="wav")
# format指定は可読性のため(省略可)
wav_file = AudioSegment.from_file(file="wav_file.wav")
type(wav_file)
pydub.audio_segment.AudioSegment
Pythonで学ぶ音声言語処理

音声ファイルを再生する

# wav再生用にsimpleaudioをインストール
$pip install simpleaudio
# 再生関数をインポート
from pydub.playback import play
# 音声ファイルを読み込み
wav_file = AudioSegment.from_file(file="wav_file.wav")

# 再生
play(wav_file)
Pythonで学ぶ音声言語処理

音声パラメータ

# 音声ファイルを読み込む
wav_file = AudioSegment.from_file(file="wav_file.wav")
two_speakers = AudioSegment.from_file(file="two_speakers.wav")

# チャンネル数を確認 wav_file.channels, two_speakers.channels
1, 2
wav_file.frame_rate
480000
Pythonで学ぶ音声言語処理

音声パラメータ

# サンプルあたりのバイト数を確認
wav_file.sample_width
2
# 最大振幅を確認
wav_file.max
8488
Pythonで学ぶ音声言語処理

音声パラメータ

# 音声ファイルの長さ(ミリ秒)
len(wav_file)
3284
Pythonで学ぶ音声言語処理

音声パラメータの変更

# AudioSegmentのATTRIBUTENAMEをxに変更
changeed_audio_segment = audio_segment.set_ATTRIBUTENAME(x)
# サンプル幅を1に変更
wav_file_width_1 = wav_file.sample_width(1)
wav_file_width_1.sample_width
1
Pythonで学ぶ音声言語処理

音声パラメータの変更

# サンプルレートを変更
wav_file_16k = wav_file.frame_rate(16000)
wav_file_16k.frame_rate
16000
# チャンネル数を変更
wav_file_1_channel = wav_file.set_channels(1)
wav_file_1_channel.channels
1
Pythonで学ぶ音声言語処理

Ayo berlatih!

Pythonで学ぶ音声言語処理

Preparing Video For Download...