-
Notifications
You must be signed in to change notification settings - Fork 79
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
Mod. Wheel no position reset when changing performance #603
Comments
What does the command "B0 79 00 1" CC: Reset Cntrl actually do? |
I've been chewing this over and I think it is a symptom of the problem with having MIDI channels stored in the performances, which I've raised concerns about before. The issue is that changing the performance has the potential to change the entire MIDI context for the whole of MiniDexed, yet when using performances we also want to treat the whole system as a single 8-TG instrument... So it isn't surprising that the sequence:
This could happen for pretty much any parameter that a TG has to react to over MIDI. Part of the problem is that we use MIDI channel as basically an enable/disable indicator for TGs in performances when really that should be independent of MIDI channel. So the real fix is to have the MIDI channel configuration for all TGs as a single, system-level parameter and have the possibility of muting TGs in the performances. But whichever way we look at it, this is a bit of a mess at the moment... Kevin |
Yeah it's a mess. With my configuration, I have 8 midi channels mapped. One through eight in my keyboard, 7map to pads and one to the keybed, and a pad(there are 8 pads). In the performances.ini default, I set each TG to a different channel one through eight. I have for midi momentary buttons two for next and back. One for previous and one for select. When I hit select it toggles the keybed of the device to different midi channels I can step through each one just by hitting select and then back through by hitting prev. It will go past 8 channels, but there is silence, but I can go back. However, using the forward and next buttons I can navigate the menu next goes from TG1 to TG2(but the sound stays the same.) I eventually hit the effects menu, then the performance menu. If I hit select and go down to load, I can load another performance. Interestingly enough, it loads all the TG correctly, but the keybed is playing the third TG(TG3), then I can hit prev and go to the top level menu, then I can play the performance as specified in the performance. I say this, because while it is a bug, it is kind of a cool bug to be able to go through the TG as specified in the performances. Though I have a hard time explaining it to my daughter. Ideally, IMO, it would be the next and back keys, when the TG2 is displayed, the second tone generator would make sound. It's pretty weird because it seems to be literally remapping the midi device driver to different midi channels, as my keyboard actually registers the pads as a separate device, and I set one pad to channel one which doesn't change. Weirdly enough, if I unplug/replug the keyboard USB the midi resets, and everything works as designed. I thought it was a rogue sysex midi send messing with the keyboard, but mini dexed uses a different sysex device ID. I also tested a number of different hardwiring of channels/tone generators, and it appears that something in dexed itself changes. I haven't got out my edirol pcr-m30 to test it, that device can actually store/edit different midi channel configurations and select different channels. I hesitate to use that keyboard, because mini-dexed has no use for all the sliders and knobs. |
@diyelectromusic I am of the opinion that when changing performance, all TG's (regardless of the MIDI channel) have to set the controller position to zero. No matter where the mod. wheel is located, the sound must not be influenced by the mod. wheel after a performance change. The same probably applies to the foot controller. |
No, I'm trying to think about how to fix it so the same issue doesn't happen with other controllers too and in a way that makes sense for the system. You're seeing the issue with the ModWheel but it could happen with any controller (foot, breath, sustain, etc) - there is always the possibility of a TG receiving a message but then not a follow up message. But some of this goes back to how people use MiniDexed differently. Some want the performances to be the new presets. In such configurations, the synth ought to behave (from a controller point of view) the same for any preset, which means not having presets where some TGs are affected by controllers and others where they are not. But I'm now wondering if we should do an internal "reset all controllers" on all TGs on a performance change... I'll have a look. But I still think having MIDI channel, an inherently "system" level configuration, mixed in with performance data, an inherently "voice/sound" level configuration is wrong, but that is maybe something to chew over another day! Kevin |
Well, I have repeatedly asked you for different information as part of you reporting #595. I'm afraid I'm just not understanding quite what your issue is. I really do need you to answer those questions as fully as possible if I am to help any further, especially as I think you're describing different configurations and results as part of the same issue. Someone else might have a better understanding of your issue, but for me, that is what I'd need to know to go any further. Kevin |
MIDI "Reset all Controllers" is MIDI CC 121, which we currently don't support, so we should probably add that in generally anyway, but then the functionality if implemented per TG can also be used on performance change I'd imagine. Some device implementation suggestions here: http://midi.teragonaudio.com/tech/midispec/ctloff.htm Curiously, I don't think the DX7 or DX7II implemented this, from what I can see in its MIDI implementation charts... Kevin |
MIDI CC 121 Reset cntrl was introduced with the first GM modules (Roland Sound Canvas SC55). The DX7 did not know the command. But I'm no longer sure whether the DX7 reset the modulation when the sound changed. @diyelectromusic Kevin, how does the Yamaha DX11 behave when changing sounds with the modulation wheel turned up? |
Yes, that is what I'm thinking - but once implemented, there is no reason not to tie it to the MIDI CC. But it will definitely do at least an internal "reset all controllers" - I don't want to do something special for the ModWheel then to have someone else report the same issue with the breath controller, and so on... And I'm still mulling over a "mute" setting for TGs rather than use "MIDI disabled"... Kevin |
I understand what you mean, but with the miniDexed only two controllers would have to be reset.
Doesn't actually have anything to do with the problem. Wouldn't the solution be the same regardless of whether deactivated TG's are muted or the MIDI channel is simply set to off? |
Re: Mute - no, it is more a step on the way to handling MIDI a bit better for performances. Kevin |
The position of the mod. wheel remains in memory when the performance changes.
Problem example:
Performance "063 - Wilkinson" (TG1-TG8 is used) is played with the Mod Wheel turned up.
Then switch to "064 - Flute" (TG1&TG2), the tone has vibrato and the modwhell is turned down.
Then switch to Performance "067 - Tom's OB_DX" (TG1-TG6), the sound has vibrato again because TG3-TG6 still have the ModWheel position of Performance 063.
The problem depends on the position of the Mod. Wheel and not on the parameters:
When a performance is changed, the position of the ModWheel should be written to zero for all MIDI channels and TG's (MIDI CC: B0 01 00 n)
Peter
The text was updated successfully, but these errors were encountered: