Convert Pitch Names to MIDI Numbers (C#4 to get 61, etc)

Daniel Hynds's icon

I am wanting to design a workflow where I can give lists of notes and receive the corresponding MIDI note numbers. For example, if I send "C5 G3 B6 E3", then I would get the numbers "72 55 95 52". I created a very basic way to do it using zl.sub which seems to work with single notes, but ideally I could send in multiple notes in a single go and get those coming out individually (i.e. giving it 8 note names in a single message and getting 8 discreet midi note values to route to different voices).

I could always just create individual messages for each note, but am wondering if there is a more practical way to do it in larger groups of notes at one time. Any advice on how to make it more robust would be welcomed.

Max Patch
Copy patch and select New From Clipboard in Max.

Daniel Hynds's icon

Just had a thought, maybe I send a larger list into an unpack object, and then route each outlet to it's own setup like the one I posted above. Still feels a bit heavy handed but could be an option.

Max Patch
Copy patch and select New From Clipboard in Max.

Source Audio's icon

pick here what suits you best.

Max Patch
Copy patch and select New From Clipboard in Max.

Roman Thilenius's icon

iter takes lists and splits them into single symbols. for the translation i would use a coll.

double_UG's icon

nslider

Max Patch
Copy patch and select New From Clipboard in Max.