scale= &rest references | [Function] |
Returns true if references are equal scale degree entries in *standard-scale*. references may be a mixture of note, degree and pitch references.
Example:
? (scale= 69 'a4 440.0) T
See Also:
scale/=, scale<, scale<=, scale>, scale>=, scale-max, scale-min, scale-member, *standard-scale*scale/= &rest references | [Function] |
Returns true if references contains any different scale degree entries in *standard-scale*. references may be a mixture of note, degree and pitch references.
Example:
? (scale/= 69 'a4 440.0) NIL
See Also:
scale/=, scale<, scale<=, scale>, scale>=, scale-max, scale-min, scale-member, *standard-scale*scale< &rest references | [Function] |
Returns true if references are monotonically decreasing scale degree entries in *standard-scale*. references may be a mixture of note, degree and pitch references.
Example:
? (scale< 'a2 59 440.0) T
See Also:
scale=, scale/=, scale<=, scale>, scale>=, scale-max, scale-min, scale-member, *standard-scale*scale<= &rest references | [Function] |
Returns true if references contain nondecreasing scale degree entries in *standard-scale*. references may be a mixture of note, degree and pitch references.
Example:
? (scale<= 'a2 59 440.0) T
See Also:
scale=, scale/=, scale<, scale>, scale>=, scale-max, scale-min, scale-member, *standard-scale*scale> &rest references | [Function] |
Returns true if references are monotonically increasing scale degree entries in *standard-scale*. references may be a mixture of note, degree and pitch references.
Example:
? (scale> 'a2 59 440.0) NIL
See Also:
scale=, scale/=, scale<, scale<=, scale>=, scale-max, scale-min, scale-member, *standard-scale*scale>= &rest references | [Function] |
Returns true if references contain nonincreasing scale degree entries in *standard-scale*. references may be a mixture of note, degree and pitch references.
Example:
? (scale>= 'a2 59 440.0) NIL
See Also:
scale=, scale/=, scale<, scale<=, scale>, scale-max, scale-min, scale-member, *standard-scale*scale-max &rest references | [Function] |
Returns the highest reference in references. references may be a mixture of note, degree and pitch references.
Example:
? (scale-max 60 'a4 660.0) 660.0
See Also:
scale=, scale/=, scale<, scale<=, scale>, scale>=, scale-min, scale-member, *standard-scale*scale-member ref references &key :copy :start :end :scale | [Function] |
Tests for a scale equivalent of ref in references, which can be either a list or vector of scale references. If found, the equivalent value is returned, otherwise nil. Ref and referencesmay be expressed using any combinations of note, degree, or pitch.
Example:
? (scale-member 60 '(c3 fs4 440.0 c4 60)) C4
See Also:
scale=, scale/=, scale<, scale<=, scale>, scale>=, scale-max, scale-min, *standard-scale*scale-min &rest references | [Function] |
Returns the lowest reference in references. references may be a mixture of note, degree and pitch references.
Example:
? (scale-min 60 'a4 660.0) 60
See Also:
scale=, scale/=, scale<, scale<=, scale>, scale>=, scale-max, scale-member, *standard-scale*sequence | [Pattern] |
Enumerate items in serial order. Once the last item is reached it is continually reselected by the pattern.
Example:
(setf x (items a b c d e in sequence)) #<SEQUENTIAL-ITEM-STREAM 136377321> ? (read-items x 10) (A B C D E E E E E E)
See Also:
Item Streams,series {interval}+ {option value | [Macro] |
Creates a cyclic interval stream for serial row operations. Each interval must be an integer, subpatterns are not allowed.
series implements the following option value pairs:
Example:
? (setf x (series 0 1 2 3 4 5 6 from (notes a3 a5) forming (items p i r ri) returning note)) #<SERIES-STREAM 135213471> ? (read-items x 28) (A3 AS3 B3 C4 CS4 D4 DS4 A5 GS5 G5 FS5 F5 E5 DS5 DS4 D4 CS4 C4 B3 AS3 A3 DS5 E5 F5 FS5 G5 GS5 A5)
See Also:
Item Streams,SGIMix | [Syntax] |
Produces score file output for Mix, a sound mixing package that runs on the SGI. Mix is developed by Oyvind Hammer and the Common Music syntax was implemented by Anders Vinjar, both of NoTAM, Norway. Mix is available via anonymous FTP from ftp://notam.uio.no/pub/sgi/mix.tar.gz.
shuffle seq &key :copy :start :end :state | [Function] |
Returns a random reordering of seq, which can be either a list or vector of objects to shuffle. Reordering takes place between :start and :end, which default to the full length of the sequence. If seq is a list and :copy is t (the default) then a reordered copy of seq is returned, otherwise seq is destructively modified and returned.
Example:
? (shuffle '(a b c d e)) (B A E D C)
sprout object &optional merge | [Function] |
Enqueues object in merge, which defaults to the currently executing merge. sprout may be used in conjunction with mute to create musical structure dynamically, while musical processes are already running.
See Also:
mute, Describing Music Algorithmically*standard-scale* | [Variable] |
*standard-scale* provides the default scale for note references. The initial value is the standard chromatic scale object held in the system constant *chromatic-scale*
See Also:
*chromatic-scale*, defscale, degrees, in-scale, notes, pitches*standard-tempo* | [Variable] |
Provides the default metronome tempo value. The initial value is 60.0. If the system clock mode is :seconds, a floating point tempo results in floating point time calculations.
See Also:
clock-mode, in-tempo, rhythm, rhythmsstatus? status &optional algorithm | [Function] |
Returns true if status is the current status of algorithm. The value of status must be one of the following symbols:
staves {staff}* | [Macro] |
Returns a list of staff descriptions for use with CMN output streams. Each staff is a list defining the overall characteristics for a CMN staff to be drawn:
(objects &key :name :clef :meter :recursive)
Objects are the Lisp objects that the stream's staffer function will hash on to return the actual CMN staff. If staffing is done by container (the default) then objects should be the symbolic names of the containers to group in the staff. If staffing by midi channel, objects should be the midi channel numbers (0 to 15) to include in the staff. For convenience, objects may be specified as a non-list if there is only one object for the staff.
Following objects comes optional keyword arguments:
Example:
;;; Channel staffing, 0 to treble, 1 to bass or tenor ? (staves (0 :clef treble) (1 :clef (bass tenor))) ;;; container staffing, Foo and Bar in short score ? (staves ((foo bar) :clef both :name "Piano"))
See Also:
Working with CMNsteps {interval}+ {option value}* | [Macro] |
Creates an item stream of relative interval distances in a scale. Each interval may be an integer or an item stream. A step stream is identical to an interval stream except that its intervals describe relative distances from the last position returned from the pattern, rather from the transposition offset. Macro syntax is otherwise identical to that of intervals.
Example:
? (setf x (steps 1 2 3 in random from 'c4 for 8 returning note)) #<RANDOM-STEP-STREAM 130213351> ? (read-items x 16) (C4 CS4 DS4 FS4 A4 AS4 C5 D5 C4 CS4 E4 G4 GS4 A4 AS4 CS5)
See Also:
intervals, Item Streams