Я думаю о запуске проекта Android, который записывает аудиосигналы и выполняет некоторую обработку для шумоподавления. Мой вопрос в том, что многие (почти все) алгоритмы шумоподавления используют БПФ, могу ли я написать программу в реальном времени? Под режимом реального времени я подразумеваю, что программа выполняет запись и обработку одновременно, чтобы я мог сэкономить свое время, когда закончу запись.
Я сделал пример проекта, который применяет преобразование Фурье к звуковому сигналу и реализует простой алгоритм, называемый подспектром. Но я обнаружил, что реализовать этот алгоритм в реальном времени сложно, а это значит, что после того, как я нажму кнопку «стоп», мне потребуется некоторое время, чтобы выполнить обработку и сохранить файл (мне также интересно, как эти коммерческие рекордеры программы записывают звук и при этом сохраняют его). Я знаю, что мой БПФ может быть не самым быстрым, но я хотел бы знать, смогу ли я достичь «реального времени», если я полностью оптимизирую его или использую самый быстрый код БПФ? Большое спасибо!