重複の可能性:
Cプログラミング部門
値をMelFilterに変換しようとしていますが、結果を出力するたびに、doubleであっても常に「0」になります。フロートでしょうか?方程式に関する記事は次のとおりです。http://en.wikipedia.org/wiki/Mel_scale
関数は次のとおりです。
double MFCC::mel_filter(int val)
{
double tmp;
tmp = 2595 * log10(1 + val / 700);
cout << tmp << endl;
return tmp;
}
vector<double> MFCC::mel_frame(int size)
{
vector<double> mel_Frame;
for(int i=1; (i < size); i++)
{
this->mel_filter(i);
}
return mel_Frame;
}
主に、..(1、2、3、4、5、6、7 ......)などの値を渡します。
また、「1」を入力すると、式は次のようになります。
m = 2595 * log10(1 + 1 / 700) = 1.6
ヘルプや提案はありますか?