Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(+1)

Hi Adam,

I think one of the key reasons for the exceptional sound quality of the CMI, and the Synclavier, and the Emulator-II for that matter, is that all these units tuned and modulated their sample pitches in hardware by varying the playback clock rates of a separate DAC per voice, then mixing the results analog. There's a lot of talk about how their lo-fi sampling artifacts defined their sound, but there's definitely more to the story.

That said, I think replicating that sample playback architecture in a digital emulation is exceedingly difficult due to the asynchronous sample rate conversion. Doing that with high quality requires a ton of processor resources, and doing it fast enough for something like a sampler tends to involve compromises, which affect the sound and don't exist on the real hardware units.

After playing with the QasarBeach recreation a bit, one thing I've noticed is that these artifacts appear to be quite audible. For example, I hear the levels and relative frequencies of aliasing tones change from note to note, which certainly would not happen with a hardware CMI, because all it's doing is varying the playback clock. And you can also hear the aliasing tones change dynamically when pitch modulation is applied to a sound.

I'm wondering if you've considered trying to do something innovative with the ASRC in the playback engine in order to try to approach the sound quality of the hardware units more closely.


Regards,

Dan

Hi Dan, thanks for the detailed reply.

Yep the aliasing is a result of following the Fairlight engine. They had the same issues which were solved with tracking filters in the analogue cards. I tried hard to replicate this to san extent but eventually decided to embrace this side of things :)

Hi Adam,

Not to be argumentative, but what I'm talking about did not happen on Fairlight hardware and could not possibly happen given its architecture. Aliasing actually cannot be an artifact of sample playback through a DAC. They used R2R ladder DACs to produce a zero-order hold ("stair-stepped") output, and then they had to filter out the stepping artifacts, which are all above the Nyquist limit. (Aliasing produces artifacts below that limit.) Their tracking filters removed those high-frequency artifacts (many of which are supersonic), but even those would have been the same, relative to the note pitch from note to note. What I hear in QasarBeach are artifacts that are lower in frequency and vary in intensity (and relative pitch) from note to note. The fact that they vary from note to note strongly implicates the ASRC as the culprit, which only makes sense given the limitations of a software implementation.

My question was about whether you had considered doing something innovative with the ASRC to make a better emulation of the hardware. The hardware units do not do ASRC as part of sample playback. All software emulations must. So this is a weak link in software emulations of the Fairlight.

Regards,
Dan

the simple answer is yes the Fairlights did alias. I spake at great length with the engineers at the time about this - there are also lots of stories online where this was discussed with Peter Vogel speaking about the audio tracking filters he designed.

I also want to reference ASRC. QB is completely custom code, there is no use of inbuilt audio units, ASRC or otherwise. everything is custom written c code!

Hi Adam,

I don't think what you're talking about is aliasing, though it's a similar phenomenon. Aliasing doesn't happen during playback. It happens during sampling when there are frequencies above the Nyquist limit in the signal being sampled. The sampled signal can't represent such frequencies unambiguously. (It can't "tell the difference" between that and a lower frequency alias that's within the bandwidth limit.) Once you have a sampled signal with aliasing, there is no way to remove it.

What happens during playback is similar, but not aliasing. When you take the samples and make a stairstep (zero-order hold) waveform in the DAC, that waveform contains the spectrum of the original signal along with an infinite number of copies of that spectrum above the Nyquist limit. To properly reconstruct the original signal, all frequencies above the Nyquist limit should be filtered out to get rid of these copy spectra. When you are moving the playback speed around, as the Fairlight does to change pitches, the cuttoff frequency of the filter needs to change with it. Hence tracking filters. This is the normal architecture of such systems. You can see it in, for example, the S950 as well, which uses switched-capacitor filters to track the playback clock rate.

But something to notice about these playback artifacts is that they are always there at the same levels, and always above the Nyquist limit. And they track the original signal in frequency (hence, "tracking filters" are used to remove them). Yes, some of those frequencies are present in the playback artifacts of Fairlight hardware units, and they become more audible as playback speeds get slower (on the lower notes), though the tracking filters aim to reduce them as far as possible. If the sampling rate is mathematically related to the sampled note, it's possible to get them to be in-tune harmonics, which is a pretty cool effect!

What I hear in QB playback artifacts is NOT those playback artifacts above the Nyquist limit. What I'm hearing is lower, overlapping with the audible spectrum of the sound. Without dither, I guess it could be quantizing artifacts, except that those would be the same regardless of which note you play. What I'm hearing are artifacts that change in both pitch and intensity depending on the note played and move around relative to the note when pitch modulation (e.g. vibrato or bending) is applied. The hardware Fairlights don't do that.

Cheaper systems like the Mirage, or even the DX-7, which used simple phase accumulators internally for ASRC, exhibited such artifacts. Systems like the Fairlight, Synclavier, Emulator-II, and Akai s950 avoided them by varying the clocking rates of an individual DAC per note instead, so there is no ASRC in such systems. Notes are filtered, scaled, and mixed analog. That's the main reason they sound really different than cheaper samplers (and also why they cost so much more!)

In a software emulation, there will always be ASRC. But with modern hardware and enough oversampling, it's possible to get a good emulation. Possible, but not necessarily easy :). Real-time modulated ASRC is a complicated problem even without the need to emulate specific hardware.

I mean no disrespect. What you've accomplished in QB is quite impressive, and I've enjoyed playing with it. I was just wondering whether those unwanted artifacts could be corrected.

Best Regards,
Dan