一、代码构思
二、代码实现
三、完整代码
四、github地址
环境:win10,python3,tensorflow1.9
语音方面的资料不如图像识别的多,所以特地写了一份博客(并不如何严谨),希望可以帮到大家。github地址在文末,后续可能会录制视频讲解(不过估计没有时间)。
我们需要实现10种语音的分类:冷气机,汽车喇叭,儿童玩耍,狗吠声,钻孔,发动机空转,枪射击,手持式凿岩机,警笛,街头音乐
每个录音长度约为4s,被放在10个fold文件中。
我们采用keras(可以简单的认为keras是前端,tensorflow是后端,类似于tensorflow是个库,我们使用keras调用它的api)实现模型搭建,使用librosa(Librosa是一个用于音频、音乐分析、处理的python工具包)来处理语音。
第一步,导入这几个库即可
import keras
from keras.layers import Activation, Dense, Dropout, Conv2D, Flatten, MaxPooling2D
from keras.models import Sequential
import librosa
import librosa.display
import numpy as np
import pandas as pd
import random
第二步,读取csv文件
data = pd.read_csv('metadata/UrbanSound8K.csv')
valid_data = data[['slice_file_name', 'fold' ,'classID'