目录
一,音频获取
我用电子琴把7个音节分别按了5次,录音得到音频文件
首先查看振幅:
from pydub import AudioSegment
import matplotlib.pyplot as plt
from pydub import AudioSegment
import numpy as np
audio = AudioSegment.from_file("D:/1234567.m4a")
audio.export("D:/1234567_.mp3", format="mp3")
v=audio.get_array_of_samples()
plt.plot(v)
plt.show()
规律很明显,每一个峰值就是一个音节。
二,单音节分析
然后我们扣出第一个音节:
v=v[130000:153000]
plt.plot(v)
plt.show()
再做一个傅里叶变换:
H = np.fft.fft(v)
plt.plot(H.real)
plt.show()
plt.plot(H.imag)
plt.show()
实部:
虚部:
两端都是低频噪声,只有中间一段是信号,再缩小范围:
r = H.real
plt.plot(r[10000:13000])
plt.show()
这是一个对称的图形,我们再把局部放大:
r = H.real
plt.plot(r[11000:11500])
plt.show()
我们把几个频点提取出来:
r2 = r[11000:11500]
print(r2)
for id in range(0,len(r2)):
if(abs(r2[id])>4000000):
print(id)
输出:
186
249
312
313
314
373
374
375
376
436
438
其中 186 249 312 375 438这几个频点刚好构成等差数列
三,7个音节分析
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » 音频信号分析
发表评论 取消回复