Pythonモジュール「pydub」でmp3とwavファイルを無音部分で区切る方法についてソースコード付きでまとめました。
mp3、wavファイルの分割(無音部分で区切る)
Pythonモジュール「pydub」では、split_on_silenceメソッドで無音部分で音声データを分割できます。
書式
split_on_silence(sound, min_silence_len=2000, silence_thresh=-40, keep_silence=600)
| パラメータ | 説明 |
|---|---|
| sound | 入力音声データ |
| min_silence_len=2000 | 2000ms以上無音なら分割 |
| silence_thresh=-40 | -40dBFS以下で無音と判定 |
| keep_silence=600 | 分割後500msは無音を残す |
サンプルコード
サンプルプログラムのソースコードです。
# -*- coding: utf-8 -*-
from pydub import AudioSegment
from pydub.silence import split_on_silence
# wavファイルのデータ取得
sound = AudioSegment.from_file("input.wav", format="wav")
# wavデータの分割(無音部分で区切る)
chunks = split_on_silence(sound, min_silence_len=2000, silence_thresh=-40, keep_silence=600)
# 分割したデータ毎にファイルに出力
for i, chunk in enumerate(chunks):
chunk.export("output" + str(i) +".wav", format="wav")
| – | 関連記事 |
|---|---|
| 1 | ■【Python/pydub】音声ファイル処理 ■Python入門 基本文法 |

コメント