ガバとは
特徴の一つに曲のBPMの速さが挙げられる。140以上の高速BPMの曲も多く、なかには300近いBPMの曲も存在する。全てにおいて非常に破壊的な特徴を持つ。そのひとつとして、キックドラムの音にディストーションをかけた「ガバキック」を使用することが挙げられる。
ガバ (音楽) 出典: フリー百科事典『ウィキペディア(Wikipedia)』
ガバにする
とりあえず早くしてガバキックを乗せる
import numpy as np
import librosa
import pydub
from pydub import AudioSegment
path = "motoneta.mp3"
kick = "gabba-kick.wav" # ガバキック音源
# とりあえずまず元ネタ音源のBPM取る
y, sr = librosa.load(path)
tempo, beat_frames = librosa.beat.beat_track(y=y, sr=sr)
# BPMから4分のタイムを計算する
tempo_one = 60 / (tempo*4)
# 拡張子はうまいこと合わせて音源読み込み
base_sound = AudioSegment.from_file(path, format="mp3")
kick_sound = AudioSegment.from_file(kick, format="wav")
# 元ネタ曲のゲインをあげてキックに負けないようにする
base_sound = base_sound.apply_gain(100)
# 元ネタ曲の長さを取る
time = base_sound.duration_seconds
# ここがメイン処理!!!!!!!!!
#キック音源を元ネタ音源の上に載せる
start_time_ms = 0
while(True):
base_sound = base_sound.overlay(kick_sound, start_time_ms)
start_time_ms = start_time_ms + tempo_one * 1000
# 適当に終わらせる
if time * 1000 < start_time_ms:
break
# 早くする
base_sound = base_sound.speedup(playback_speed=2.0, crossfade=0)
# 出力する
base_sound.export("gabba.mp3", format="mp3")
おしまい
聞いてみた
ゴミみたいだった
今後の展開
- キックと元ネタ音源のバランスをとってゲイン調整する
- 合間で3拍目のキック抜いたりとか二つ打ちとかに勝手にしてくれるようにする