第三章:音频信号处理的理论与Python实战
3.4 梅尔频率倒谱系数的计算过程
第一步:数据准备
import numpy as np
from torchaudio import datasets
import sound_utils
import soundfile as sf
from matplotlib import pyplot as plt
"--------------第一步:数据准备-------------"
#signal:NumPy 数组,包含了音频文件中的音频数据。每个元素代表音频信号中的一个样本
#sample_rate:整数,表示音频文件的采样率(以赫兹为单位)。采样率是指每秒从音频信号中采样的次数。例如,如果采样率是 44100 Hz,那么每秒就有 44100 个样本被读取。
#signal_len=176400,sample_rate=44100,4秒的音频,采样率为44100HZ,采样点=176400=4*44100
signal , sample_rate = sf.read("./carsound.wav", dtype="float32")
signal_num = np.arange(len(signal))#生成[0,1,2,3...,len(signal)]
##signal_num/sample_rate =时间
plt.figure()
plt.subplot(2,2,1)
plt.plot(signal_num/sample_rate, signal, color='blue')
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.xlabel("Time(s)")
plt.ylabel("Amplitude(波幅)")
plt.title("signal of Voice(原始) ")
第二步:信号的均值滤波处理
"--------------第二步:信号的均值滤波处理-------------"
pre_emphasis = 0.97
#np.append(arr, values, axis=None)如果axis没有给出,那么arr,values都将先展平成一维数组
#signal原始形状(176400,2)执行完上述代码后,emphasize