3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

闇のプログラミングAdvent Calendar 2021

Day 6

なんでもガバにする

Last updated at Posted at 2021-12-02

ガバとは

 特徴の一つに曲の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拍目のキック抜いたりとか二つ打ちとかに勝手にしてくれるようにする
3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?