失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Librosa音频处理(一)

Librosa音频处理(一)

时间:2020-04-08 10:54:13

相关推荐

Librosa音频处理(一)

Librosa是一个用于音乐和音频分析的python包,如果没学过《数字信号处理》需要先了解一下相关的基础知识,傅立叶变换,梅尔频率倒谱

安装:pip install librosa

环境:Python3.6

我们先做个简单的变声

import librosay,sr = librosa.load("/Users/birenjianmo/Desktop/learn/librosa/mp3/in.wav")# 通过改变采样率来改变音速,相当于播放速度X2librosa.output.write_wav("resample.wav",y,sr*2)

import librosay,sr = librosa.load("/Users/birenjianmo/Desktop/learn/librosa/mp3/in.wav")# 通过移动音调变声 ,14是上移14个半步, 如果是 -14 下移14个半步b = librosa.effects.pitch_shift(y, sr, n_steps=14)librosa.output.write_wav("pitch_shift.wav",b,sr)

复杂的变声

import librosa import matplotlib.pyplot as pltimport numpy as npy,sr = librosa.load("/Users/birenjianmo/Desktop/learn/librosa/mp3/in.wav")# stft 短时傅立叶变换a = librosa.stft(y)length = len(a)# 改变或去除某些值,可以改变声音r_a = a[10:length-10]# istft 逆短时傅立叶变换,变回去b = librosa.istft(r_a)librosa.output.write_wav("stft.wav",b,sr)# 以下是显示频谱图fig = plt.figure()s1 = fig.add_subplot(3,1,1)s2 = fig.add_subplot(3,1,2)s3 = fig.add_subplot(3,1,3)s1.plot(y)s2.plot(a)s3.plot(b)plt.show()

变音的主要算法原理

最简单的是:通过对语音的采样率进行变化,就能改变声音,但是不易用参数进行控制。

别外一种是:提取反应该个性的参数,如,男人、女人;小孩和老人,因声道的长度不一样,导致其基音不一样,进而导致各谐振峰不一样。我们可能通过改变基音和谐振峰的位置来改变声音。

男女声变调必须是进行频谱搬移,在信号处理上通常是乘一个余弦函数

下面是男女声的频谱范围:

男低音:82--330女175--699

男中音;98--392 220--880

男高音;124--494 262--1047

单位为hz

上述转自:/jinbing/article/details/5199605

如果觉得《Librosa音频处理(一)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。