back to list

Pitch bends

🔗Mark Gould <mark.gould@...>

5/8/2004 3:45:00 AM

This an extract from my pitch bend calculator spreadsheet:

Num PCs 19
1 Semitone
PC Cents Closest Diff in cents PB
A 0 0 0 0 64
1 63.157894737 100 -36.842105263 40.421052632
2 126.31578947 100 26.315789474 80.842105263
B 3 189.47368421 200 -10.526315789 57.263157895
4 252.63157895 300 -47.368421053 33.684210526
C 5 315.78947368 300 15.789473684 74.105263158
6 378.94736842 400 -21.052631579 50.526315789
7 442.10526316 400 42.105263158 90.947368421
D 8 505.26315789 500 5.2631578947 67.368421053
9 568.42105263 600 -31.578947368 43.789473684
10 631.57894737 600 31.578947368 84.210526316
E 11 694.73684211 700 -5.2631578947 60.631578947
12 757.89473684 800 -42.105263158 37.052631579
F 13 821.05263158 800 21.052631579 77.473684211
14 884.21052632 900 -15.789473684 53.894736842
15 947.36842105 900 47.368421053 94.315789474
G 16 1010.5263158 1000 10.526315789 70.736842105
17 1073.6842105 1100 -26.315789474 47.157894737
18 1136.8421053 1100 36.842105263 87.578947368
A 19 0 0 0 64
in other words bend 0 = down 1/2 semitone
bend 127 = up 1/2 semitone
The whole range is
The last column is the computed pitch bend, and I take the closest integer value

The controller setting I use is 100,101 and the data entry is 6,1, where 1 means bend range max

Have I been confused by all this and produced errors in pitch bends?

Mark

🔗Gene Ward Smith <gwsmith@...>

5/9/2004 12:37:27 AM

--- In MakeMicroMusic@yahoogroups.com, Mark Gould <mark.gould@a...>
wrote:

> Have I been confused by all this and produced errors in pitch bends?

This stuff is enough to confuse anyone, since what a pitch bend does
depends on the bend range, and that can be reset by a sysex. However,
the standard seems to be to divide a semitone into 4096 parts, in
other words 4096 pitch bends is a semitone; if there isn't anything
saying do otherwise that is what is assumed. If we look at the note
numbers and pitch bends in all four of your movements taken together
and reduce it all to an octave, we get 20 combinations of note number
and pitch bend, representing a chain of 19 fifths from -10 to +9, the
0 being A 440. The -10 corresponds to the pair [71, 12544] and the +9
to [72, 4352]; these should represent the same note. Subtracting
gives [1, -8192], which means 8192 pitch bends should be a semitone.
If I reset the pitch bend range on Audio Compositor it should then
render the file in 19-equal, but if I don't do that, or if someone
plays the midi file in a midi player, I think we are off from what
you intended by a factor of two. That could be fixed by editing the
text version of the midi files and converting them back to binary.

🔗Aaron K. Johnson <akjmicro@...>

5/9/2004 7:20:16 AM

On Sunday 09 May 2004 02:37 am, Gene Ward Smith wrote:
> --- In MakeMicroMusic@yahoogroups.com, Mark Gould <mark.gould@a...>
>
> wrote:
> > Have I been confused by all this and produced errors in pitch bends?
>
> This stuff is enough to confuse anyone, since what a pitch bend does
> depends on the bend range, and that can be reset by a sysex. However,
> the standard seems to be to divide a semitone into 4096 parts, in
> other words 4096 pitch bends is a semitone; if there isn't anything
> saying do otherwise that is what is assumed. If we look at the note
> numbers and pitch bends in all four of your movements taken together
> and reduce it all to an octave, we get 20 combinations of note number
> and pitch bend, representing a chain of 19 fifths from -10 to +9, the
> 0 being A 440. The -10 corresponds to the pair [71, 12544] and the +9
> to [72, 4352]; these should represent the same note. Subtracting
> gives [1, -8192], which means 8192 pitch bends should be a semitone.
> If I reset the pitch bend range on Audio Compositor it should then
> render the file in 19-equal, but if I don't do that, or if someone
> plays the midi file in a midi player, I think we are off from what
> you intended by a factor of two. That could be fixed by editing the
> text version of the midi files and converting them back to binary.

Yes, Gene is right.

The scheme that Mark describes is one where there is only one significant byte
(midi byte that is, with the leading zero indicating that it is data) used to
indicate bend. This low-res response is found on some models of synth or
softsynth.

The standard, however, is two midi bytes (14 bits) covering a range of two
WHOLE steps (1 up from center, 1 down). This is 16384. Dividing by 4 to
account only for going one direction, and one semitone, gives us 4096.

Then of course, bend signals are centered on 8192, so 'no bend' being sent as
a pitch bend signal would be 8192 in decimal, and the hex would be
distributed over two bytes, each with leading zeros.

--
Aaron Krister Johnson
http://www.dividebypi.com
http://www.akjmusic.com

🔗Graham Breed <graham@...>

5/9/2004 7:01:01 AM

Aaron K. Johnson wrote:

> The standard, however, is two midi bytes (14 bits) covering a range of two > WHOLE steps (1 up from center, 1 down). This is 16384. Dividing by 4 to > account only for going one direction, and one semitone, gives us 4096.

by default, yes, but mark says he's sending the rpn to set 1 step

graha,

🔗Gene Ward Smith <gwsmith@...>

5/9/2004 12:58:17 PM

--- In MakeMicroMusic@yahoogroups.com, Graham Breed <graham@m...> wrote:
> Aaron K. Johnson wrote:
>
> > The standard, however, is two midi bytes (14 bits) covering a
range of two
> > WHOLE steps (1 up from center, 1 down). This is 16384. Dividing by
4 to
> > account only for going one direction, and one semitone, gives us 4096.
>
> by default, yes, but mark says he's sending the rpn to set 1 step

I can't find anything in the midi file which says it is supposed to be
anything other than the default, so midi players won't play what is
intended; even if they could accomodate a setting change with some
sort of sysex message, the message isn't there. I reset Audio
Compositor and uploaded an (I think) correct version, and at the
moment I think that, and not the midi files themselves, is the only
version that will give you the tuning Mark intended.