学习对数据的探索
本次新人赛是Datawhale与天池联合发起的零基础入门系列赛事第八场 —— 零基础入门语音识别-食物声音识别挑战赛。
baseline及用图由开源学习组织Datawhale提供
https://github.com/datawhalechina/team-learning
这次比赛的赛题任务是对食物的声音进行数据建模,准确分类。
Python中有一些很棒的音频处理库,比如Librosa和PyAudio,还有一些内置的模块用于处理音频的基本处理。
# 基本库
import pandas as pd
import numpy as np
pd.plotting.register_matplotlib_converters()
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report
from sklearn.model_selection import GridSearchCV
from sklearn.preprocessing import MinMaxScaler
# 加载音频处理库
import os
import matplotlib.pyplot as plt
import librosa
import librosa.display
import glob
import IPython.display as ipd
这两个库可以用来进行音频采集和回放。
使用librosa模块加载音频文件,librosa.load()加载的音频文件,默认采样率(sr)为22050HZ mono。通过librosa.load(path,sr=44100)来更改采样频率。
波形幅度包络图
使用librosa.display.waveplot()来显示波形幅度包络图。
声谱图
声谱图(spectrogram)是声音或其他信号的频率随时间变化时的频谱(spectrum)的一种直观表示。当数据以三维图形表示时,可称其为瀑布图(waterfalls)。在二维数组中,第一个轴是频率,第二个轴是时间。使用librosa.display.specshow来显示声谱图。
学习心得
今天的内容主要是学习声音产生的原理,以及将声音进行采样处理后,以更直观的方式观察各种声音在不同时间的区别,这有助于后期对声音的分类处理。