SuperCollider: Язык программирования для звука и алгоритмической композиции
SuperCollider
SuperCollider: мощный язык программирования для синтеза звука и алгоритмической композиции. Бесплатный, открытый исходный код, для музыкантов и ученых.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
SuperCollider — это среда и язык программирования, впервые представленный в 1996 году Джеймсом Маккартни для синтеза звука в реальном времени и алгоритмического сочинения музыки. С тех пор он превратился в систему, используемую и разрабатываемую как учеными, так и художниками, работающими со звуком. Это динамический язык программирования, предоставляющий платформу для акустических исследований, алгоритмической музыки, интерактивного программирования и лайв-кодинга. Изначально выпущенный под лицензией GPL 2.0 или более поздней версии в 2002 году, а начиная с версии 3.4 – под лицензией GPL 3.0 или более поздней версии, SuperCollider является бесплатным и открытым программным обеспечением.
Audio programming language
SuperCollider is an environment and programming language originally released in 1996 by James McCartney for real time audio synthesis and algorithmic composition. Since then it has been evolving into a system used and further developed by both scientists and artists working with sound. It is a dynamic programming language providing a framework for acoustic research, algorithmic music, interactive programming and live coding. Originally released under the terms of the GPL 2.0 or later in 2002, and from version 3.4 under GPL 3.0 or later, SuperCollider is free and open source software.
Язык программирования SuperCollider (англ.
Язык программирования SuperCollider — это динамически типизированный, с автоматической сборкой мусора, однонаследственный объектно-ориентированный и функциональный язык, похожий на Smalltalk, предназначенный для разработки как пользовательского программного обеспечения, так и специализированных фреймворков. В отношении предметной области он является одновременно универсальным (например, позволяет представлять свойства, такие как время и высота тона, на различных уровнях абстракции) и содержит множество примеров реализации для конкретных задач.
The SuperCollider programming language is a dynamically typed, garbage collected, single inheritance object oriented and functional language similar to Smalltalk, and to develop custom software as well as custom frameworks. With regards to domain specific knowledge, it is both general (e. g., it allows the representation of properties such as time and pitch in variable degrees of abstraction) and has copious example implementations for specific purposes.
Клиенты
Поскольку сервер управляется с помощью Open Sound Control (OSC), для управления сервером можно использовать различные приложения. Обычно используются среды SuperCollider (см. ниже), но также можно использовать и другие системы, поддерживающие OSC, такие как Pure Data, Overtone (на основе Scala), Overtone (на основе Clojure) и Sonic Pi. Они отличаются от сред разработки, упомянутых ниже, тем, что не предоставляют интерфейс к языку программирования SuperCollider, а вместо этого напрямую взаимодействуют с аудиосервером и предлагают собственные способы реализации творческих замыслов пользователя, а также поддерживают платформы iOS.
Because the server is controlled using Open Sound Control (OSC), a variety of applications can be used to control the server. SuperCollider language environments (see below) are typically used, but other OSC aware systems can be used such as Pure Data. based on Scala, Overtone, based on Clojure, and Sonic Pi. These are distinct from the development environments mentioned below because they do not provide an interface to SuperCollider's programming language, instead they communicate directly with the audio server and provide their own approaches to facilitating user expression. and iOS.
Живое кодирование
Как универсальный динамический язык программирования, SuperCollider можно использовать для живого кодирования, то есть для выступлений, в которых исполнитель модифицирует и выполняет код в реальном времени. Определенные типы прокси служат высокоуровневыми заполнителями для объектов синтеза, которые можно заменять или изменять во время работы программы. Среды позволяют совместно использовать и изменять объекты и объявления процессов по сети. Различные библиотеки расширений поддерживают различные уровни абстракции и доступ к звуковым объектам, например, библиотека dewdrop позволяет создавать и модифицировать псевдоклассы и псевдообъекты в реальном времени.
As a versatile dynamic programming language, SuperCollider can be used for live coding, i. e. performances which involve the performer modifying and executing code on the fly. Specific kinds of proxies serve as high level placeholders for synthesis objects which can be swapped in and out or modified at runtime. Environments allow sharing and modification of objects and process declarations over networks. Various extension libraries support different abstraction and access to sound objects, e. g. dewdrop lib allows for the live creation and modification of pseudo classes and pseudo objects.