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

时间:2016-02-08 20:38:59

标签: android libpd

我使用libpd([adc~] - > [*~ 0.5] - > [dac~])开发了一款Android应用。该应用程序工作正常。我在耳机里听到麦克风的声音。

我的问题是:

  1. 如何将[adc~]中的数据捕获到缓冲区数组中?
  2. 我想通过网络将此缓冲区发送到另一台设备并将其加载到[dac~]

    1. 如何将缓冲区数组加载到[dac~]
    2. 此操作应在实时/近时完成。将磁盘写入〜和readfs~到磁盘上并不完整。

1 个答案:

答案 0 :(得分:0)

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

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

 [table foo 44100]

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

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

要从表中读取信号,请使用... [tabread~][tabplay~][tabread4~][tabosc~],或...

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