Использование CSound с Strudel
🧪 Strudel имеет экспериментальную поддержку csound, используя @csound/browser.
Импорт .orc файлов
Чтобы использовать существующие инструменты csound, вы можете загрузить и использовать orc файл из URL следующим образом:
Обратите внимание, что вышеуказанный URL использует сокращение github:, которое разрешается в raw файл на github, но вы можете использовать любой URL по вашему желанию.
Замечательный livecode.orc by Steven Yi поставляется с множеством готовых к использованию звуков:
Написание собственных инструментов
Вы можете определить свой собственный инструмент(ы) с помощью loadCsound следующим образом:
Параметры
Функция .csound отправляет следующие p значения:
| p1 | имя инструмента, например CoolSynth |
| p2 | смещение времени, когда он должен играть |
| p3 | длительность события / hap |
| p4 | частота в герцах |
| p5 | нормализованный gain, 0-1 |
Существует альтернативная функция .csoundm с другим подходом:
| p4 | номер midi клавиши, неокругленный, 0-127 |
| p5 | midi velocity, 0-127 |
В обоих случаях p4 получается из значения freq или note.
Ограничения / Планы на будущее
Помимо перечисленных выше p значений, никакие другие параметры пока не могут быть использованы в pattern. Это также означает, что аудио эффекты работать не будут. В будущем интеграция может быть улучшена путем передачи всех параметров управления pattern в инструмент csound. Это может работать через уникальный channel для каждого значения. Каналы могут быть прочитаны вот так. Также может иметь смысл иметь стандартную библиотеку csound инструментов для эффектов strudel.
Теперь давайте погрузимся в Functional JavaScript API