【问题标题】:Is there support for audio processing in oboe library for Android?Android 的双簧管库中是否支持音频处理?
【发布时间】:2019-04-03 20:44:28
【问题描述】:

我正在开发我的 android 应用程序项目,在该项目中我从环境中获取声音并对其进行处理以消除噪声并增加信号的幅度。

为此,我将this 示例项目用于双簧管库示例项目。我的延迟非常低。现在我想知道是否有一种方法可以像我们在NoiseSuppressor 中所做的那样,以原生方式处理输入以增加信号幅度并降低噪声。

对我来说非常重要的参数是低延迟输入输出音频。因此,如果我能够在不增加延迟的情况下实现幅度增益和降噪,那就太好了。请让我知道您对此问题的建议。感谢您的阅读。

【问题讨论】:

  • 你看到了吗:github.com/igorski/MWEngine
  • @keepTrackOfYourStack 我考虑过这个库。它就像双簧管一样。除非我遗漏了什么,否则这些库都没有提供像噪声抑制器这样的好方法和直接的方法。在这一点上,我正在考虑创建我自己的过滤器来减少噪音。但是,如果有人有更好的解决方案,那么我肯定会考虑它,因为我更喜欢使用库而不是编写可能有错误的大代码。
  • 是的,我也没有在那个库中找到抑制噪音的具体例子……只是想我可能错过了。

标签: android android-ndk


【解决方案1】:

不,不支持双簧管中的音频预处理/降噪。

这是他们的full documentation

但是你可以做的是噪声抑制器android SDK为你的项目提供它。

这里是双簧管的get started 文档,它解释了 JNI,您可以在 java/android sdk 中使用噪声抑制器。

【讨论】:

  • 感谢 Akhil Suraputam 的建议。但是,如果我正在开发的应用程序是实时应用程序,那么从 NDK 到 SDK 并返回到 NDK 的额外切换将增加额外的开销。我选择 NDK 而不是媒体记录器的原因是延迟。目前,我正在制作自己的图书馆,但如果您有比我更好的建议或图书馆,我愿意听取。
  • Android NDK 在 JNI 上工作。请参考developer.android.com/ndk/guides。我在 doc "the NDK to compile C and C++ code into an native library and package it into your APK using Gradle, IDE 的集成构建系统中引用了这句话。然后,您的 Java 代码可以通过 Java Native Interface 调用本机库中的函数(JNI) 框架。”
  • 我还想澄清一下,使用 NDK 是超前的,但不是 SDK。这是因为让原生代码与 java 进行通信。
猜你喜欢
  • 2021-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-19
  • 2022-08-13
  • 1970-01-01
  • 2011-09-12
相关资源
最近更新 更多