Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MIDI import: Pitch bend range CCs ignored and wrong default #1967

Closed
softrabbit opened this issue Apr 17, 2015 · 3 comments
Closed

MIDI import: Pitch bend range CCs ignored and wrong default #1967

softrabbit opened this issue Apr 17, 2015 · 3 comments

Comments

@softrabbit
Copy link
Member

First the easy part, the default range should be adjusted for instrument tracks imported from MIDI:
http://www.blitter.com/~russtopia/MIDI/~jglatt/tech/midispec/wheel.htm

The GM spec recommends that MIDI devices default to using the entire range of possible Pitch Wheel message values (ie, 0x0000 to 0x3FFF) as +/- 2 half steps transposition (ie, 4 half-steps total range). The Pitch Wheel Range (or Sensitivity) is adjusted via an RPN controller message.

And second, if there are any pitch bend range messages, they should be handled. And they aren't plain CCs, I'm afraid:
http://kurzweil.com/knowledgebase/pc1x/internal_voices-program_mode/33/

First you send cc# 100 with a value of 0; then cc#101 with a value of 0. This turns on reception for setting pitch bend with the Data controller (#6). Then you send cc# 6 with a value of 2 (in semitones; this will give you a whole step up and a whole step down from the center).

@softrabbit
Copy link
Member Author

Found a page containing a suitable MIDI test file containing range setting cc messages:
http://www.infocellar.com/sound/midi/pitch-bends.htm

@softrabbit
Copy link
Member Author

It wasn't hard getting the pitch bend range controllers into an automation track, but... that's not quite enough. On playback it seems the range knob only changes the display of the pitch values, and doesn't multiply the values.

So, at the end of the MIDI import the imported automation tracks will have to be processed to apply the range setting to the bend data, as there are no guarantees as to how the pitch bend and range commands are organized in the MIDI file. They could be in entirely separate tracks and the import handles one track at a time.

@tresf
Copy link
Member

tresf commented Mar 11, 2019

Migrated to #1472 and re-classified as enhancement. Quoting @softrabbit:

So, at the end of the MIDI import the imported automation tracks will have to be processed to apply the range setting to the bend data, as there are no guarantees as to how the pitch bend and range commands are organized in the MIDI file. They could be in entirely separate tracks and the import handles one track at a time.

This suggests the problem may require a reworking of how we import MIDI data and it's age (4 years old at the time of reclassifying) suggests this is more of a wish-list item anyway.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants