基于机器学习的曲风识别
项目链接:https://pan.baidu.com/s/1Mxpj_WjRf2gTOMxGDLe20Q
提取码:v0r8
复制这段内容后打开百度网盘手机App,操作更方便哦
- 本项目的音频都是.wav格式,首先用scipy.io.wavfile.read()读取各种类型的音频的信息,观察不同类型的音频的显示信息,代码如下:
import matplotlib.pyplot as plt
from scipy.io import wavfile
import numpy as np
from scipy import fft
music_list = ['blues', 'classical', 'country', 'disco', 'hiphop', 'jazz', 'metal', 'pop', 'reggae', 'rock']
# 画图比较各个歌曲曲风的音频图,得出各个曲风的声音频率有较大的区别
def plotAudioFig(style, n):
ad = "D:/BaiduNetdiskDownload/genres/"+style+"/converted/"+style+"."+str(n).zfill(5)+".au.wav"
# sample_rate每秒采样次数, X是音频信息
sample_rate, X = wavfile.read(ad)
sample_rate, X= np.array(sample_rate), np.array(X)
plt.specgram(x=X, Fs=sample_rate)
plt.figure(figsize=(40,40))
plt.subplot(6,3,1);plotAudioFig("classical","00001")
plt.subplot(6,3,2);plotAudioFig("classical","00002")
plt.subplot(6,3,3);plotAudioFig