Create octave controls for the MIDI keyboard
to-the-sun opened this issue · 0 comments
Repository
https://github.com/to-the-sun/amanuensis
The Amanuensis is an automated songwriting and recording system aimed at ridding the process of anything left-brained, so one need never leave a creative, spontaneous and improvisational state of mind, from the inception of the song until its final master. The program will construct a cohesive song structure, using the best of what you give it, looping around you and growing in real-time as you play. All you have to do is jam and fully written songs will flow out behind you wherever you go.
If you want to try it out, please get a hold of me! Playtesters wanted!
Details
If you don't have an instrument with you, there is one instrument that can always be used by default: your computer's keyboard. There are 15 keys that will play MIDI, giving you a little over an octave to work with. These keys and the pitches they generate are arranged in emulation of a piano keyboard (exactly the same as in Ableton Live) as you can see in the following image.
The one difference in the actual functionality of the keyboard for The Amanuensis is in the Z and X keys. They currently don't do anything, but in Ableton Live they change the octave you are dealing with up and down by one. Not that Ableton Live is some golden grail to emulate, but this is useful and many people are already familiar with the setup.
Components
The MIDI keyboard is handled in p midikeys
of midiports.maxpat.
The required changes should be fairly self-explanatory, looking at that screenshot. The numbers in the message boxes will need to be changed to represent notes within an octave rather than absolute numbers and then they will need to be added to a variable (of 12) denoting the current octave.
The same key
object can be used to identify when Z and X are pressed. If I'm not mistaken it doesn't matter in the case of the letter keys, but it might not be a bad idea to switch this patch while you're at it into using the "platform-independent" right outlet of key
and keyup
. Just a thought.
Deadline
This request should take no more than three days to complete.
Communication
Reply to this post or contact me through Github for more details.