質問編集履歴
1
作成したプログラムの追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -62,6 +62,50 @@
|
|
62
62
|
|
63
63
|
```
|
64
64
|
|
65
|
+
###今回作成したプログラム
|
66
|
+
|
67
|
+
//wavの読み込み
|
68
|
+
|
69
|
+
wav_filename = "./sample.wav"
|
70
|
+
|
71
|
+
rate, data = scipy.io.wavfile.read(wav_filename)
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
//振幅の配列を作成
|
76
|
+
|
77
|
+
data_norm = data / 32768
|
78
|
+
|
79
|
+
//フレーム長
|
80
|
+
|
81
|
+
fft_size = 1024
|
82
|
+
|
83
|
+
//フレームシフト長
|
84
|
+
|
85
|
+
hop_length = int(fft_size / 4)
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
//短時間フーリエ変換実行
|
90
|
+
|
91
|
+
amplitude = np.abs(librosa.core.stft(data_norm, n_fft = fft_size, hop_length = hop_length))
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
//振幅をデシベルに変換
|
96
|
+
|
97
|
+
log_power = librosa.core.amplitude_to_db(amplitude)
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
//グラフ表示
|
102
|
+
|
103
|
+
librosa.display.specshow(logpower, sr = rate, hop_length = hop_length, x_axis = 'time', y_axis = 'Hz', cmap = (magma))
|
104
|
+
|
105
|
+
plt.colorbar(format = '% + 2.0f dB')
|
106
|
+
|
107
|
+
plt.show()
|
108
|
+
|
65
109
|
|
66
110
|
|
67
111
|
### 試したこと
|