[PD] Birds use stars - diatonic

Matt Barber brbrofsvl at gmail.com
Mon Mar 29 14:39:12 CEST 2010


>> What are some ways of telling each of the synths to "round" to the
>> nearest note in a diatonic scale?
>
> think of all the separation points between what is rounded to one note,
> and what is rounded to another note.
>
> for a standard Do major scale, if all your inputs are between 60 and 72,
> you can split with this :
>
>   [moses 61]/[moses 63]/[moses 64.5]/[moses 66]/[moses 68]/[moses 70]/[moses 71.5]
>
> because those are the averages of any two consecutive notes of the scale.
> then you connect each left-outlet to the note that you want that range of
> values to become.
>
> there are further tricks for supporting multiple octaves without having to
> make a longer chain of [moses].
>
> as a shortcut to make many [moses], there is [range] :
>
>   [range 61 63 64.5 66 68 70 71.5]
>
> in the GridFlow library.
>

You can also take your values mod 12 and use those numbers to read
indices in a 12-member table you've populated with a mapping onto your
favorite scale.  If your values are floats you might round them first.
 You can also keep track of the whole-number quotient of your value
divided by 12 so that you can get your specific octave back as well --
this gives you the equivalent of an "octave-pitch-class" notation,
like the kind you might find in csound.

Matt




More information about the Pd-list mailing list