Page 1 of 1

How do I send glissando midi messages?

PostPosted: Mon Dec 09, 2019 12:23 pm
by boi123
This tells how to make pitchbend in bytes, but I need to make them according to the pic.
MIDI Tutorial Part 8 - Pitch Bend
The Pitch Bend message is used to vary the pitch of the notes that are playing on the current MIDI channel. The message is the following:

Status byte : 1110 CCCC
Data byte 1 : 0LLL LLLL
Data byte 2 : 0MMM MMMM
where CCCC is the MIDI channel, LLLLLLL is the LSB of the pitch bend value and MMMMMMM is the MSB. The 14 bit value of the pitch bend is defined so that a value of 0x2000 is the center corresponding to the normal pitch of the note (no pitch change). Using numbers above 0x2000 (up to 0x3FFF) will increase the pitch and using numbers below (down to 0x0000) will decrease the pitch. The range of pitch change is symmetric (up and down) and can often be adjusted in the synthesizer itself. The most common range value is +/- 2 semitones around the standard note pitch.

Pitch bend is often used to create glissando and guitar bend effects. To achieve this, you must send a continuous sequence of pitch bend messages, to vary the pitch in real time, often enough so that the ear does not hear too much steps in the curve.

For instance, to "bend" a note of a semitone higher, you must send a value of 0x3000, which will be sent as:

0xE0 - 0x00 - 0x60
Indeed, the value 0x3000 must be split into two 7-bit values, giving 0x60 and 0x00 for the MSB and LSB parts.

Re: How do I send glissando midi messages?

PostPosted: Mon Dec 09, 2019 5:53 pm
by tulamide
status = 224
channel = whatever channel you want to transmit on
data1 = single steps
data2 = 128 steps

example: pitchbend value 9000
data1 = 40
data2 = 70
(70*128+40)

Re: How do I send glissando midi messages?

PostPosted: Tue Dec 10, 2019 12:29 am
by boi123
Thanks, that works, but also would like to make the slide happen over 1 second, not instantaneously.

Re: How do I send glissando midi messages?

PostPosted: Fri Dec 13, 2019 11:09 pm
by tulamide
boi123 wrote:Thanks, that works, but also would like to make the slide happen over 1 second, not instantaneously.
That's up to you to realize. There are quite a few prims and modules that will help you with that (like looper or timer for example).