AI人工智能 語音特征提取

2020-09-24 10:18 更新

這是構建語音識別器的最重要步驟,因為在將語音信號轉換為頻域后,我們必須將其轉換為可用的特征向量形式。 可以為此使用不同的特征提取技術,如 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

現(xiàn)在,讀取存儲的音頻文件。 它會返回兩個值 - 采樣頻率和音頻信號。 提供存儲音頻文件的路徑。

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

請注意,在此首先抽取15000個樣本進行分析。

audio_signal = audio_signal[:15000]

使用 MFCC 技術并執(zhí)行以下命令來提取 MFCC 特征 -

features_mfcc = mfcc(audio_signal, frequency_sampling)
Python

現(xiàn)在,打印 MFCC 參數(shù),如下所示 -

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)

現(xiàn)在,打印過濾器組參數(shù)。

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()

根據(jù)上述步驟,您可以觀察到以下輸出:圖1為 MFCC,圖2為過濾器組。

img

img

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號