Я занимаюсь разработкой приложения с использованием библиотеки Marsyas.
Я добавил несколько MarSystems в «Series» -MarSystem. Теперь хочу добавить MEL или КАРКУ банк фильтров (полосовой фильтр) для расчета энергии каждой полосы впоследствии. Я бы использовал «TriangularFilterBank«Да, но как правильно настроить банк фильтров MEL, используя эту систему MarSystem?
После этого я хочу получить доступ к данным из каждого группа из двух последовательные кадры однажды. Как ты это делаешь?
Код описанного сценария:
Marsyas::MarSystem *net = manager.create("Series", "net");
net->addMarSystem(manager.create("SoundFileSource","src"));
// ...
net->addMarSystem(manager.create("Windowing", "ham")); // creates "frames"net->addMarSystem(manager.create("Spectrum", "spec"));
net->addMarSystem(manager.create("PowerSpectrum", "powerSpec"));
// How to add a mel filter band here? <---
net->addMarSystem(manager.create("Energy", "en"));
// ...
while (net->getctrl("SoundFileSource/src/mrs_bool/hasData")->to<Marsyas::mrs_bool>())
{
// This processes one frame at a time at the moment:
net->tick();
Marsyas::mrs_realvec vec = net->getctrl("mrs_realvec/processedData")->to<Marsyas::mrs_realvec>();
// How can I access the pocessed data of EACH band of WTO consecutive
// frames at ONCE here? <-- -
}
1.) Как добавить полосу фильтра mel в систему?
2.) Как я могу получить доступ к обработанным данным каждой полосы двух последовательных окон одновременно?
Задача ещё не решена.
Других решений пока нет …