複数のMP3ファイルを結合するpythonコード例

 複数のMP3ファイルを結合するpythonコード例
・各ファイル間に無音時間を設定できる
・ディレクトリ内のすべてのMP3ファイルを結合
・ファイル名(concatenate_mp3_files.py)
----
import os
from pydub import AudioSegment

# 複数のMP3ファイルを結合する関数
def concatenate_mp3_files(directory, output_file, silence_duration=1):
    # 無音時間の設定(ミリ秒単位)
    silence = AudioSegment.silent(duration=silence_duration * 1000)  # 秒単位をミリ秒に変換

    # ディレクトリ内のすべてのMP3ファイルを取得
    mp3_files = [f for f in os.listdir(directory) if f.endswith('.mp3')]

    # MP3ファイルをロードして結合
    combined = AudioSegment.empty()
    for mp3_file in mp3_files:
        mp3_path = os.path.join(directory, mp3_file)
        audio = AudioSegment.from_mp3(mp3_path)
        combined += audio + silence  # 音声ファイルに無音時間を追加して結合

    # 最後に追加された無音時間を削除
    combined = combined[:-silence.duration_seconds * 1000]

    # 出力ファイルとして保存
    combined.export(output_file, format="mp3")
    print(f"MP3ファイルが結合されました。出力ファイル: {output_file}")

# 使用例
directory = "lesson"  # MP3ファイルが置かれているディレクトリ
output_file = "combined_lessonn.mp3"  # 結合後の出力ファイル名
silence_duration = 1  # 無音時間の設定(秒単位)ファイル間の無音時間(この場合は1秒)

concatenate_mp3_files(directory, output_file, silence_duration)
----