pythonでmp3ファイルを連結してBGMを作る
複数のmp3ファイルを合体して
1つの長いmp3ファイルにする
結果としては出来たが
もっとスマートなコードがありそうなので
詳しい方教えてください()
ファイル構成
music
連結したいBGM集
Ancient_Wing.mp3
連結したい曲の1曲目
bgm.mp3
連結したbgm
pythonを実行して生成したやつ
bgm.py
mp3連結用のpython
ffmpeg.exe ffprobe.exe
mp3連結のために必要なソフト
マイクラのreplayMODの
映像書き出しに使ってたので
マイクラのファイルからコピーしてきた
ソースコード
from pathlib import Path
from pydub import AudioSegment
import os
p = Path("music") #mp3ファイルのあるディレクトリ取得
files = p.glob("*") #mp3ファイル一覧を取得
#とりあえず1つだけ読み込む
bgm = AudioSegment.from_file("Ancient_Wing.mp3", "mp3")
#1ファイルずつループ
for file in files:
fileName = os.path.join(p, file.name) #ファイル名取得
mp3 = AudioSegment.from_file( fileName, "mp3") #mp3ファイルを読み込む
bgm = bgm + mp3 #mp3ファイルを連結する
print("loading")
#mp3として書き出し
bgm.export("bgm.mp3", format="mp3")
mp3ファイルを連結するために
変数の宣言をしておきたかったが
pythonには変数の宣言が無いらしいので
とりあえず1曲読み込んで
変数を宣言
他の曲を連結した
参考サイト
余談
BGMが欲しい
そこで
で適当な曲を
いくつかDLしてきた
これをOBSで順番に流したい
1曲ループは簡単に出来るが
複数の曲を順番に流すためには
別のソフトが必要な様子
複数のアプリを起動して
PCの負荷がやばそうなので
1つのmp3にまとめてみた
これで
長時間の配信に耐えられるはずだ