Skip to content

Latest commit

 

History

History
115 lines (74 loc) · 7.55 KB

other-libraries.org

File metadata and controls

115 lines (74 loc) · 7.55 KB

Other Libraries

This document is a list of other libraries, tools, projects, etc that either have similar goals, or that you may find useful in conjunction with cl-patterns.

Common Lisp audio

Lisp/CLIM-based digital audio workstation and live coding laboratory.

The primary backend that cl-patterns is developed against, a Lisp interface to the SuperCollider sound server.

Another supported backend for cl-patterns. Written from the ground up and designed to be used with Lisp.

The original Common Lisp music library. This repository is a fork of the last version before the project switched over to using Scheme exclusively.

An object-oriented visual programming environment for musical composition based on Common Lisp. It may also be used as an all-purpose visual interface to Lisp programming. At a more specialized level, a set of provided classes and libraries make it a very convenient environment for music composition.

A wav file editor; “manipulate wav files; express noises as you think”. This is a maintained and un-bit-rotted fork of Philippe Brochard’s cl-wav-synth.

Slippery chicken is a specialised algorithmic composition program written in the general programming language Common Lisp and its object-oriented extension, the Common Lisp Object System (CLOS). The project’s main aim was, and to an extent still is, to facilitate a melding of electronic and instrumental sound worlds, not just at the sonic but at the structural level.

Lisp bindings to the OpenAL audio API, a cross-platform 3D audio API appropriate for use with gaming applications and many other types of audio applications.

A Common Lisp sound system. Most suited for use in a game system, but may feasibly also be used for more advanced things such as an audio processing tool.

Common Lisp audio-related

Extensions and convenience functionality useful when working with the systems above.

Buffer definition; audio buffer abstraction for Lisp sound synthesis systems. Abstracts away sound loading, file conversion, metadata handling, etc, to make working with buffers in systems like cl-collider and Incudine easier.

Functionality to interface with Renoise from Common Lisp.

A framework for musical expression in Lisp with a focus on music theory. (Unrelated to Common Music)

A GUI addon for Incudine using Qt.

Common Lisp graphics

A native Lisp graphical user interface library. Uses Lisp idioms and ideas for the development of user interaction modes. May be useful for visualization of pattern or other musical data, and interaction with the Lisp process.

A library for getting into gamedev with Common Lisp; a very simple interface to graphics, audio, and input. Acts as a stepping stone to (the not yet stabilized) cl-bodge.

“Experimental bodacious game engine written in Common Lisp”. A modular and extensible framework for developing games and game-like applications in Lisp.

“Code Evaluate Play Loop”. A project that attempts to make programming graphics on the GPU feel native to Lisp.

Common Lisp environment for the creation of visual art, game prototyping, etc. Similar in operation to the Processing (Java) library.

Common Lisp extensions

“Utilities beyond Alexandria”; a large collection of useful utility functionality whose goal is to fill in the gaps in Common Lisp.

Provides generic function wrappers over various functions in the Common Lisp standard, such as equality predicates and sequence operations. The goal of this wrapper is to provide a standard interface to common operations, such as testing for the equality of two objects, which is extensible to user-defined types.

“A series is a data structure much like a sequence, with similar kinds of operations. The difference is that in many situations, operations on series may be composed functionally and yet execute iteratively, without the need to construct intermediate series values explicitly. In this manner, series provide both the clarity of a functional programming style and the efficiency of an iterative programming style.”

“A library designed to make programming in Common Lisp easier”.

“Radical Utilities for Common Lisp”. Extends Common Lisp with many additional functions and syntactic sugar.

Non-CL

Audio engine, programming language and IDE. Includes the original patterns system that cl-patterns was based on, as well as scsynth, the primary backend cl-patterns is written for.

Pattern sequencing library written in Haskell. Also uses SuperCollider as a backend. It’s the inspiration for the pcycles pattern included in cl-patterns.

Racket (Scheme-like) environment for the live coding of 3D graphics and games. Includes functionality for simple analysis of audio and functions to handle OSC messages.

Audio live coding environment in Clojure using the SuperCollider server as a backend.

Tracker-inspired Emacs mode for live codable sequencing.

Emacs mode to play notes using your computer keyboard as if it were a “piano-style” keyboard, similar to functionality common in DAWs.

A digital music mashup tool inspired by Steven Hazel’s soundmosaic. The main technique employed is concatenative synthesis. Written in S7 Scheme as an extension to the Snd editor, and is released under the GPL Version 3.

A Python library for creating and manipulating musical patterns, designed for use in algorithmic composition, generative music and sonification. It makes it quick and easy to express complex musical ideas, and can send and receive events from various different sources including MIDI, MIDI files, and OSC.

A comprehensive computer-aided environment for the whole work of music composition; a virtual space where a composer can develop ideas and experiments for projects large and small.

There is an article about composing music with it.