Beatles, A Hard Day's Nightのイントロをフーリエ変換する

The Beatles, A Hard Day's Night をPythonフーリエ変換してみる。

元曲の音はこちら

フーリエ変換したグラフがこちら

f:id:Himadeus:20211010085152p:plain

Hard Day's Night freq.

レベルの高い周波数をピックする。

  • 150Hz D3(147) or D#3(156)
  • 2380Hz D7(2349), 2370 and 2375 and 2361
  • 1320Hz E6(1318) 1315Hz E6
  • 264Hz  C6(261)
  • 3153Hz G7(3136)
  • 2766Hz  F7(2794)
  • 110Hz A2(110)
  • 300Hz D4(294)/D#3(311)
  • 352Hz F4(349)
  • 395Hz G4(392)
  • 440Hz A4(440)
  • 525Hz C5(523)
  • 2640Hz E7(2637)
  • 1052Hz  C6(1046)

注目なのが、150Hzの音。一番大きい音となる。ポールのベースだと思われるが、D3とD3#の中間の音となる。これが、チューンをズラした音の可能性がある。もしくは、ジョージマーティンが被せたピアノの音の可能性もある。テープの回転を変えたピアノの音をミックスしたらしいから。

GarageBandで、レベルと高い音をMIDIにして音を合成してみる。E6,G6の音は高音すぎるので省略。100Hzも低音すぎるので省略。音色はHard Rock Guitarと、Picked Bass。音はこちら。

 

ここから、ベースの音を、Pitch Bend パラメータを使って、1/3半音上げた音がこちら。

この音の方が、不協和音的で、元に近いと思う。

プログラムは、こちら。

import sys

import scipy.io.wavfile

import numpy as np

import matplotlib.pyplot as plt

 

rate, data = scipy.io.wavfile.read('../Documents/hard.wav')

data = data / 32768

 

fft_data = np.abs(np.fft.fft(data))

freqList = np.fft.fftfreq(data.shape[0], d=1.0/rate)

 

plt.plot(freqList, fft_data)

plt.xlim(0, 3500)

plt.show()