|
Software /
KyCE II - Kymatica Compositional Environmentclick for full-size screenshot AboutKyCE is an object oriented programming environment for composition based on the Nasal scripting language. It runs on Linux and depends on GTK+ and ALSA. The output from KyCE is mainly real-time MIDI output through ALSA. I'm currently working on another application: AlgoScore, an interactive graphical score for non-realtime algorithmic composition. Please check it out. KyCE consists of a Nasal interpreter, libraries for ALSA output and other stuff, a scheduler to run multiple tasks in a cooperative multitasking, and an OOP layer written in Nasal. The concept is to write classes in Nasal code, create objects of them and connect them together in a patch. Each object has a function that will run as a task with precise time control, and a function to respond on incomming messages from other objects. Each task does their work and then tells the scheduler that it's done and when it wants to be woken up to continue where it left off. A watchdog makes sure that tasks don't halt the scheduler by not returning control within a given timespan (default 3 secs). All tasks are synchronized, so you can know in which order they are executed and what timestamp they will have when outputting ALSA events. The patching is done with code, not graphically. This means you could have dynamic patches, create objects from other objects, etc... So, it's kind of a merge between systems like Max and PureData with patchable objects, and fully text-based systems like ChucK or SuperCollider. Note that KyCE does not have any DSP functionality, this is better handled by other software like PD, ChucK or CSound. (Or even better, analogue hardware synthesis... ;) The GTK library is also available in Nasal, making it easy to create custom GUI's for controlling algorithms, creating graphical sequencers, visualizing data, etc... Features
Download
Documentation
|