【问题标题】:Is low OSC/Midi (no audio) latency possible on Android?在 Android 上是否可以实现低 OSC/Midi(无音频)延迟?
【发布时间】:2013-01-23 06:33:53
【问题描述】:

我想为音频交互的实时界面做一个概念,所以真正的低延迟是必不可少的。上周我读了很多关于这个话题的文章,但是在这么短的时间内不可能得到一个真正的概述。所以在我深入挖掘之前,我需要评估这个项目的可行性。

我已经阅读了很多关于 Android 和低延迟音频应用程序存在的问题,并且我知道 iOS 在该领域的表现要好得多,但如果可能的话,我更喜欢 Android。 (我没有开发 iOS 必不可少的 mac,我只是更喜欢更“开放”的 Andoid)

所以我的问题是:

  1. 糟糕的低延迟行为是否仅与实际的音频缓冲/处理有关,或者它是否也影响 midi 或仅 OSC 应用程序?对我来说,界面是最重要的部分——这意味着我只需获取在单独的 PC 中处理的 midi/OSC 命令就可以了。

  2. 我需要较低的整体延迟(从手指触摸事件到命令输出)。与 iOS 相比,这也是 Android 的问题吗?

【问题讨论】:

    标签: android midi latency osc


    【解决方案1】:

    延迟主要是音频缓冲区的一个函数。这里对最新发展进行了广泛的讨论:

    http://createdigitalmusic.com/2012/07/android-high-performance-audio-in-4-1-and-what-it-means-plus-libpd-goodness-today/

    Tl;dr 版本:从 Jelly Bean 开始,Galaxy Nexus 能够实现 12 毫秒的音频缓冲延迟。我在其他地方读到过 Nexus 10 和 Nexus 4 也可以做到这一点,但 Nexus 7 落后了。

    这里有一个稍微更技术性的讨论,它还将引导您找到一个使用 Open SL 来实现低延迟的库:

    https://github.com/libpd/pd-for-android/wiki/Low-latency-support-for-compliant-devices

    【讨论】:

      【解决方案2】:

      Android 声音的慢延迟与设备的声音缓冲区长度有关。

      我使用旧平板电脑(Android 3.2,Acer ICONIA Tab A500)进行了基准测试。
      传输一个 MIDI 事件(Note-on)的延迟平均为 12 毫秒。
      我认为没有音频的应用就足够了。

      我使用 Java 创建了基准测试。使用 Android NDK 会获得更好的性能。

      【讨论】:

      • 谢谢,这就是我正在寻找的信息! 12 毫秒听起来不太好,但已经接近可用水平。请问您如何更详细地测量它以更好地理解 12 ms 在这种情况下的含义?测量设置的粗略描述会特别有趣。
      • 我编写了如下基准程序。 1. 使用 USB MIDI 线将 MIDI 数据包从 Mac 发送到 Android。 2. Android 收到一个 MIDI 数据包。然后,Android 立即将 MIDI 发送回 Mac。 3. Mac 接收 MIDI,然后 Mac 记录持续时间。平均需要 24 毫秒。此持续时间包含两个传输方向;发送和接收。因此,我将单向方向延迟评估为 12 毫秒。
      【解决方案3】:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-04
        • 2012-04-27
        • 1970-01-01
        • 2015-10-19
        相关资源
        最近更新 更多