资源简介
语音信号处理c程序:MFCC、PLP、音高、加窗等
代码片段和文件信息
///////////////////////////////////////////////////////////////////////////////
// This is a part of the Feature program.
// Version: 1.0
// Date: February 22 2003
// Programmer: Oh-Wook Kwon
// Copyright(c) 2003 Oh-Wook Kwon. All rights reserved. owkwon@ucsd.edu
///////////////////////////////////////////////////////////////////////////////
#include “StdAfx.h“
#include “FE_feature.h“
typedef CPolynomial Polynomial;
typedef Complex CComplex;
int Fe::fftcep_spectrum_basic(short *sample int frameSize float *spectrum int fftSize int cepFilterLen)
{
_fft_spectrum_basic(sample frameSize spectrum fftSize 1 cepFilterLen);
return 1;
}
int Fe::lpc_basic(short *sample int frameSize float *acf int norder float *G)
{
vector frameA(frameSize);
preprocessing(sample frameSize &frameA[0]);
m_window.Windowing(&frameA[0] frameSize WIN_HAMMING);
_lpc_basic(&frameA[0] frameSize acf norder G);
return(1);
}
int Fe::lpc_cov_basic(short *sample int frameSize float *acf int norder float *G)
{
vector frameA(frameSize);
for(int i=0;iameSize;i++) frameA[i]=sample[i];
FeMatrix cov(norder+1 norder+1);
lpc_cov(&frameA[0] frameSize cov acf norder G);
return(1);
}
int Fe::parcor_basic(short *sample int frameSize float *kcf int norder)
{
float G;
vector acf(norder+1);
vector frameA(frameSize);
preprocessing(sample frameSize &frameA[0]);
m_window.Windowing(&frameA[0] frameSize WIN_HAMMING);
_lpc_parcor_basic(&frameA[0] frameSize &acf[0] kcf norder &G);
return(1);
}
int Fe::lar_basic(short *sample int frameSize float *lar int norder)
{
float G;
vector acf(norder+1);
vector kcf(norder+1);
vector frameA(frameSize);
preprocessing(sample frameSize &frameA[0]);
m_window.Windowing(&frameA[0] frameSize WIN_HAMMING);
_lpc_parcor_basic(&frameA[0] frameSize &acf[0] &kcf[0] norder &G);
lar[0] = 0;
for(int i=1; i<= norder; i++){
lar[i] = (float)log((1-kcf[i])/(1+kcf[i]));
}
return(1);
}
int Fe::lpc_spectrum_basic(short *sample int frameSize int norder float *spectrum int fftSize)
{
int i;
float G;
vector acf(fftSize);
lpc_basic(sample frameSize &acf[0] norder &G);
int log2fftsize = (int)(log(fftSize)/log(2)+0.5);
float logGdb = (G>0 ? 20*LOG10(G) : FE_MIN_LOG_ENERGY); /* power spectrum */
acf[0] = 1;
/* Note that the definition of a[] is y(n) = a(1)y(n-1) + a(2)y(n-2) + ... */
for(i=1;i<=norder;i++) acf[i] = -acf[i];
compute_spectrum(&acf[0] spectrum norder+1 log2fftsize);
/* Note that spectrum is in the power domain. */
for(i=0;i float db=(spectrum[i]>FE_MIN_ENERGY ? 10*LOG10(spectrum[i]) : 10*LOG10(FE_MIN_ENERGY));
spectrum[i] = (float)(logGdb-db);
}
return(1);
}
int Fe::lpccep_spectrum_basic(short *sample int frameSize int ceporder int norder float *spectrum int
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2337 2003-05-14 16:51 FE_delta.cpp
文件 17838 2003-05-18 14:48 Speech\test1.formant
文件 44406 2003-05-18 14:48 Speech\test1.mfc
文件 6916 2003-05-18 14:48 Speech\test1.pitch
文件 45505 2003-05-18 14:48 Speech\test1.plp
文件 96028 1998-05-31 18:23 Speech\test1.raw
文件 96026 2003-05-18 14:48 Speech\test2.den
文件 96026 2003-02-03 16:36 Speech\test2.raw
..AD... 0 2003-05-18 14:49 Speech
文件 9372 2003-05-15 08:22 FE_basic.cpp
文件 4935 2003-05-15 08:22 FE_common.h
文件 8985 2003-05-14 18:23 FE_complex.h
文件 4984 2003-04-04 13:21 FeatureLib\FeatureLib.dsp
文件 1446 2003-04-04 12:38 FeatureLib\FeatureLib.plg
..AD... 0 2003-05-18 14:47 FeatureLib
文件 21618 2003-05-14 16:51 FE_endpoint.cpp
文件 4127 2003-05-14 16:51 FE_endpoint.h
文件 23958 2003-05-14 16:51 FE_enhance.cpp
文件 5325 2003-05-14 16:51 FE_enhance.h
文件 5028 2003-05-14 16:51 FE_epoch.cpp
文件 2759 2003-05-14 16:51 FE_error.cpp
文件 22844 2003-05-15 08:24 FE_feature.cpp
文件 14460 2003-05-14 16:51 FE_feature.h
文件 3737 2003-05-14 21:06 FE_formant.cpp
文件 2571 2003-05-14 16:51 FE_io.cpp
文件 11430 2003-05-15 08:22 FE_lpcc.cpp
文件 4062 2003-05-14 21:12 FE_lsf.cpp
文件 725 2003-05-14 18:07 FE_main.cpp
文件 2714 2003-05-14 16:51 FE_matrix.h
文件 5867 2003-05-14 16:51 FE_mfcc.cpp
............此处省略25个文件信息
- 上一篇:C++最小二乘法拟合直线
- 下一篇:最长公共子序列—c++实现
相关资源
- LanScannerMFC程序扫描局域网内主机Mac地
- 智能电梯完整c程序
- 中值滤波的c程序,附带图片
- 捷联惯导算法+kalman滤波c程序
- 语音信号处理与提取.zip
- MFC程序开发之多人聊天室
- Visual Studio 2013开发MFC程序对Excel 2010进
- TFTP_C程序实现
- 人脸识别MFC程序
- MFC程序设计-画图板
- ADC0809仿真电路设计与C程序
- 激光扫描振镜接口协议和C程序与硬件
- MFC程序设计,使用鼠标画图程序,包
- 巴特沃斯低通滤波器的MFC程序
- C程序设计语言(第2版)(丹尼斯里奇
- 在Linux下编译并运行C程序
- LMS自适应滤波C程序,语音降噪的
- MFCC的详细介绍PPT
- 二维FDTD程序
- C语言程序设计经典100例
- 矩阵求逆c程序
- 语音信号端点检测(VC++6.0)
- MFC程序开发之聊天室客户端+服务器源
- (转)VC老版主薄荷用VC++6.0写的TCP
- C语言程序改错题库
- 用matlab调用c程序
- msp430g2553_AD采样及显示C语言程序
- CVSD编解码C语言程序
- 循环队列c程序
- 计算机图形学实验之消隐处理
评论
共有 条评论