Skip to content

Explore alternative and microtonal tuning systems with this small package of abstractions for Max

License

Notifications You must be signed in to change notification settings

tmhglnd/th.scala

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

th.scala

Explore alternative and microtonal tuning systems with this small package of abstractions for Max

Support this project

Consider to name a fair price

or become a patron


About

A set of abstractions that allow you to explore alternative and microtonal tunings with MaxMSP. Import scala (.scl) files, display them on a custom keyslider (instead of the piano kslider) and convert note-numbers to frequencies in the data or signal domain.

Contains

  • th.scala

Import a scala scale-format file (.scl) with the (read $1) message and output a dictionary of the information from that file in JSON format (useful with the [dict] object). Give the object a name as first argument and use that to refer the to with the [stof] and [stof~] objects. Use the loaded scale to play notes based on the tuning. Set the tune and center value separately with messages (tune $1) and (center $1) or via attributes @tune and @center. When loading a 12-TET tuning, setting @tune 440 and @center 69 makes the object behave like a regular [mtof] object. Load the entire scala file list into a umenu object with getmenu (downloaded from huygens-fokker.org).

  • th.stof

Convert a number from scala scale-format to the corresponding frequency based on the tune, center and cents value. Use this object in combination with the [th.scala] to load your desired (.scl) scale-file. Use an argument to specify the name of the [th.scala] object to refer to. By default the output of th.stof is 12-TET so it behaves similar to the [mtof] object.

  • th.stof~

Similar as the [th.stof] object, except it works in the signal domain.

  • th.sslider

A custom jsui file that shows a kslider-like object to allow for playing with the custom tuning files. The keys are displayed side-by-side (no black keys), and their width denote the relative interval. A light-gray key denotes the octaves. The sslider works with velocity as well and in mode 2 it behaves as touchscreen (generating note-off). Unsupported yet is polyphonic mode.

  • th.ftomb

Convert a frequency value to a MIDI note number combined with a pitch-bend value for use with microtuning and alternative tunings. Combine this object with the th.scala and th.stof. Choose between hires (-1 to 1) or lores (0 - 127). Useful when wanting to connect to other midi-devices that accept pitch-bend via the [noteout] and [bendout] objects or [midiformat @hires 1] and [midiout]

  • th.ftomb~

Convert a frequency signal to a MIDI note signal combined with a pitch-bend signal for use with microtuning and alternative tunings. Combine this object with the th.scala and th.stof. Choose between hires (-1 to 1) or lores (0 - 127).

Install

1. download zip
2. unzip and place in Max Library (on MacOS ~/Documents/Max 8/Library)
3. restart Max8, open a new patcher
1. open terminal
2. $ cd ~/Documents/Max\ 8/Library
3. $ git clone https://github.com/tmhglnd/th.scala.git
4. restart Max8, open a new patcher

License

MIT License

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

About

Explore alternative and microtonal tuning systems with this small package of abstractions for Max

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published