Pythonを使用して、音声ファイルを小さなセグメントに分割することができます。この記事では、Pythonのwaveライブラリを使用して、音声ファイルを分割する方法を説明します。
必要なライブラリ
Pythonで音声ファイルを扱うには、waveライブラリが必要です。Pythonには、標準でwaveライブラリが用意されていますので、追加のライブラリをインストールする必要はありません。
コード
import wave
def split_audio(input_file, output_prefix, segment_length):
with wave.open(input_file, 'rb') as audio:
frame_rate = audio.getframerate()
channels = audio.getnchannels()
sample_width = audio.getsampwidth()
frames_per_segment = int(segment_length * frame_rate)
segment_count = audio.getnframes() // frames_per_segment
for i in range(segment_count):
output_file = f'{output_prefix}_{i}.wav'
with wave.open(output_file, 'wb') as out:
out.setparams((channels, sample_width, frame_rate, frames_per_segment, audio.getcomptype(), audio.getcompname()))
out.writeframes(audio.readframes(frames_per_segment))
このコードでは、split_audio関数を定義しています。この関数は、入力ファイルの名前、出力ファイル名のプレフィックス、およびセグメントの長さ(秒単位)を引数として受け取ります。例えば、以下のように使用します。
split_audio('audio.wav', 'segment', 5)
このコードを実行すると、audio.wavという名前のファイルが5秒ごとに分割され、segment_0.wav、segment_1.wavなどの名前が付けられたファイルが作成されます。
結論
Pythonを使用すると、簡単に音声ファイルを分割することができます。waveライブラリを使用して、音声ファイルの読み込み、分割、および書き込みを行うことができます。