赞
踩
一直想做一个能够将随口哼唱的旋律转换为音符的应用,所以开始实验librosa的各种频谱分析:
- import librosa.util
- import numpy as np
-
- #要转换的输入wav音频文件
- input_wav=r"test0.wav"
-
- y,sr=librosa.load(input_wav,sr=None,duration=None)
- cent = librosa.feature.spectral_centroid(y=y, sr=sr)
- chroma=librosa.feature.chroma_cqt(y=y, sr=sr,n_chroma=12)
-
-
-
-
- plt.figure(figsize=(10,10))
-
- plt.subplots_adjust(wspace=1, hspace=0.5)
-
- plt.subplot(311)
- plt.plot(cent[0])
- plt.xlabel('sample')
- plt.ylabel('frequency')
-
- plt.subplot(312)
- librosa.display.specshow(chroma, y_axis='chroma', x_axis='time')
- plt.xlabel('note')
- plt.ylabel('beat')
-
- plt.subplot(313)
- librosa.display.waveplot(y, sr=sr)
- plt.xlabel('second')
- plt.ylabel('amplitude')
-
- plt.show()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。