Skip to content

pdmeyer/pdm.scale

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pdm.scale

Utilities for working with 12 tone equal temperament scales in Max MSP.

Gen Patches

This package currently includes four gen patches:

  • pdm.scale.fit.gendsp : fit a note to a scale
  • pdm.scale.xpose.gendsp : transpose a note by a specified number of scale degrees
  • pdm.scale.validate.gendsp : validate that a scale is formatted correctly for use in the library

The gen patches are useful for processing events or signals in Max, MSP, gen~, or RNBO. You can use the component with either the signal-processing gen~ or event gen objects in Max.

[gen pdm.scale.fit] // fit a note to a scale (event version)
[gen~ pdm.scale.fit] // fit a note to a scale (signal version)

Scales are provided to the objects as a buffer containing an ascending list of semitone intervals.

For example, a Major scale would be provided as a buffer containing the intervals [0, 2, 4, 5, 7, 9, 11]. You can use the buffer name "intervals", or provide your own buffer and assign it to the "intervals" parameter of the gen/gen~ patcher:

[gen pdm.scale.fit @intervals ---my_intervals_buf]

The root note of the scale is set using the root_note attribute of the gen patch.

Use pdm.scale.maxhelp to see how to use the gen components.

Javascript

The repository also includes a Javascript class and examples for working with scales in Javascript.

These are useful when you are already using JavaScript in your patch. For example, you may process scales in an offline process or use JavaScript inside of a Max for Live MIDI Tool.

For information on this, check out examples/scales-in-javascript.maxpat and the API reference at misc/JS_API_REFERENCE.md.

Future Enhancements:

  • Use define or RNBO to make it more user friendly to invoke the objects.
  • Add helpfiles for each object
  • Tidy up the general help file and migrate it to be the package's main patch
  • Add refdocs

About

Utilities for 12-TET scales in Max

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published