-
Background: I don't process CLAP_NOTE_EXPRESSION_ messages. But my plugin can consume the original MIDI events and present them to the user to route as he/she wishes. So probably the only easy/convenient thing for me to do (for bitwig) is to internally translate some of those CLAP_NOTE_EXPRESSION_ back to MIDI. Does that make sense? Questions:
I could try to figure exactly what CC was the Sea Board sending. But obviously I don't want this translation to be tied to the Sea Board. Edit: I understand of course that I'll have to internally tie those CC to note_id. So they are per note. I do this using MPE. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
I think bitwig is amiss in doing this translation if you only advertise CLAP_NOTE_DIALECT_MIDI but your choices in #3 seem correct to me. CLAP_NOTE_EXPRESSION_EXPRESSION is the expression message. You probably want to translate to the BREATH or EXPRESSION PEDAL CC is my guess. VOLUME is a linear amplitude scaling between 0 and 4, so a VOLUME of 1 matches no change in level, VOLUME of 2 is double amplitude. At least that's what I coded in surge and it callibrated to the display in the bitwig NE viewer OK. If it helps here's the surge NE handler https://github.com/surge-synthesizer/surge/blob/main/src/common/dsp/SurgeVoice.cpp (search for |
Beta Was this translation helpful? Give feedback.
-
So after I checked that note expression editor. I'm able to receive volume changes. The maximum I get from Bitwig is 2. Thats at 18db gain in the editor. I guess thats just how it is, or may be there is something somewhere I'm missing, I'll look into it. Yeah, I guess I may need to clamp somewhere, or may be I'll apply some curve to make 0 to 1 take most of the range say from 0 to 100. and 1 to 4 take only the last bits of the range, say 100 to 127. |
Beta Was this translation helpful? Give feedback.
I think bitwig is amiss in doing this translation if you only advertise CLAP_NOTE_DIALECT_MIDI but your choices in #3 seem correct to me.
CLAP_NOTE_EXPRESSION_EXPRESSION is the expression message. You probably want to translate to the BREATH or EXPRESSION PEDAL CC is my guess.
VOLUME is a linear amplitude scaling between 0 and 4, so a VOLUME of 1 matches no change in level, VOLUME of 2 is double amplitude. At least that's what I coded in surge and it callibrated to the display in the bitwig NE viewer OK.
If it helps here's the surge NE handler https://github.com/surge-synthesizer/surge/blob/main/src/common/dsp/SurgeVoice.cpp (search for
noteExpression
) and the clap saw demo has it https:/…