Pythonでpydubを使って複数のmp3をミックスしているイメージ

【Python入門】pydubで複数のmp3をミックスして保存する方法|音楽合成を簡単に実現

2025-08-28

Pythonでmp3を合成できる?

音楽や音声ファイルを扱う際に「複数のmp3をミックスして1つにまとめたい」と思ったことはありませんか? Pythonの pydub を使えば、難しい知識がなくても簡単に実現できます。


必要な準備

1. pydubのインストール

まずはライブラリをインストールします。

pip install pydub

2. ffmpegのインストール

pydubがmp3を読み書きするためには ffmpeg が必要です。

macOSの場合はHomebrewでインストールできます。

brew install ffmpeg

Windowsの場合は公式サイトからバイナリをダウンロードしてパスを通してください。


mp3をミックスするコード例

ここでは例として、音声ファイル(voice.mp3)音楽ファイル(music.mp3) をミックスして、1つのmp3として保存します。

from pydub import AudioSegment

# 音声と音楽の読み込み
voice = AudioSegment.from_file("voice.mp3", format="mp3")
music = AudioSegment.from_file("music.mp3", format="mp3")

# 音量を調整(音楽を少し小さめにする)
music = music - 10  # -10dB

# 音楽に音声を重ねる(0msからスタート)
mixed = music.overlay(voice, position=0)

# mp3として保存
mixed.export("mixed_output.mp3", format="mp3")

print("ミックス完了! mixed_output.mp3 を確認してください。")

コードのポイント解説


応用例


よくあるエラーと対処法

Q1. FileNotFoundError: ffmpeg not found

👉 ffmpegがインストールされていないか、PATHが通っていません。ffmpeg -version で確認してください。

Q2. ModuleNotFoundError: No module named 'audioop'

👉 Python 3.13以降では audioop が削除されています。以下で代替できます:

pip install audioop-lts

まとめ


Pythonのデコレータ(@記号)を初心者向けに解説!

pygameの機能とインストール方法

PythonでTOTP・HOTPを実装する方法|ワンタイムパスワード

Python ブラウザ指定し自動で開く!webbrowserモジュール完全ガイド

Pythonでmoricons.dllのアイコンをPNGとして抽出する方法

【Python音声再生】playsoundではなくpygameを選ぶ理由とは?

Pythonのtqdmライブラリで簡単プログレスバーを実装する方法

📡Dash × PlotlyでリアルタイムスピードテストWebアプリを作る

【Python】pyttsx3のインストール方法と使い方|音声合成で日本語を喋らせる&音声ファイルに保存

【Python入門】pydubで簡単なリズムを作ってmp3保存する方法|audioopエラー対策

pydubで複数のmp3をミックスして保存する方法|音楽合成を簡単に実現

MBTI診断 | あなたの性格タイプを分析

PDFファイル結合|パスワード設定ツール

【C#】大容量ファイルを指定サイズ以下に分割する方法|.NET8対応コード付き