OK, adding those missing parameters did the trick, last mod required was LDepthMode and RDepthMode are transposed.

Here is the whole of ROM2A converted.

Thanks a million q, or at least 200,000

Edit: You can set the default chorus (or any of the effects) to taste just by editing DX7.pch2 in the G2ools folder, dont forget to change all the variations.
I'm reposting the zip file after the latest run, I changed the name bar to show variation number, so that all 4 files are numbered 1-8.

One more thing I overlooked, the KBT needs to be switched off when op.RatioFixed is selected (they are not separate functions on the DX7). I have added the code to fix this and the LRDepthMode swap, missing parameters. Here is a zip with all 4 factory roms, talk about nostalgia. I don't remember there being so many duplicates though.

Should I post the updated dx2g2.py ?Last edited by ian-s on Wed Jan 24, 2007 10:53 pm; edited 3 times in total

I just did the pitch envelope... roughly by listening for the time and acurate by scaling for the levels..

but the dx model needs to be updated to match the DX7... so your updated version probably dont fits...

i finished a dx7 patch based on the one in the convertion that does the modulations wright..

but.. to really catch the DX7 a big moddel is needed that is doing all the wheel and aftertouch and glissando functions of the DXY.. it belongs somehow to the DX... especially aftertouch patches just cant work without that infrastructure...

Perhaps, but I don't think many DX users would actually miss the awful sound of FM at 14bit, 50K. Clavia's model I think manages to increase the quality, in a good way.

Part of the reason for the death of the DX was that people began to hear past the novelty of the realistic sounds to the underlying digital nastiness.

Still the beauty of q's design is that if you really want lofi in the final effects, you can add it yourself to the DX7.PCH2 template and it will be there for all the patches you convert.

The LFO/Pitch EG section of the DX7 was a pretty poor design compared to the rest of the synth, which probably accounts for how rarely it is used in real patches. I think the entire LFO section can be dropped without much harm, just use the G2's built in performance LFO.
The pitch EG might be used in 1:1000 patches and from memory, was difficult to get anything useful out of it. It could be approximated with an EnvMult in bipolar L3 mode. The rate conversion would need to be proportional to the level Delta, so a rate value of 69 would be 20ms if the difference between L1 and L2 was 100, or 4ms if the difference was only 20. That is assuming the relationship is linear which it isn't for the level EG

The LFO/Pitch EG section of the DX7 was a pretty poor design compared to the rest of the synth, which probably accounts for how rarely it is used in real patches. I think the entire LFO section can be dropped without much harm, just use the G2's built in performance LFO.

I dont agree...Its rarely used in all this public domain trash patches but in all the better sounds the lfo is important..I also dont see how you want to replace the lfo with the G2 performance Lfo...
important feature of the dx 7 is that you can adress the lfo individually to the operators and control the modulation amount by after touch or breath controler... this can be extremly important to bring DX sounds alive

Quote:

The pitch EG might be used in 1:1000 patches and from memory, was difficult to get anything useful out of it. It could be approximated with an EnvMult in bipolar L3 mode. The rate conversion would need to be proportional to the level Delta, so a rate value of 69 would be 20ms if the difference between L1 and L2 was 100, or 4ms if the difference was only 20. That is assuming the relationship is linear which it isn't for the level

I agree that the pitch envelope is a bit funny..but its actually the part that is the easyest to reproduce...

i had the strong impression that the G2 multienv in bipolar linera just behaves like the dx one...i was a bit irritated about the minimal attack time from around 300 ms... and checked withe a less deep sweep... but..

I dont agree...Its rarely used in all this public domain trash patches but in all the better sounds the lfo is important..I also dont see how you want to replace the lfo with the G2 performance Lfo...
important feature of the dx 7 is that you can adress the lfo individually to the operators and control the modulation amount by after touch or breath controler... this can be extremly important to bring DX sounds alive

Sounds interesting, I would love to hear some of your non trash sounds.

3phase wrote:

i had the strong impression that the G2 multienv in bipolar linera just behaves like the dx one...i was a bit irritated about the minimal attack time from around 300 ms... and checked withe a less deep sweep... but..

seems to be wright... or am i missleaded?

