Re: ESQ1 Project
Posted: Tue Jul 03, 2018 10:34 am
I think I’ve sorted this now and the tuning is perfect!
I was misled by Christian saying that all the waveforms had a MIDI base note of middle C (60), so I used a wave reader that took this into account. This is simply wrong, for the periodic sounds at least.
We can actually ignore the original hardware for periodic sounds (oscillators)!
Take a page size of 256 samples for 1 cycle:
For A=440 the freq 0-1 value is 440/22050 = 0.0199546 (checked against Hz to freq in FS)
Since we have 256 samples, we get the counter step value from 0.0199546 x 256 = 5.1083776 samples per step.
So if we have say 1024 samples the step size for A=440 is 0.0199546 x 1024 = 20.4335104 so the larger waveform is read out with larger steps, which is what the resolution register is all about in the synth.
However, FS itself is running at 44100, and not 22050, so we need to halve the calculated value above to get the correct pitch. If we ignore the MIDI reference it works perfectly with no tuning offset.
The tuning offset I found, experimentally, was due to the MIDI note reference and this threw me off the scent.
So I’ve updated my tool to take this into account. I’ve also added a tuner for the fixed sample rate, so I can look into this semitone and fine thing with more confidence now. Once I’ve re-potted my sunflowers of course.
Also I want to look into making the sound more shitty, like the original.
Maybe there could be a quality selector added…
Cheers
Spogg
I was misled by Christian saying that all the waveforms had a MIDI base note of middle C (60), so I used a wave reader that took this into account. This is simply wrong, for the periodic sounds at least.
We can actually ignore the original hardware for periodic sounds (oscillators)!
Take a page size of 256 samples for 1 cycle:
For A=440 the freq 0-1 value is 440/22050 = 0.0199546 (checked against Hz to freq in FS)
Since we have 256 samples, we get the counter step value from 0.0199546 x 256 = 5.1083776 samples per step.
So if we have say 1024 samples the step size for A=440 is 0.0199546 x 1024 = 20.4335104 so the larger waveform is read out with larger steps, which is what the resolution register is all about in the synth.
However, FS itself is running at 44100, and not 22050, so we need to halve the calculated value above to get the correct pitch. If we ignore the MIDI reference it works perfectly with no tuning offset.
The tuning offset I found, experimentally, was due to the MIDI note reference and this threw me off the scent.
So I’ve updated my tool to take this into account. I’ve also added a tuner for the fixed sample rate, so I can look into this semitone and fine thing with more confidence now. Once I’ve re-potted my sunflowers of course.
Also I want to look into making the sound more shitty, like the original.
Maybe there could be a quality selector added…
Cheers
Spogg