64 lines
959 B
Text
64 lines
959 B
Text
|
#lang scribble/manual
|
||
|
@(require (for-label racket))
|
||
|
|
||
|
@title{PdegreeToKey}
|
||
|
index into a scale@section{related}
|
||
|
Classes/Scale
|
||
|
@section{categories}
|
||
|
Streams-Patterns-Events>Patterns>Math
|
||
|
|
||
|
@section{description}
|
||
|
|
||
|
|
||
|
Returns a series of notes derived from an index into a scale.
|
||
|
|
||
|
@section{ClassMethods}
|
||
|
|
||
|
|
||
|
@section{method}
|
||
|
new
|
||
|
|
||
|
@section{argument}
|
||
|
pattern
|
||
|
integer index into the scale.
|
||
|
|
||
|
@section{argument}
|
||
|
scale
|
||
|
an array or pattern. If a pattern, it streams the scales accordingly.
|
||
|
|
||
|
@section{argument}
|
||
|
stepsPerOctave
|
||
|
the number of steps per octave in the scale.
|
||
|
|
||
|
@section{Examples}
|
||
|
|
||
|
|
||
|
|
||
|
@racketblock[
|
||
|
(
|
||
|
Pbind(\note, PdegreeToKey(
|
||
|
Pseq([1, 2, 3, 2, 5, 4, 3, 4, 2, 1], 2),
|
||
|
#[0, 2, 3, 6, 7, 9],
|
||
|
12
|
||
|
),
|
||
|
\dur, 0.25
|
||
|
).play;
|
||
|
)
|
||
|
|
||
|
|
||
|
(
|
||
|
var scales;
|
||
|
scales = #[[0, 2, 3, 6, 7, 9], [0, 1, 5, 6, 7, 9, 11], [0, 2, 3]];
|
||
|
Pbind(\note, PdegreeToKey(
|
||
|
Pseq([1, 2, 3, 2, 5, 4, 3, 4, 2, 1], 4),
|
||
|
Pstutter(3, Prand(scales, inf)),
|
||
|
12
|
||
|
),
|
||
|
\dur, 0.25
|
||
|
).play;
|
||
|
)
|
||
|
::
|
||
|
]
|
||
|
|
||
|
|