Extempore is a live coding environment focused on
real-time
Real-time or real time describes various operations in computing or other processes that must guarantee response times within a specified time (deadline), usually a relatively short time. A real-time process is generally one that happens in defined ...
audiovisual software development. It is designed to accommodate the demands of cyber-physical computing.
[Sorensen, Andrew, and Henry Gardner. 2010. "Programming with Time: Cyber-Physical Programming with Impromptu." In Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, 822–34. New York: ACM. ] Extempore consists of two integrated languages, Scheme (with extensions) and ''Extempore Language''. It uses the
LLVM
LLVM is a set of compiler and toolchain technologies that can be used to develop a front end for any programming language and a back end for any instruction set architecture. LLVM is designed around a language-independent intermediate represen ...
cross-language compiler to achieve performant
digital signal processing
Digital signal processing (DSP) is the use of digital processing, such as by computers or more specialized digital signal processors, to perform a wide variety of signal processing operations. The digital signals processed in this manner are ...
and related low-level features, on-the-fly.
Relationship to Impromptu
Extempore shares the use of Scheme syntax, real-time audiovisual emphasis and lead developer Andrew Sorensen with the older and related project Impromptu.
It runs under both
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
and
Mac OS X
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac (computer), Mac computers. Within the market of ...
. The bindings to
Apple
An apple is an edible fruit produced by an apple tree (''Malus domestica''). Apple fruit tree, trees are agriculture, cultivated worldwide and are the most widely grown species in the genus ''Malus''. The tree originated in Central Asia, wh ...
libraries are absent, but the environment can interface with dynamic libraries.
References
External links
*
Digital art
Computer programming
Dynamically typed programming languages
Audio programming languages
Music software plugin architectures
Free music software
Electronic music software
Free audio software
Software synthesizers
MacOS multimedia software
Multimedia software for Linux
2011 software
Array programming languages
Live coding
Algorave
{{Music-software-stub