Android — открытое — инвертированный звук — анти-шум

Я очень плохо знаком с обработкой аудио и системой opensl es. В настоящее время я разрабатываю приложение, которое генерирует анти-шум. Моя идея — инвертировать значения в очереди аудио-буфера, однако все методы, которые я пробовал, не работают. Я использую opensles, так как мое приложение требует низкой задержки.

Конфигурация:

uint8_t *buffer; //buffer size is 384
engine.bitsPerSample_ = SL_PCMSAMPLEFORMAT_FIXED_16;
engine.sampleChannels_ = 1;

Методы пробовал:

  • Побитовое отрицание: например,
    bufffer [i] = ~ buffer [i];
  • стандартная математика: например, если буфер [i] равен 200, то буфер [i] = 127–73 (разница между 127 и 200);
  • Различные другие методы, которые были более или менее методом проб и ошибок

Цель:

Все значения в буфере корректно инвертированы и при постановке в очередь SLAndroidSimpleBufferQueueItf Звук воспроизведения обратен к источнику.

Кто-нибудь знает, как лучше это решить?

Любая помощь будет принята с благодарностью 🙂

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]