If you, as a DX7 clone developer, want to make happy these 2 or 3 people too, please, use fixed point calculations, resampling, real ROM data and so on :)
If you, as a DX7 clone developer, want to make happy these 2 or 3 people too, please, use fixed point calculations, resampling, real ROM data and so on :)
I considered doing a super-accurate "dirty" mode but ultimately decided against, as most of these changes would make it sound worse. One important subtlety is that after the DAC (which is just sample-and-hold) there's a Sallen-Key low-pass filter tuned at about 16kHZ, to round off the worst of the DAC artifacts. Many digital replicas (my own included) miss this, which gives a harsh brittleness to the sound.
I know dexed added multiple bit depths (this work was done after mine, and I haven't followed their fork carefully). I don't know about the other aspects of the signal chain though.
I get where you are coming from, though, and think it would be a good project for a super-dedicated contributor.
[1] https://github.com/google/music-synthesizer-for-android/blob...
You mean IC54 and IC56? I noticed them on the circuit but didn't know it was tuned SO LOW! Wasn't the sample rate over 50KHz for each voice? 16Khz looks overkill for such sample rate. I know this is a time-division-multiplexed DAC so pehaps the time division multiplexing generates even more artifacts of their own?
I would love to see a circuit that replaces the whole DAC section with 16 separate DACs that then mix their sound on the analog domain...
Note that the output wasn't 12-bit. There was a 12-bit DAC chip, but additionally to those 12 bits there are additional bits that are fed to another DAC (implemented using resistors) in charge of doing "gain-ranging" (that is, adjusting the output level of that channel). Thus the dynamic range available was much higher than just 12-bit.
>Most of software versions of DX7 don't take these nuances in account which makes some DX7 purists upset. If you, as a DX7 clone developer, want to make happy these 2 or 3 people too, please, use fixed point calculations, resampling, real ROM data and so on :)
On the other hand, i play the hardware DX7 (the real thing) plus a DX7IIFD, and i'd rather have the developers produce a cleaner version of the DX7, with a much larger/longer sine table, and more nuances to the sound. On the 'net, many claim the DX1 and DX5 sounded much more cleaner (not just "less background noise" but "sweeter sound"); i wish we could aim for that.
By the way, Yamaha FS1r is the only hardware FM synth that I currently have. Several years ago I've implemented singing synthesis after reading Yamaha's patent on FS1r. The synthesis was implemented on a specialized multicore chip and we even showed the result to Yamaha representatives. They liked the sound, but they were not interested in the chip. Anyway, it's a different story :)