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

Selecting banks + main volume + MIDIAutoVoiceDumpOnPC #599

Open
soholt opened this issue Jan 10, 2024 · 5 comments
Open

Selecting banks + main volume + MIDIAutoVoiceDumpOnPC #599

soholt opened this issue Jan 10, 2024 · 5 comments

Comments

@soholt
Copy link
Contributor

soholt commented Jan 10, 2024

I am trying to make a midi controller https://github.com/soholt/MiniDexed-Lemons

If I send 0xb1 20 00 to change the bank to 000000_rom3a.syx, bank 000001_rom3b.syx is loaded and displayed on LCD (from getsysex.sh)

Main Volume also do not seem to function

Also MIDIAutoVoiceDumpOnPC=1 does not seem to work, can I trigger it manually? (needed to update ui)

How do I upload performaces? I can send individual voices, but how do I upload the rest of the bulk params?

Thanks

@diyelectromusic
Copy link
Collaborator

diyelectromusic commented Jan 11, 2024

That is because the files are numbered according to MIDI expectations of what the user should see (i.e. 1 to 128) but the MIDI messages are numbered according to how these should be translated "on the wire" so 0 to 127. Hence MIDI bank msg 0 is file 00001, MIDI msg bank 1 is file 000002, etc.

btw the full sequence is meant to send both LSB and MSB I believe, so both CC 0x00 and CC 0x20.

Note sure why MIDIAutoVoiceDumpOnPC isn't working, pretty sure it worked last time I checked, so I'll have a quick look. It only works when in "Program Change = Voice" mode, not if you are selecting performances via Program Change.

Both channel volume (Bx 07 xx) and "master volume" SysEx messages ought to work too...

We can't upload performances atm i'm afraid. We don't have any SysEx link to those at present.

Kevin

@soholt
Copy link
Contributor Author

soholt commented Jan 11, 2024

Hi Kevin,

(In my opinion, this is madness. If I ask for bank 0, I expect bank 0 and then the display can show the bank index+1 to the user, or any other number I choose. So bank 000000_rom3a.syx seems to be a waste of space as it will never be loaded unless I send -1, to load 0..) Will update getsysex.sh to count from 1

On bank change, I send 3 msgs, bank CC MSB and LSB + PC to load the voice number to match the currently selected voice id, will try sending it as one packed msg (midi debug msgs can be seen in a browser console F12)
Screenshot from 2024-01-11 22-06-00

Individual Channel Volumes work, but not the main Volume that is controlled by sysex.

Just learned that Chromium does not like local ssl web sockets, please use Firefox.

Thanks, Gin

soholt added a commit to soholt/MiniDexed that referenced this issue Jan 11, 2024
Counting Bank voices from 1, to make use of bank 000000_rom3a.syx, as banks are indexed from 1 probonopd#599
@diyelectromusic
Copy link
Collaborator

(In my opinion, this is madness. If I ask for bank 0, I expect bank 0 and then the display can show the bank index+1 to the user, or any other number I choose.

That's just how MIDI works. See #456 (reply in thread)

It is quite clear on the subject: when "telling" the user, use 1-indexed ranges. On the wire, use 0-indexed ranges. Of course, really what you should be saying in your statement here is "I am a person, so I'm asking for Bank 1 and I don't care what magic goes on underneath to select bank 1".

Since the changes April last year (see #482) bank filenames have started from 00001 to reflect the MIDI specification so that filenames match what any tool will be showing the user so the numbers and names will match.

Kevin

@diyelectromusic
Copy link
Collaborator

Right - yes, that is a bug in getsysex.sh :)

@soholt
Copy link
Contributor Author

soholt commented Jan 16, 2024

(In my opinion, this is madness. If I ask for bank 0, I expect bank 0 and then the display can show the bank index+1 to the user, or any other number I choose.

That's just how MIDI works. See #456 (reply in thread)

It is quite clear on the subject: when "telling" the user, use 1-indexed ranges. On the wire, use 0-indexed ranges. Of course, really what you should be saying in your statement here is "I am a person, so I'm asking for Bank 1 and I don't care what magic goes on underneath to select bank 1".

Since the changes April last year (see #482) bank filenames have started from 00001 to reflect the MIDI specification so that filenames match what any tool will be showing the user so the numbers and names will match.

Kevin

Thank you, I will read it soon

probonopd added a commit that referenced this issue Jan 16, 2024
Counting Bank voices from 1, to make use of bank 000000_rom3a.syx, as banks are indexed from 1 #599

Co-authored-by: Gintaras Valatka <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants