python 安装pyaudio_python 处理音频并提取特征可视化

本文介绍了Python音频处理库librosa,包括安装和在Jupyter Notebook中的使用。通过librosa展示了音频的可视化、过零率、光谱质心、光谱衰减和梅尔频率倒谱系数等特征提取方法,帮助理解音频信号的特性。
摘要由CSDN通过智能技术生成

深度学习和机器学习在图像和视觉方面有很多的研究,而且取得了很好的效果,但是在音频处理方面还是比较弱,还有很大的提升空间。图像上有openCV这个强大的库,而在音频方面有哪些比较合适的库呢?这里说的是python支持的库,因为本人接触的主要还是python。所以今天就介绍一下python处理音频的库。

进入正题:Python有一些很棒的音频处理库,比如Librosa和PyAudio,今天着重学习一下librosa库,这个库的安装非常简单,和其它库安装一样,直接pip install librosa就行了。以下代码在jupyter notebook中完成。

In[1]:

import librosa as lr audio_path = './data/js.wav' x, sr = lr.load(audio_path) #sr-sample rate采样率 print(type(x),type(sr)) print(x.shape,sr)

Out[2]:

 (127200,) 22050#这会将音频时间序列作为numpy数组返回,默认采样率sr为22KHZ mono我们可以通过以下方式更改: lr.load(audio_path, sr = 44100) #以44.1KHZ重新采样,或者禁重新采样。采样率是每秒传输的音频样本数。 lr.load(audio_path, sr=None)

Out[3]:

(array([-3.0517578e-04, -2.7465820e-04, -3.6621094e-04, ..., -1.2207031e-04, -9.1552734e-05, -9.1552734e-05], dtype=float32), 44100)

In [4]:

#使用Ipython.display.Audio播放音频 import IPython.display as ipd ipd.Audio(audio_path)

可视化音频:

可视化音频的目的主要让你更直观的理解音频特征

In [5]:

#波形:我们可以绘制音频数组librosa.display.waveplot: %matplotlib inline  import matplotlib.pyplot as plt import librosa.displayplt.figure(figsize = (14,5)) librosa.display.waveplot(x, sr = sr)
cb89238ffd87b1bd0a2ee6ee47f95567.png

In[8]

#谱图:谱图是通过视觉表示频谱的频率,声音或其它信号,因为它随时间变化。频谱图有时被称为声纹或语音图。当数据在3D中表示时,它们可以称为waterfalls。 #在二维阵列中,第一轴是频率,第二轴是时间。我们可以使用显示频谱图:librosa.display.specshow: X = librosa.stft(x) #对信号进行短时傅里叶变换 Xdb = librosa.amplitude_to_db(abs(X)) plt.figure(figsize=(14,5)) librosa.display.specshow(Xdb, sr=sr, x_axis='time', y_axis='hz') plt.colorbar()
cec25b56765a4eb7c59e881b7dfe75be.png

In[9]

#从轴表示频率(从0到10kHZ),横轴表示剪辑的时间,由于我们看到的所有动作都发生在频谱的底部,我们可以将频谱轴转换为对数轴。 plt.figure(figsize=(14,5)) librosa.display.specshow(Xdb, s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值