When Impromptu starts it locates and loads any *.scm files located in the ~/Library/Application Support/Impromptu directory. So to install a library just copy the *.scm file into your local '~/Library/Application Support/Impromptu' directory.

Scala Library

Thorin Kerr has generously provided a library for converting scala scale data into a format usable by impromptu's new play-sound function. A very handy little library for those interested in alternate tunings and alike. Check the scm file for instructions.

Laptop Light Sensor

Damian Morris has provided a cool little library for accessing your laptops light sensor. He has also included the xcode project so you can see how he made it and interfaced to Impromptu using the ObjC-Bridge. Great fun - check it out!

Turtle Graphics
Time/Tempo Functions
Pitch Class Functions
Musical Pattern Matching

A musical pattern matching library based on Peter Norvig's PoAIP code. The pattern-match library lets you do things like this:

; Match this melody exactly
(pm-match? '(60 67 69 71 72) '(60 67 69 71 72))
=> #t

; This will fail
(pm-match? '(60 67 69 71 72) '(60 67 72 72 72))
=> #f

and this ...

; Match any melody starting and ending with a c (in any octave)
(pm-match? '(?start=c (?* ?x) ?end=c) '(48 59 60 62 67 65 69 72))
=> #t

and much, much, more. Very cool!! Many thanks to Damian Morris for providing a really useful little library. The source is well documented so make sure you check out the top of the scm file.

pattern-match.scm

Note The pattern-match library requires the pregex regular expression library which you can find below.

Regular Expressions