Stuck notes when transposing MIDI
I'm trying to make a simple MIDI transposer with increment and decrement buttons for transposing. I have it working for the most part, however when transposing, previous note ons get stuck.
This behaviour is also present in the bundled "Controller_Voice_Tranpose" macro found in "utility/display"
Any help much appreciated!
Quietschboy Member Posts: 20 Sine
i checked the ens without MIDI output, so i can´t comprehend when notes stuck. But i noticed that when changing transpose, the Note Module gets pitch information. Possibly this is the problem.
In general, and maybe this solves your problem, it is quite often good to latch values. I added a value module (latch) and an order module into your ens. Please try this:
Edit: PS: i changed the voice count to 1 in the ens. So you have to set it back to 16.0
I think your approach cannot work!
MIDI does not understand what a note is!
There is no C# semiquaver that you can add a half tone to turn into a D semiquaver.
Instead, MIDI understands events that start a note at a specific pitch and events that end a note at a specific pitch.
If you hit a C# key, your structure will send out a start event for a C# (MIDI note-on), if you then turn a knob to transpose up a halftone, and release the key, it will sent out an end event for a D (MIDI note-off)... the problem here is that there is no active D note to turn off, but there is a C# note that will never receive a matching note-off... unless you devise a way to send one...
There are possibly different ways to work around this, but they will depend on how the device receiving the midi behaves... Maybe some midi cc can be used to represent transpose? or use pitch bend? or some midi cc for glissando or portamento... but stuff like that is not universally supported. Even note off can be done in two different ways that are not always both supported by all devices!
You could immediately send a C# note-off and then a D note on... but that would also trigger envelopes etc. so not ideal.0
Depending on what this is for, you could devise a way to prevent the transpose taking effect (per polyphonic note) while the note is active. That way, it will never try to transpose an active note, so they won't hang.
Not sure the best way to achieve that in Primary.0
Maybe something like this (untested) sketch:
The idea here is that the transpose values are applied polyphonically, but only at gate-on, so gate-off should still be at the same pitch value. Needs testing of course :)2
Paule Member Posts: 829 Saw
For a note off you can use Dieter Zobels macro
Please wire it in front of P/G MIDI out. And set it to poly phone.0
Hey thanks ColB, this ended up working out really well! Also super insightful 😊1
- 10.6K All Categories
- 20 Welcome
- 441 Hangout
- 58 NI News
- 205 Tech Talks
- 1K Native Access
- 4.9K Komplete
- 612 Komplete General
- 1.1K Komplete Kontrol
- 1.8K Kontakt
- 481 Reaktor
- 150 Battery 4
- 268 Guitar Rig & FX
- 202 Massive X & Synths
- 210 Other Software & Hardware
- 2.2K Maschine
- 14 Sampling Room
- 2.6K Traktor
- 2.4K Traktor Software & Hardware
- Check out everything you can do
- Create an account
- See member benefits
- Answer questions
- Ask the community
- See product news
- Connect with creators