Beatles, A Hard Day's Nightのイントロをフーリエ変換する
The Beatles, A Hard Day's Night をPythonでフーリエ変換してみる。
元曲の音はこちら
フーリエ変換したグラフがこちら
レベルの高い周波数をピックする。
- 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()