5

I am working on my android application project in which I am taking sound from the environment and processing it to remove noise and increase the amplitude of the signal.

For that purpose, I am using this example project for oboe library sample projects. I am getting very low latency. Now I want to know if there is a way to process input to increase the amplitude of the signal and reduce noise as we do in NoiseSuppressor but in a native way.

So important parameter for me is low latency input-output audio. So if I can achieve amplitude gain and noise reduction without adding latency then it will be great. Please kindly let me know your suggestions on this problem. Thank you for reading.

Mandar Sadye
  • 689
  • 2
  • 9
  • 30
  • have you seen this: https://github.com/igorski/MWEngine – keepTrackOfYourStack Apr 09 '19 at 15:41
  • @keepTrackOfYourStack I considered this library. It is just like oboe. Unless I am missing something, neither of these libraries provide any good way to and straight forward way like noise suppressor. At this point, I am considering to create my very own filter to reduce noise. But still, if anyone has a better solution then I will definitely look at it as I prefer using the library than writing large code which might have errors. – Mandar Sadye Apr 09 '19 at 17:48
  • yeah i did not find specific examples of noise suppression in that library either...just thought I might have missed it. – keepTrackOfYourStack Apr 09 '19 at 18:13

1 Answers1

0

No, there is no support for pre-processing / Noise cancellation of audio in oboe.

Here is their full documentation of it.

But what you can do is noise suppressor android SDK provides it for your project.

Here is the get started docs of oboe which explain of JNI and you can use noise suppressor in java/ android sdk.

Akhil Surapuram
  • 654
  • 1
  • 8
  • 22
  • Thank you Akhil Suraputam for your suggestion. But the app I am developing if a real-time app so extra switching from NDK to SDK and back to NDK will add additional overhead. The reason, why I went with NDK rather than using media recorder, was latency. Currently, I am making my own library but if you have a better suggestion or library than I am open to hearing it. – Mandar Sadye May 05 '19 at 06:52
  • Android NDK Works on JNI. pls, refer to https://developer.android.com/ndk/guides . I quote this sentence in doc "the NDK to compile C and C++ code into a native library and package it into your APK using Gradle, the IDE's integrated build system. Your Java code can then call functions in your native library through the Java Native Interface (JNI) framework." – Akhil Surapuram May 05 '19 at 17:59
  • I would also like to clarify you that using NDK is over ahead but not SDK. that's due to make native code communicate with java. – Akhil Surapuram May 05 '19 at 18:01