如何在android中使用USB吉他接口实时处理音频?

Posted

技术标签:

【中文标题】如何在android中使用USB吉他接口实时处理音频?【英文标题】:How can I process audio in real time using an USB guitar interface in android? 【发布时间】:2015-10-29 15:12:53 【问题描述】:

我想学习如何在 android 中实时处理音频输入,所以我想制作一个实验性应用,对连接到 Android 设备的吉他进行简单的音频操作,实现一个简单的过载效果只是为了学习。

我知道,当使用内置设备麦克风等普通音频输入或使用 TRRS 3.5 毫米插孔电缆时,可以使用 AudioRecord 类捕获音频,但我想在大多数手机中延迟很高一些吉他调音器应用程序以这种方式工作,但我想知道 AndRig、DrAmp 和 usbEffects 应用程序如何使用像 Behringer UCG102 这样的外部 USB 吉他接口来实现非常低延迟的音频处理。

所以,我想在我的项目中使用这个 USB 吉他音频接口来实现低延迟。

我搜索了使用这种吉他界面的示例,但没有找到任何教程或库来使用它,所以...

这个 Guitar to USB 接口在连接到设备时是否可以像普通输入一样使用(所以我可以像在普通输入中一样使用 AudioRecord 类)?

您知道是否有使用这种音频接口的文档或教程吗?

或者我需要学习吉他到 USB 接口的特定协议并使用低级 USB API 编程来做我想做的事吗?

【问题讨论】:

【参考方案1】:

最简单的方法可能是购买this。还有一个类似于 LibUsb 的 Android API,您可以尝试将 Usb 端点作为原始数据读取(但不确定它是否适用于您的设备)。

另一种选择是制作自己的硬件(购买具有良好 ADC 的微控制器),并使用 [批量传输](https://developer.android.com/reference/android/hardware/usb/UsbDeviceConnection.html#bulkTransfer(android.hardware.usb.UsbEndpoint, byte[], int, int))(用于大量数据的 USB 通信协议) .

【讨论】:

感谢您的回答,我才意识到您在 5 年前回答了我。我最终放弃了那个项目并决定为 PC 构建它,但也许我将来会再次为 android 选择它,谢谢。

以上是关于如何在android中使用USB吉他接口实时处理音频?的主要内容,如果未能解决你的问题,请参考以下文章

吉他入门的新手,按弦弹不出音或者音发闷,左手按弦的动作要领是啥?

Guitar Pro怎么合并音轨 合并音轨一键搞定

在 Qt 中,如何在 Android 上使用 USB OTG 串行接口?

如何在 Android 中输入/输出声音?

如何利用Android手机usb接口当WIFI热点

如何写一个Android USB接口驱动