It has been more than 20 years since I last programmed a DX7 so I could be wrong. The pitch EG may behave differently to the Operator EG.
A simple test would be to set the Pitch EG levels to 50, -50, -50, 0 and the rates to 50,50,0,0, on the DX7 with a held note, this should produce an upward rise in pitch followed by a downward fall. If the time taken for both rise and fall is the same, then the EnvMult will do the trick.

Sounds interesting, I would love to hear some of your non trash sounds.

I dont have any..too long ago... and actually it was trashy sounds, but nice trashy sounds with a lot of aftertouch modulation.. I had a modified prophet vs where you was able to play finger vibratos with the after touch..not this finger breaking G2 style...

just finished a dx version that has the modulation routings of the dx7 ...but its not much fun when the aftertouch is too stiff... however..maybe usefull anyway...its a bit expensiv because in the dX7 the lfo routings never clip..
My circuit ti simulate this became a bit expensiv :-/

Now its only the strange poly portamento missing..no idea yet how to patch that

probably you are wright that this is allocation mode related...
maybe this just cant be done the same way on the g2..or with a high module effort...
However ..DX1.35 gives all basic parameters an is tuneable by the converter ...

I however thinkl that there should be a version with a propper DX modulation matrix aswell..or at least the mod wheel because there are many patches that reactt on the modwheel with a total soundchange...

my version 1.37 is buggy and to big... but i just played an hour on the DX7..to bad that i forgit how to safe on the machine... i had quite some fun with applying the mods to operators...

its funny..after 20 years computer trouble programming the DX from the front dont hurts as much as it used to hurt in the past...

it looks for minimal dsp use..gives all dx 7 parameters..
and has the extra fx like chorus and reverb...

The quircky modulation circuit is realized by morphs and tactical placed mixer modules... You have to assign the morphs for the desired mod range but you can switch the sources on and off like on the real DX...

this is a good compromise between dsp usage and functionality ...especially because you can access these morphs without the editor.

The pitch EG is switchable and we have the transpose parameter in the sinple package

That looks much better, and you could get 7 voice polyphony on an unexpanded G2.

I refreshed my memory with the original manual pdf that Jan posted. You are absolutely right about the expressivity of the modulation routing and that many patches take advantage of the individual AMD sensitivity for each operator, I think routing the LFO to AMD is pretty unusual. Most players, when being expressive, would prefer to control the modulation with there breath/hand/foot directly rather than relying on a mechanical sounding LFO wave. What I’m going to do then, is just add 1 constant level module which is morphed to my controller of choice patched to the AMod input.
This gives expression at very little cost and has the advantage that individual variation/patches can use different controllers if required, unlike the DX7 where it is global. I updated the DX7 patch I posted in the G2 patches/synth section like this. The choir and to a much lesser extent, the string pad uses it.

Because the DX7 LFO is essentially mono, could you perhaps put all your LFO and routing stuff (not the pitch EG) into the FX area and feed it back to the VA via a bus?

Because the DX7 LFO is essentially mono, could you perhaps put all your LFO and routing stuff (not the pitch EG) into the FX area and feed it back to the VA via a bus?

Too bad that the fx busses are not bi directional... and i dont want to use a main bus

I think its better to leave that to the user..you either can remove all the lfo stuff or place it elsewhere..

The G2 can do much better modulations anyway..But its important taht any parameter in the sysexfile find an adress in the G2...

The lfo is only part of the am mod circuit to the operators..The EG Bias parameters are the main part..you can decide if they carry lf mod or not but they act as a master after the lfo..

in the patch there are 2 EG bias assigned to modwheel and aftertouch..but you can assign anything there... the crossfader below needs to be fully clockwise..when than the lfo mods are switched off you have diredt AM modulation of the operators..

In the dx 7 you can switch and adjust that independently but its a good compromise to have the G2 patch more simple like this... The user can evaluate if the settings of the patch are promissing for operator am mod and can additional circuit manmually if desired

3phase made a good point about the pitch EG not taking much DSP so I have adjusted my copy of dx2g2.py to include a pitch EG and the mod wheel to Amod expression control. The pitch EG rates/levels required translation from 0-99 to 0-127 and the rates needed inversion. The overall range has been set to +-4 octaves like on the DX. I think it needs a smarter translation on the rates, patches with small changes in levels seem to long so obviously the EnvMulti is not a 1:1 match.

