python之音频信号处理一

python音频信号处理,首先安装librosa模块

安装好librosa模块后,进行简单的音频读取操作,包括:

1.load读取音频文件,返回音频数据与采样率

path:音频文件路径              sr:目标采样频率          mono=True:将信号转为单通道模式

offset=0.0:在0.0秒后开始读取音频      duration:仅读取duration长度的音频

import librosa
import matplotlib.pyplot as plt
data,fs= librosa.load('bluesky3.wav')#读取音频文件,data为数据,fs为采样频率
plt.plot(data)

2.to_mono将音频转为单通道,返回单通道音频数据

3.resample对数据进行重采样,返回重采样数据

y:音频数据            orig_sr:原始的采样率                 target_st:目标采样率

new_data=librosa.resample(data,fs,8000)#对数据进行重采样,将采样率从fs降为8000

4.get_duration获取音频时长,返回时长,以秒为单位

y:音频数据           sr:y的采样频率                  S为y的短时傅里叶变换 

n_fft:FFT变化的窗长                hop_length:S的列数

duration=librosa.get_duration(data)#获取数据点的时长,以秒为单位

5.autocorrelation计算信号的自相关函数

max_size:最大相关滞后,如果未指定的话,默认为y.shape

correlate=librosa.autocorrelate(data)

6.zero_crossings计算信号的过零点,返回布尔值列表,true表示过零,false为不过零

import librosa
import matplotlib.pyplot as plt
import numpy as np
data,fs= librosa.load('bluesky3.wav')#读取音频文件,data为数据,fs为采样频率
guolinglv=librosa.zero_crossings(data)
np.vstack([data,guolinglv]).T
print(np.nonzero(guolinglv))

显示过零点的位置为:

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值