android 上的 libpd:将 [adc~] 读入缓冲区

libpd on android: read [adc~] into buffer

我用 libpd 开发了一个 Android 应用程序([adc~]->[*~ 0.5]->[dac~])。该应用程序运行良好。我从耳机中听到麦克风的声音。

我的问题是:

  1. 如何将 [adc~] 中的数据捕获到缓冲区数组中?

我想通过网络将此缓冲区发送到另一台设备并将其加载到 [dac~]

  1. 如何将缓冲区数组加载到 [dac~]

此操作应在 real/near 时间内完成。 Writefs~ 和 readfs~ 到磁盘未填满。

好吧,Pd 中的缓冲区称为 [table]

您需要做的第一件事是实例化具有给定大小的命名 table。 例如以下将创建一个名为 "foo" 的 table,长度为 44100 个样本(如果您 运行 为 44.1kHz,则为 1 秒)

 [table foo 44100]

您可以使用 [tabwrite~] 将信号写入 table(只要收到 [bang( 就会开始写入)

 [adc~ 1]
 |
 |  [bang(
 | /
 |/
 [tabwrite~ foo]

并从 table 读取信号,使用...[tabread~],或 [tabplay~],或 [tabread4~],或 [tabosc~],或...

 [bang(
 |
 [tabplay~ foo]
 |
 [dac~]