Anyway, the 256 factory patches that came in the rom cartridges 1 - 4 have been converted, zipped up and are attached here.

Browsing through the huge collection of other banks it is clear that many are just renamed copies of one of the factory patches. Maybe I should generate a CRC of the factory patches and flag anything that is just a copy on conversion, save the trouble of listening to it.

DX7FactoryPatch.zip

Description:

256 patches designed by synthesists working for Yamaha, that came with the DX7.

regarding the pitch envelope i got a pretty good level match..the timea are difficult..i mad a rough table and have sended it to qfinger...
seems that the minimal attack time is aroundd 300ms and the longest ist longer than the longest on the G2... would be possible to make a better table with testrecordings and measurement of the exact length... by ear its difficult to get the differences on long times..but i am pretty good in A/B listening..when i start measuring i am usually not far off...
We will see how the translations become when all parameters are applied...

And an update?

fixed delay circuit and all settings are on the init patch settings of the DX7..

so this is blank template now with some extra finetunings for the sound..
I reduced the vintager noise and extended frequency range top match the original DX..Sounds pretty close in this settings here 1:1 compared

On the operator EG there is a non linear relationship between rate and level so that L1=50,R1=65,L2=99 takes longer than L1=0,R1=65,L2=49.
I presume this is because of the expo curve and was hoping the pitch EG would have a linear relationship to match the linear curve.

So for example if R1=99 and abs(L1-L2)=50 takes 150ms, then abs(L1-L2)=25 should be 75ms. This would mean dx2g2 would just need to calculate the ms based on a table[0:99] * abs(ln-Ln+1) and do a closest fit to the G2 EnvMult rate.

I only can say that the pitch eg i ve in my DX version patch sounds pretty much like the one in the real DX..so i guess its linear...
and the fastes setting wich is 99 translates to 322 ms on the G2..
The levelmatching is done with the extra mixer module next to the pitch EG..0=0 and 99=127 on the G2 while 50=64...so you have the range and its centered...
You however should note that L4 is setting the startpoint of the Pitch EG aswell...so it can have an imideate jump to any level..just like in the DX

I'm not sure how to explain this better. The G2 EnvMulti uses T1,L1,T2,L2 etc as apposed to the DX which uses R1,L1,R2,L2...
This is not simply a different choice of letter.

In the G2, T=Time. This specifies the number of msec for each segment.

In the DX, R=Rate. This specifies the rate of change or slope of the segment, the actual time in ms depends as much on the distance travelled.

You can match the times of T1/R1, but the G2 setting will only be valid for the specific L1 to L2 setting.
This is confirmed by the factory patch conversion I did, patches like Decent and Flexitone have big variations in frequency and the times sound about right (from memory) but the Voices patch which has a very small frequency deviation sounds obviously too long.

What is needed is a table of times measured for a level deviation of 10 units (ie L1=50,L2=60) that would allow dx2g2 to do a true ms calculation based on both the table and the difference between consecutive levels.

Does that make sense?

On the bright side, thank god Yamaha didn't include KVS and KRS on the Pitch EG, that would have made it impossible.

The EnvMult will do, we don't need a monster table, just two tables and a bit of code.
First the program uses the DX rate value to look up a table as measured for a fixed interval (say 10 DX level units). It then works out a factor to multiply this value by based on how many actual units are between the two levels. Finally, it finds the nearest match in a table of G2 envelope times and uses that as the G2 T setting.
If the T is greater than 45 seconds it just gets set to 45 seconds, not that critical.

This would do fine till those nice folks at Clavia releases V1.5, the one with the fixed filter, DX pitch EG, sine bank etc.

The dx operator with an envelope foloower is somehow a trich to schieve such things..but only with ex curves and not bipolar...

I am just sitting on the PEG table..its not so easy because yamaha choose to scale booth time parameter and and level setting exponential..the enelope it self appears to be linear..but its stepped..it dont plays smooth to the end..

So in any case we only get a rough equation... because the G2 one is smoother its probably not too bad

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot vote in polls in this forumYou cannot attach files in this forumYou can download files in this forum

Please support our site. If you click through and buy from our affiliate partners, we earn a small commission.