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.wavsegment_1.wavなどの名前が付けられたファイルが作成されます。

結論

Pythonを使用すると、簡単に音声ファイルを分割することができます。waveライブラリを使用して、音声ファイルの読み込み、分割、および書き込みを行うことができます。