LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 269|回复: 0

语音特征提取

[复制链接]
发表于 2024-1-2 18:25:28 | 显示全部楼层 |阅读模式


语音特征提取

这是构建语音识别器的最重要步骤,因为在将语音信号转换为频域后,我们必须将其转换为可用的特征向量形式。 可以为此使用不同的特征提取技术,如MFCC,PLP,PLP-RASTA等。

示例

在以下示例中,我们将使用MFCC技术逐步使用Python从信号中提取特征。
导入必要的软件包,如下所示 -

import numpy as np
import matplotlib.pyplot as plt
from scipy.io import wavfile
from python_speech_features import mfcc, logfbank

现在,读取存储的音频文件。 它会返回两个值 - 采样频率和音频信号。 提供存储音频文件的路径。

frequency_sampling, audio_signal = wavfile.read("/Users/admin/audio_file.wav")

请注意,在此首先抽取15000个样本进行分析。

audio_signal = audio_signal[:15000]

使用MFCC技术并执行以下命令来提取MFCC特征 -

features_mfcc = mfcc(audio_signal, frequency_sampling)

现在,打印MFCC参数,如下所示 -

print('\nMFCC:\nNumber of windows =', features_mfcc.shape[0])
print('Length of each feature =', features_mfcc.shape[1])

使用下面给出的命令绘制并可视化MFCC特征 -

features_mfcc = features_mfcc.T
plt.matshow(features_mfcc)
plt.title('MFCC')

在这一步中,我们使用如下滤器组特征,提取过滤器组特征 -

filterbank_features = logfbank(audio_signal, frequency_sampling)

现在,打印过滤器组参数。

print('\nFilter bank:\nNumber of windows =', filterbank_features.shape[0])
print('Length of each feature =', filterbank_features.shape[1])

绘制并可视化过滤器组特征。

filterbank_features = filterbank_features.T
plt.matshow(filterbank_features)
plt.title('Filter bank')
plt.show()

根据上述步骤,您可以观察到以下输出:图1为MFCC,图2为过滤器组。





//更多请阅读:https://www.yiibai.com/ai_with_python/ai_with_python_speech_recognition.html


您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表