asb2m10 / dexed

DX7 FM multi plaform/multi format plugin
GNU General Public License v3.0
2.79k stars 242 forks source link

Velocity Scaling #138

Open rickyackel opened 6 years ago

rickyackel commented 6 years ago

Perhaps I am missing something but, could there be a setting to scale down incoming MIDI velocity to a max of 110 from the actual max of 128? My controller keyboard is playing over bright and loud. The original DX7 did not send or internally play velocities over 110. If we had a switch in the Controls Editor, that would work great! Thanks.

Rick

papwalker commented 6 years ago

@rickyackel Try changing the dexed xml file entry 'normalizeDxVelocity' value to "1" See if that helps.

rickyackel commented 6 years ago

I'm on Mac, where would I find this file? I assumed it would be in the package contents, but I did not see it.

papwalker commented 6 years ago

@rickyackel Go Library/applicationsupport/digitalsuburban/dexed

One folder up from where your carts are.

papwalker commented 6 years ago

@rickyackel How did you go with changing the setting? Personally I prefer to use the full velocity because I really need to dig in to get past 100 anyway and it grunts the modulators up nicely. If you find it's a little too bright, work the filter a bit. The DX7 had a DAC noise filter on the output that rolled off around 14 - 16k but Dexed allows you to emit up to 20k - a lot of folks like it that way. It's more 'modern'. heh! Cheers

rickyackel commented 6 years ago

It seems to have worked testing on the CARTF0 patches but I trying to rest on my own patches but now they won't load into Dexed. I haven't had any success getting patches into the DX7 since I installed it, but my patch dump to Dexed was working fine. I can't believe I didn't save to disk. I'll have to try an old MIDI interface or maybe another reboot.

rickyackel commented 6 years ago

Update: So I've saved my patches to disk. What worked was switching off my Master Keyboard/MIDI interface. What won't work is loading my DX7 with patches from Dexed. Apparently there is only 1 MIDI Out going to the M-Audio Keystation Pro 88 through USB, although it does have 2 MIDI Outs coming back. My PICKGUITAR is still the best guitar simulation I have and Dexed does a great job. It does a light, but eerily accurate, release sound when you release the key or sustain pedal and its good to have it in my arsenal again. Thank you very much, everyone, for all your hard work on this!

rickyackel commented 6 years ago

@papwalker By work the filter, are you referring to the Engine resolution? My old TX-802 used to play the Bowed bass patch that gave me chills. Loading the patch on the old DX7 did not cut it.it seemed to have aliasing noise on the low notes that the 802 didn't, so I'm all for modern. Those stock DX7II patches seem to load patches but not the Cart Dump. I see a CELLO 1 in Dexed_cart-1/DX7-OC/DXOC09 that sounds like it.Is it going to continue loading with the 2 different panes?

papwalker commented 6 years ago

@rickyackel No I mean the filter / res above the Mono switch to the upper left of the algorithm display. The real DX7 had a Sallen-Key low-pass filter using op-amps to limit the DAC noise, fixed around 15k. At least I believe that's what it's about, I can see no other reason for it. I've not really had to touch the Dexed filter my self ... as you said, the sound is so very close but it's good to have it to fine tune a patch so to speak. Yes, Dexed is my all time favorite plugin closely followed by Arminator, Retrologue and the fullbucket stuff and XLN Addictive Keys for piano. @raphlinus , @asb2m10 , @jeremybernstein and all the guys have made an outstanding plugin IMHO. I got flamed badly on KVR for suggesting Dexed was superior to Arturia DX7V, but facts are facts. BTW You should download Imigelines Mini Host Modular, very handy. https://www.image-line.com/support/FLHelp/html/plugins/Minihost%20Modular.htm

papwalker commented 6 years ago

@asb2m10 @rickyackel Pascal My private build has a feature to turn the DX 7 max velocity (normalizeDxVelocity) on and off (amongst other things). I don't know whether it's deprecated or not but it's a trivial change. Anyway, it's your baby. screen shot 2018-05-08 at 12 51 31 pm

