Comparison of SID replacement solutions
Introduction
The Commodore SID device is a popular synthesizer chip that was installed in the C64 and C128 computers. The sound it could produce became legendary and some musicians were able to compose masterpieces that became part of popular computer games of the 80's and early 90's. The SID chip (both in the 6581 and 8580 versions) therefore became highly sought after but the stocks are becoming scarce, as it is not produced anymore since 1994. This sparks the interest on a certain number of persons to propose replacement solutions that could imitate the sound of the original chip. I am currently developing a small MIDI synthesizer sporting two SID devices (or their replacements) and I got interested into having an idea of the different results that can be obtained. Internet is full of videos comparing them on complex games' soundracks, but what I found missing is a comparison on very simple sounds, able to highlight the differences. For instance, the test I am proposing here is meant to showcase digital artefacts in the filtering section. The differences are more evident if you use good quality headphones. I have been helped by @hkz@chinwag.org in this Mastodon discussion. Kudos to them!
Fig. 1: The simple sound test
Figure 1 shows the listing of a very simple sound test program in BASIC for the C64. It generates four notes using a triangle wave at a relatively low frequency, activating a lowpass filter. The triangle wave does not contain a lot of harmonics, so it becomes easier to hear the differences. In particular, digital implementations of the filters can introduce aliasing, an unwanted phenomenon that manifests itself as high-pitched sounds that pollute the result. Here is the program you can copy on your C64, if you want to try it:
10 b=54272 14 pokeb+21,0:pokeb+22,78:pokeb+24,31 16 pokeb,176:pokeb+1,2 17 pokeb+5,43:pokeb+6,2 60 for t=1 to 4 70 poke b+4,17 80 for i=1 to 2000:next 90 poke b+4,16 100 next
It is well known that SID chips tend to sound differently. Furthermore, there have been some design changes done by Commodore between the original 6581 and 8580 SID chips, the most relevant for this test being the filters, that tend to behave differently.
The SwinSID is a popular replacement of the SID device that is based on an AtMega microcontroller. The Nano version is a small board that has the same footprint of the original SID device and can be configured to emulate both the 8580 and the 6581 devices. It is the cheaper option available and both the schematics and the firmware are more or less open source.
@hkz@chinwag.org kindly sent me in the Mastodon discussion linked above some recordings of an ARMSID installed in his 64. The ARMSID is considered one of the best alternatives to the real SID and it is powered by an STM32 ARM microcontroller, much more recent and powerful than the ATMega installed in the SwinSID. He also later sent me the SIDKick recordings.
The results
The following table summarizes the results of the tests. Click on the links to hear the .mp3 recording.
Solution | Aliasing | Notes | SID 6581 on C128 | Absent | The original 6581 SID, on a C64 recorded by @hkz@chinwag.org. The SID input is tied to the ground with a 220 ohm resistor to reduce noise. There is quite some noise remaining, but no aliasing (as it should be). |
---|---|---|
SID 8580 on C128D | Absent | The output level was quite low, I had to increase the volume digitally with the result that you can hear a lot of noise. Part of it seems to be due to the SID chip itself and even with the volume at zero (or when the ADSR has finished a cycle) you can hear the sound of the three voices leaking slightly on the output. Apart from the noise, you do not hear high frequency aliasing artefacts, as it is normal as the SID uses analog filters. For the same filter settings, probably the 8580 filters are more agressive and the sound is filtered and attenuated more than with the 6581. |
VICE 3.7.1 emulating the 8580 | Present | The result (reSID) is quite similar to the real 8580 SID, but a certain degree of aliasing is present, in the form of a high-pitched sound that evolve following the ADSR. |
SwinSID Nano 6581 | Very loud | As expected, the sound is louder than the 8580, but a LOT of aliasing is present! It is the sort of a "laser blaster" sound that completely spoils the result. |
ARMSID 6581 (firmware 2.16) | Absent | The sound is loud (as expected), very clean but for a click at the beginning of the first note (probably the volume set to 15). |
ARMSID 8580 (firmware 2.16) | Not hearable | The sound is less noisy than my recording of the real 8580 on the C128D, there is some crackling, but no aliasing. |
ARMSID 8580, ADSR fix (firmware 2.16) | Not hearable | The sound is louder than my recording of the real 8580 on the C128D, there is some crackling noise, but no aliasing. |
SIDKick Pico with DAC 6581 (firmware 0.21) | Not hearable | Very similar to the real 6581 SID, but without the oscillators leaking when the volume is set to 15. A small click is hearable at the beginning. |
SIDKick Pico with DAC 8580 (firmware 0.21) | Not hearable | Very clean rendition. NOTE by hkz: With the skpico, you can disable the output that goes through the motherboard circuitry and feed directly from the DAC. I did this in my installation, and I suspect that accounts for some of the cleanliness. |
SIDKick Pico with DAC 8580 and digiboost (firmware 0.21) | Not hearable | Clean rendition. A click (as expected) can be heard at the beginning, when the volume is set to 15. |
Conclusion
In this page, I proposed a very simple test able to highlight differences in the filters between popular Commodore SID replacement solutions (as well as the original 8580 chip). The combination of low frequency and the triangle wave makes very evident the presence of aliasing in some of them.
Fig. 2: The SID-based MIDI synthesizer I am currently developing, sporting two SwinSID's.
I am currently developing a small SID-based MIDI synthesizer and I am searching for the best solution to install two SID equivalents on it. Figure 2 shows the current (Dec. 2024) state of my circuit. I would like to put together a small and fun device to compose C64-inspired sounds, blended with modern instruments coming from other sources. To my ear, by far the best result apart the original SID's is the ARMSID emulating the 6581. I can not stand the aliasing effect that is very evident to me and spoils the otherwise nice bassy sound.
Log
- January 24, 2025: added the note by hkz.
- January 21, 2025: added the three SIDKick files, kindly provided by hkz.
- December 31, 2024: first version of the page, in English. Added the 6581 recording and the notice about the ARMSID firmware revision the same day.
License
This work is licensed under a CC BY, NC 4.0 licence.