/ / Обробити звукову хвилю перед безпосередньо перед динаміком - Android, аудіо, обробка

Процесуйте звукову хвилю безпосередньо перед виходом на динамік - андроїд, аудіо, обробку

Чи існує який-небудь спосіб, яким я можу обробити звукову хвилю, що йде на вхід динаміка, перш ніж вона буде програватися? Я хочу змінити значення Decibel для різних частот. Дякую

Відповіді:

1 для відповіді № 1

Це залежить від того, які ефекти ви хочете застосувати. Ви можете використовувати SoundPool.setRate просто змінити висоту тону. Якщо ви хочете отримати більш складні ефекти, подумайте про використання AudioEffect.

Я хочу змінити значення Decibel для різних частот.

Це точно що Еквалайзер ефект робить. Ви можете отримати стрічку для бажаної частоти, використовуючи Equalizer.getBand і чим змінити свій рівень з Equalizer.setBandLevel.


0 для відповіді № 2

Якщо ви маєте на увазі перед цифровим аналогомперетворення, а потім ні, ви не можете це зробити в додатку.Ви можете зробити обробку звуку до написання його в екземплярі AudioTrack або за допомогою AudioEffect, як запропонував Андрій.В обох випадках аудіо може все одно перейти через додаткові фільтри в аудіо DSP платформи (наприклад, багатошарове стиснення, пікове обмеження, вирівнювання, щоб компенсувати використаний компонент певного динаміка тощо), перш ніж досягти ЦАП.

Мені звучить, як ви хочете змінити аудіосигнал у частотній області, щоб ви могли подивитися, наприклад, на FFTW, що має інтерфейс C, а також Javaобгортка, тому ви можете використовувати її як з власного коду, так і з коду Java, залежно від того, що вам найбільше зручно. Я ніколи не використовував його самостійно, тому не можу надати будь-яку інформацію про те, як інтегрувати його в проект Android.