采用了android pre加重的语音处理 [英] Pre-emphasis in speech processing using android

查看:348
本文介绍了采用了android pre加重的语音处理的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我工作的一个应用程序,我需要实现梅尔频率倒谱系数(MFCC)语音识别。

I'm working on an application where i need to implement Mel Frequency Cepstral Coefficients (MFCC) for speech recognition.

在MFCC的第一步是申请$ P $对 - 强调

The first step in MFCC is to apply Pre-Emphasis

$ P $对 - 重点将在更高的频率增加的信号的能量。
因为低频带是由是无用的/有害的语音识别的声音被占用。

Pre-Emphasis will increase the energy of signal at higher frequency. Because the low frequency band is occupied by sounds which are useless/harmful for speech recognition.

我发现这个方程这个过程:

I found this equation for this process:

 Y[n]=X[n]−0.95⋅X[n−1]

我的问题是我应该只是简单地套用在原始信号这个公式?因此,这将在较高的频率增加的信号的能量。或者我应该运用这个公式适用前对输入信号有一定过滤器?如果是这样,我如何编程呢?

My question is should i just simply apply this equation on the original signal?? So that it would increase the energy of the signal at higher frequency. Or should i apply a certain filter on the input signal before applying this equation? and if so, how would i program it?

推荐答案

这等式已经是pre-加重滤波器。

That equation is already the pre-emphasis filter.

在C- code实现可能是这样的:

In c-code an implementation could looks like this:

float last_input = 0;

float filter (float input)
{
  float output = input - 0.95 * last_input;
  last_input = input;
  return output;
}

下面是该滤波器的频率响应,假设44.1kHz的采样率:

Here is the frequency response of the filter, assuming a sample-rate of 44.1 kHz:

这篇关于采用了android pre加重的语音处理的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