测试
测试包
安装软件包后,可以直接运行测试文件以显示结果。测试示例test/test_package.py
如下所示:
import scipy.io.wavfile as wav import numpy as np import speechpy import os file_name = os.path.join(os.path.dirname(os.path.abspath(__file__)),'Alesis-Sanctuary-QCard-AcoustcBas-C2.wav') fs, signal = wav.read(file_name) signal = signal[:,0] # Example of pre-emphasizing. signal_preemphasized = speechpy.processing.preemphasis(signal, cof=0.98) # Example of staching frames frames = speechpy.processing.stack_frames(signal, sampling_frequency=fs, frame_length=0.020, frame_stride=0.01, filter=lambda x: np.ones((x,)), zero_padding=True) # Example of extracting power spectrum power_spectrum = speechpy.processing.power_spectrum(frames, fft_points=512) print('power spectrum shape=', power_spectrum.shape) ############# Extract MFCC features ############# mfcc = speechpy.feature.mfcc(signal, sampling_frequency=fs, frame_length=0.020, frame_stride=0.01, num_filters=40, fft_length=512, low_frequency=0, high_frequency=None) mfcc_cmvn = speechpy.processing.cmvnw(mfcc,win_size=301,variance_normalization=True) print('mfcc(mean + variance normalized) feature shape=', mfcc_cmvn.shape) mfcc_feature_cube = speechpy.feature.extract_derivative_feature(mfcc) print('mfcc feature cube shape=', mfcc_feature_cube.shape) ############# Extract logenergy features ############# logenergy = speechpy.feature.lmfe(signal, sampling_frequency=fs, frame_length=0.020, frame_stride=0.01, num_filters=40, fft_length=512, low_frequency=0, high_frequency=None) logenergy_feature_cube = speechpy.feature.extract_derivative_feature(logenergy) print('logenergy features=', logenergy.shape)
测试本地
有一种替代的本地测试方式,无需打包安装。本地测试示例可以在test/test_package.py
以下位置找到:
import scipy.io.wavfile as wav import numpy as np import os import sys lib_path = os.path.abspath(os.path.join('..')) print(lib_path) sys.path.append(lib_path) import speechpy import os file_name = os.path.join(os.path.dirname(os.path.abspath(__file__)),'Alesis-Sanctuary-QCard-AcoustcBas-C2.wav') fs, signal = wav.read(file_name) signal = signal[:,0] # Example of pre-emphasizing. signal_preemphasized = speechpy.processing.preemphasis(signal, cof=0.98) # Example of staching frames frames = speechpy.processing.stack_frames(signal, sampling_frequency=fs, frame_length=0.020, frame_stride=0.01, filter=lambda x: np.ones((x,)), zero_padding=True) # Example of extracting power spectrum power_spectrum = speechpy.processing.power_spectrum(frames, fft_points=512) print('power spectrum shape=', power_spectrum.shape) ############# Extract MFCC features ############# mfcc = speechpy.feature.mfcc(signal, sampling_frequency=fs, frame_length=0.020, frame_stride=0.01, num_filters=40, fft_length=512, low_frequency=0, high_frequency=None) mfcc_cmvn = speechpy.processing.cmvnw(mfcc,win_size=301,variance_normalization=True) print('mfcc(mean + variance normalized) feature shape=', mfcc_cmvn.shape) mfcc_feature_cube = speechpy.feature.extract_derivative_feature(mfcc) print('mfcc feature cube shape=', mfcc_feature_cube.shape) ############# Extract logenergy features ############# logenergy = speechpy.feature.lmfe(signal, sampling_frequency=fs, frame_length=0.020, frame_stride=0.01, num_filters=40, fft_length=512, low_frequency=0, high_frequency=None) logenergy_feature_cube = speechpy.feature.extract_derivative_feature(logenergy) print('logenergy features=', logenergy.shape)
为了首先提取特征,信号样本将被堆叠成帧。为堆叠帧集合中的每个帧计算特征。
依赖
两个包Scipy
和NumPy
是必需的依赖项,它们将通过运行setup.py
文件自动安装
原文:https://speechpy.readthedocs.io/en/latest/content/preprocessing.html