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

SysEx Issues: Master Volume and Device ID #502

Open
diyelectromusic opened this issue May 28, 2023 · 2 comments
Open

SysEx Issues: Master Volume and Device ID #502

diyelectromusic opened this issue May 28, 2023 · 2 comments

Comments

@diyelectromusic
Copy link
Contributor

The master volume SysEx System Common message is only valid if used with the special manufacturers ID of 0x7F, so this should be included in the test in mididevice.cpp (https://github.com/probonopd/MiniDexed/blob/main/src/mididevice.cpp#L178).

Also, in the TG specific SysEx handling later on, there is no confirmation that the SysEx message is from Yamaha, although this happens within Synth_Dexed itself so is probably ok.

I am also now wondering about the device ID in the SysEx messages.

The device ID is assumed to be a MIDI channel, so is checked against the MIDI channel for the TG. This is probably an assumption as Device IDs are meant to be something different I think? I don't know how the TX816 uses them, but it might make more sense to check the Device ID against the TG number itself rather than MIDI channel? But it probably depends on how a DX editor would use Device ID (Dexed itself only seems to have the concept of "sysex channel")?

The DX7II Advanced MIDI Application note says this about device IDs:
image

I've not found any mention of them for the original DX7 so far (did that even have them in the UI?).

Device IDs also appear in the Universal System Exclusive Messages (0x7F messages) too and it seems other manufacturers often have a device ID after the manufacturer's ID too, but I guess that isn't mandatory. Here is what the MIDI spec says about Universal SysEx Device IDs:
image

So is assuming it is the same as MIDI channel the simplest way to go for someone using MiniDexed? Maybe it is... but we perhaps ought to have a note about it somewhere and it might make exchanging data with a real DX7II problematic if the UI on the real synth is used to set Device ID to something else (does it default to 1?)

Kevin

@probonopd
Copy link
Owner

probonopd commented May 29, 2023

Hi Kevin, did you run into any concrete issue with the current implementation, like something misbehaving?

@diyelectromusic
Copy link
Contributor Author

No, I was just working through the code for other reasons and noticed that this is possibly wrong. It is the kind of problem that will only come up in specific circumstances, but if it does it will quite a pain to spot, hence documenting it here to see what others think.

The issue with the Master Volume is that we might interpret a different SysEx message as Master Volume.

On Device ID, I need someone with a real DX7 or DX7II or TX816 to tell us what the Device ID is meant to be and if this is ok! :)

Kevin

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