Я пытаюсь вычислить mfcc и dtw волны, используя aquila DSP LIb. Но когда я выполняю следующий код
void main()
{
int frame_size =1024;
Aquila::WaveFile waveIn0("a_converted.wav");
Aquila::FramesCollection frameCollection0(waveIn0, frame_size);
vector<vector<double>> dtwdt0;
Aquila::Mfcc mfcc0(frame_size);
for (int i=0; i<frameCollection0.count(); i++)
{
Aquila::Frame frame = frameCollection0.frame(i);
vector<double> mfccValues = mfcc0.calculate(frame);
dtwdt0.push_back(mfccValues);
}
Aquila::WaveFile waveIn1("a_converted.wav");
Aquila::FramesCollection frameCollection1(waveIn1, frame_size);
vector<vector<double>> dtwdt1;
Aquila::Mfcc mfcc1(frame_size);
for (int i = 0; i < frameCollection1.count(); i++)
{
Aquila::Frame frame = frameCollection1.frame(i);
vector<double> mfccValues = mfcc1.calculate(frame);
dtwdt1.push_back(mfccValues);
}
Aquila::Dtw dtw(Aquila::euclideanDistance, Aquila::Dtw::PassType::Diagonals);
double distance_1 = dtw.getDistance(dtwdt0, dtwdt1);
cout << "Distance : " << distance_1 << endl;
}
это исключение произошло. векторный индекс вне диапазона Файл: c: \ program files \ microsoft visual studio 8 \ vc \ include \ vector Строка:
1124
В чем может быть проблема?
Задача ещё не решена.
Других решений пока нет …