Back to main page...

MIDIbox SID V2

User Manual --- SwinSID Review

SwinSID is an Atmel AVR based SID emulation created by Swinkels. Initially it was intended as replacement module for the original SID chip housed in a C64, but it works fine with MIDIbox SID as well.

Meanwhile Swinkels has enhanced the firmware dramatically, so that it can be used as inexpensive Stereo-SID option for MIDIbox SID. Even though a 1:1 emulation cannot be expected from a microcontroller without DSP capabilities (however, PC/Mac based solutions are not capable of emulating the SID accurately as well), it is still an attractive project for people who are not able to find enough SIDs for a fully stuffed MIDIbox SID, for people who are searching for alternative/additional sounds, and/or for people who cannot resist to build every SynthDIY project available on the web. :)

The Hardware

The SwinSID firmware is running on a single ATmega8515 (Mono), or two ATmega8515 (Stereo). Each AVR handles the complete SID emulation independently at a sampling rate of 31.25kHz. In order to achieve such a high rate, the AVRs are overclocked at 24 MHz!

The DAC is connected to the "master" AVR only. The "slave" AVR transfers the sample words of the right audio channel to the master via a simple parallel interface.

Each AVR has a dedicated chip-select input to differ between SID register accesses directed to the left, right or both audio channels, which qualifies this solution perfectly for MIDIbox SID. Like known from the MBHP_SID module, two 74HC595 are required as serial->parallel interface to MIDIbox Core.

Note that thanks to the interface compatibility, it is possible to control two MBHP_SID modules, and one Stereo-SwinSID module from the same MBHP_CORE in parallel!


A picture of the prototype. Note that at the second AVR has been added later (a stereo option wasn't planned at the beginning) - therefore it's placed with a different orientation.

Virtually all 16bit I2S DACs are compatible to SwinSID, even newer ones which require a second "system clock" (256xsampling frequency) for digital interpolation. Swinkels is using a TDA1543 (unfortunately discontinued, but still available e.g. at Voti), I tested a TDA1387 (poor quality, cannibalized from an old Soundblaster AWE32 soundcard), and a PCM1725 (best quality, available e.g. at Farnell). TDA1387 and PCM1725 require SMD soldering-skills, whereas TDA1543 comes in a DIY-friendly Dual-Inline package!

Pros & Cons

As a fan of the original SID for more than 20 years I would like to give my personal statements about SwinSID, and provide some demo samples for some first impressions.

After I got the hardware up&running, and listened to the first sounds, I was a bit dissapointed from the sound quality due to the aliasing and distortion effects - something what I haven't experienced with the original SID. Meanwhile I've learned, that such effects are mainly related to the sampling frequency, oversampling factor (to reduce disharmonics on higher oscillator frequencies) and interpolation rate (to reduce disharmonics on lower oscillator frequencies). All synthesizers, which are based on the sample technology, are affected by such issues, and the only counteractive measure is to spend as much compute power as possible.

On the other hand, I realized that Swinkels did his best to bring the emulation to the max. I find his implementation superior to other AVR based synths like the well known "AVR Synth" and "AvrX", when I compare the sampling frequency, DAC resolution, number of oscillators, and especially the quality of low pass filter.

IMHO a better sound quality can only be achieved with less DIY-friendly and much more expensive DSP or FPGA based hardware.

PROs:

  • + Inexpensive and easy to build replacement for SID chip
  • + Hardware-Compatible to original SID (no software adaptions required)
  • + Stereo Option with two AVRs
  • + Possibility to control two MBHP_SID (stuffed with original SID chips) and one Stereo-SwinSID module in parallel from a single MBHP_CORE
  • + Realtime synthesis with ZERO latency!
  • + More waveforms
  • + White noise generator
  • + All three oscillators provide a sub-oscillator function with selectable waveform; waveform can be reversed.
  • + FM between oscillators (instead of ringmodulator function)
  • + Perfectly working ADSR (the ADSR of the original SID has flaws!)
  • + Fat low-pass filter

CONs:

  • - Aliasing Effects
  • - Not 100% sound compatible (e.g. Noise waveform, sync function)
  • - No multi state filter (for Bandpass/Highpass/Notch)
  • - No ringmodulation

Demo samples

Following samples have been created with SwinSID, controlled from a MIDIbox SID V2.

swinsid_wizardry.mp3 Wizardry
Demonstration of the available waveforms (w/o noise waveform) [1]
The tune is based on the C64 game, .sid file taken from HVSC, converted with sid2midi, played with the Multi Engine. Song Author: Mike Alsop

swinsid_fm_seq.mp3 FM sounds
A demonstration of the Frequency Modulation feature. Each oscillator can act as modulator and/or carrier. From time to time the pitch is slowly changed while the tune is playing to demonstrate different FM timbres. [2]

swinsid_preview1.mp3 Filter Fun
A recording made during prototyping phase which demonstrates the self resonating filter [2], [3]

swinsid_preview2.mp3 Bassline Fun
SwinSID controlled from the Bassline Engine. In the background FM modulated oscillators through a reverb effect. [2], [3]

swinsid_drums.mp3 New food for the drum machine
SwinSID allows you to create very nice Drum Kits, which sound different to the original SID, but not less interesting for fans of electronic drums and percussions [2]

[1] raw sound output of SwinSID
[2] external effects have been added
[3] StylusRMX based drums have been added



Last update: 2023-11-04

Copyright © 1998-2023, Thorsten Klose. All rights reserved.