Widespread Lisp and Music Composition
1 Introduction
As soon as upon a time, there have been many music composition software program
packages, principally written in Widespread LISP. To call just a few I do know,
Widespread Music, Symbolic Composer (not associated to the Symbolics Lisp
Machine). Widespread Music continues to be accessible in supply code however I
doubt if anybody continues to be capable of setup that. Symbolic Composer simply
vaporized a long time in the past, which some archived applications scattered over
the Web. The package deal can also be a 32bit Intel program so newer
macOS variations wouldn’t assist it and it’s license protected
anyway. Yet one more is Patchwork, a extra graphic oriented composing
program, and I might be shock if it is ready to survive from bit
rot.
The one I truly makes use of is Opusmodus, comparable within the spirit of
Symbolic Composer. Opusmodus has launch 3.0 primarily based on LispWorks on
Dec 2022 which has Apple M1 assist, and the Home windows port is on the
means.
2 Modulate Modulation
Earlier than introducing all the flowery phrases about algorithm
composition, let’s first see a short instance that generates melody
from modulation of sin wave.
|(setq pitch
| (filter-repeat 1 (quarter-tone-closest
| (vector-to-pitch
| '(g3 g5)
5 | (add-sine-waves
| 12 120 9 4.2 :part 7
| :modulation (gen-sine 120 1 0.4 :part 60))
| :quantize 1/2))))
Determine 2.1 Visualized
waveform.
Then add some traditional euclidean rhythm. Since this can be a
randomized course of, a :seed
argument
is supplied to provide constant consequence.
|(setq rythm
| (euclidean-rhythm (gen-repeat 18 8) 1/2 8 1/16 :seed 9941))
Determine 2.2 The generated
piece.