rickyackel commented 6 years ago

I’d like to up vote this feature. Using patches from the DX7II library, which were programmed for the full velocity range, sound half hearted with DX velocity on. Using an instance of each in Dexed in my DAW will be a major compromise. Having a switch on each instance will save a lot of issues.

asb2m10 commented 6 years ago

It is not deprecated but I'm not yet putting this option to the user since it will be confusing for anyone who is not aware of the DX7 and the DX7II. That said, Arturia added the DX7 Full Velocity option that is probably similar to this. The question is more, where to put this and how. We have time; 0.9.5 will be probably be released in 2019... Call this DX velocity response (choice of DX7 and DX7II) ?

papwalker commented 6 years ago

@asb2m10 'DX velocity response' sounds good. Yes the Arturia DX V had the setting on by default and there has been some discussion on YouTube as to why Dexed sounds better v Arturia. Many people commenting about turning the Arturia velocity limiter off so it works to 127 as a lot of the video guys weren't aware Arturia even had the switch. Some people are easily confused. You have some room on the ParamDialog for maybe an 'Advanced' section for the Engine and 'DX velocity response'. More testing of hardware may be needed - something is bothering ma a little. Cheers

rickyackel commented 6 years ago

I'd lean toward Classic Velocity^109 or DX7II Velocity^128 and make the default Classic because most of the patches are programmed for the original. By the time the DX7II came out, the DX sound library was starting to get ignored.

papwalker commented 6 years ago

@rickyackel IIRC Clasic velocity was 99 or 100 not 110 because that's what it's clamped to in Dexed. The 0-99 was used throughout the DX7 as 127 was thought a bit esoteric for musos at the time. HOWEVER! This guy got a reading of 119 out of a stock DX7 so the whole thing may be a myth. https://youtu.be/ojOiok2CRmw?t=1m50s

Do us a favour, check that a midi note sent to the dx7 with a vel of 127 sounds exactly the same as a velocity note of 100. Never mind what the DX7 sends, it's what it receives that needs clearing up.

papwalker commented 6 years ago

What I mean is that the velocity thing may be the DX7 keyboard sensors and not the firmware in the DX7 as many people are saying. My PLG 100 / 150s don't behave as if there is any such limit.

rickyackel commented 6 years ago

Hammering on the keys of my DX7 gives a maximum velocity of 109 in Logic. I don’t think my E! Upgrade had any effect on this though. I remember this being the case at the time too. I’m confused by some of the parameters on the E!, but it has a MIDI Out velocity offset to address this issue and mine is set to zero.

papwalker commented 6 years ago

@rickyackel Never had the mod, however I'm glad to know that the limit on DX7 was not Yamaha's MIDI implementation but the actual keybed. My Oxygen-88 GHA also needs a bullet to get to 127.

So the Dexed velocity limiter is only a velocity curve/ limiter that implements the poor keybed in the original. Given that this was Yamaha's first MIDI product it is understandable the velocity mapping from the sensors might need work.

The end result is that pluging in a modern controller to a DX7 (via MIDI) would produce a different output than using the DX7 keybed.

Makes me wonder if Dexed should drop the limiter and let the user use a velocity curve filter on their DAW.

rickyackel commented 6 years ago

I don’t think the XML 0 to 1 edit sounds like a limiter. Maybe my touch is lighter than I think. If it is, then yes, it should change the via velocity curve. Something like cutting received velocities over 69 by 2/3 would probably work. Using a velocity curve filter on my DAW is pretty user hostile and stand alone is still whacked.

papwalker commented 6 years ago

No it's an actual scaler-all notes are scaled, I just call it a limiter for simplicity sake. It's 100/127 The kids today will hate it.

rickyackel commented 6 years ago

Maybe a change to 109/127 will help. A lot of stuff can happen in that top 9.

vonglan commented 3 years ago

+1 please change to 109/127 and make accessible via GUI (or maybe switch automatically, when a DX7II bank/sound is loaded compared to a DX7 original?)