Как я могу прочитать значения samle аудиофайла в массив в ChucK? - PullRequest
0 голосов
/ 24 марта 2020

Я бы хотел предварительно выполнить операции в ChucK, используя отдельные сэмплы из аудиофайла. Есть ли разумный способ получить значения сэмплов из аудиофайла в массив в ChucK? По сути, я хочу знать Как читать данные из файла wav в массив , но для ChucK вместо C.

Моей первой мыслью было использование und SndBuf для выполнения это, но кажется, что я могу только отправлять данные из SndBuf в другие угги.

Моя вторая мысль заключалась в том, чтобы использовать FileIO в двоичном режиме для непосредственного считывания значений из несжатого файла WAV PCM. Однако единственный источник, который я смог найти в FileIO, был http://wiki.cs.princeton.edu/index.php/ChucK/Dev/IO/FileIO, а пример кода

fun int[] readInts(string path) {

    // open the file
    FileIO file;
    if (!file.open(path, FileIO.MODE_READONLY | FileIO.MODE_BINARY)) {
        int ret[0]; // error opening the specified file
        return ret;
    }

    // read the size of the array
    file ~> int size;
    file.finish(); // wait for the read to finish without advancing time
                   // before continuing

    // now read in the contents
    int ret[size];
    for (0 => int i; i < size; i++)
        file ~> ret[i];

    // and we're done
    file.close(); // automatically calls file.finish()
    return ret;

}

не работает. Я получаю сообщение об ошибке, что «FileIO» не имеет члена «MODE_WRITEONLY» или «MODE_BINARY». Кроме того, я не могу найти информацию об операторе '~>', который выдает синтаксическую ошибку.

...