Showing posts with label emulation. Show all posts
Showing posts with label emulation. Show all posts

Friday, January 13, 2023

SIDEMU - Part 1. SID8580 emulation test

update: a webpage for SIDEMU with additional information about the project is live now: http://sidemu.scienceontheweb.net/


Happy New Year.

It's been some time since I posted. Lately I wasn't much interested in fixing retro hardware or comparing SID replacements, etc. I don't even follow this segment of retro hobby and hobbyists and I wouldn't know there's a new SID replacement if Lorant M. (aka. DaemonPig) never contacted me. But he did, and after a nice chat he sent me his prototype SIDEMU for a test.

It's been in development for some time and he especially focused on the sound of 6581 SID's emulation - with a side effect there's no special effort on the 8580's side. His words, not mine. More on this later.

As my time is limited and honestly, making a comprehensive audio test requires a lot of recording time, this took more time than him or me expected. Nevertheless, first part of the comparison is here, putting the 8580 emulation under stress-test.


What is SIDEMU?

It's a similar solution to ArmSID and SwinSID (FPGASID is different, it's based on FPGA) with a custom emulation code. It fits the slot of the SID chip on any C64 motherboard revision, just remove the original SID and put this one in. There's a config file (native C64 prg) which, upon load you can select SID model and setup various bits of the emulation eg. filter strength/frequency, ADSR boost and more. There's 3 save slots for custom settings too.

It's a single SID emulation and I have no information if dualSID emulation is planned in the future.


Okay, so without further yada-yada, let's continue with audio examples and waveforms.

The following audio tracks are a variety of SID music - parts only, edited and chopped but NOT processed at all, they come without volume normalisation too.

Purpose is to show the true audio output of a SID8580 and SIDEMU in 8580 emulation mode, unaltered, no make up, nothing.

First, we're going to test SIDEMU with pure SID sounds. Tricky players, 1x and multispeed tracks and with some proper SID wizardry too.

Order of audio segments: one *beep* SID8580, two *beeps* SIDEMU, one *beep* SID8580, two *beeps* SIDEMU


01. Fred Gray - Legend of Kage

Classic SID tune, a classic emulation-breaker player routine.


02. David Whittaker - Lazy Jones (subtune 1)

Similar to the previous track, a classic SID tune, a classic emulation-breaker player routine.



03. Jammer - Latest Revision

I don't think it's possible to squeeze more waveform and filter change into a single-speed track than this. Jammer is truly a master of sound design and SID-torture.



04. Warp8 - Androgit

3 channels of SID music, 3 different (multi)speed of playback.



05. Shogoon - Anoushka

It's a sitar. It's a damned sitar on a SID and of course it's not sampled.



06. Manganoid - Cowboyessness

Impressive blues harmonica sound, and as the previous track, this is pure SID sound, no sampling.



07. Frostbyte - Gubber Eye Joe

A double-speed gabber track with and impressive Juno Hoover sound.



Next up is sample playback. The following tracks are either fully sampled or combining samples and SID sound together.

Order of audio segments: one *beep* SID8580, two *beeps* SIDEMU, one *beep* SID8580, two *beeps* SIDEMU


01. Mahoney - Kapla Caves

Pure samples.



02. Swallow - Wonderland X Part1

Mixture of samples and SID sounds.



03. Swallow - Fantasmolytic Tune 2

Mixture of samples and SID sounds.



04. LMan - My Life

THCM player, mixture of samples and SID sounds.



05. Vincenzo - Liquid Venus

Samples only, playing back a 4 channel .MOD on the C64.



So, first impression is that SIDEMU's output is a tad quieter. According to Lorant it's intentional, reason is to avoid the 6581 filter resonance and distortion's increased output level to be too hot for an amplifier.

Makes sense, it's a digital circuit.

Second impression is... what the hell, this emulation is great! It's barely, and I mean BARELY different to the original SID8580's sound.

SIDEMU wins and plays back -seemingly without any effort- all of the tricky SIDs, Lazy Jones, Legend of Cage, single and multispeed trickery and various types of sample playback too.

I'm impressed.

Looking at the waveforms, the SIDEMU's output signal might be a bit compressed, or it's just the filter that smoothens the spikes out. Speaking of filter, it sounds just a tiny bit darker and more resonant than on the original 8580. I wouldn't notice it by just listening to them on a blind A-B test and couldn't tell which is emulation and which is original audio.

Another noticeable difference on the waveforms is DC offset. It's visible but inaudible.

And to just find another thing to complain about: in some tracks the Release of the ADSR curves, especially at long Release values, SIDEMU seems different. It's a tough challenge to get it right due to the SID's inaccurate ADSR timing tho.

Oh, and of course, timing. Timing of oscillators aka. starting a note seems completely the same on SIDEMU and SID8580, so timing is spot on accurate.


I'm surprised and happy that out of nowhere there's a SID replacement that does it all. I don't know how much effort and time went into its development, I can imagine it's A LOT. Considering it's another one-man show, it's impressive and very well done. As mentioned before, I had no chance to check out new ArmSID and FPGASID firmware's - probably it's time to do it. I got really curious what they can offer in terms of accuracy after a few years of development.

I'm also looking for SIDEMU's 6581 emulation too. Until then, here are the test tracks in full length and in stereo. Left channel is SID8580, right channel is SIDEMU's 8580 mode, normalized loudness levels, no further processing.

Thank you for your attention, see you next time.

*Disclaimer: surely, there might be SIDs out there that doesn't sound good on SIDEMU because amongst 50.000 SID music there could be a very specific player and code that just breaks the emulation. In case SIDEMU will be released to the public and you find any broken SID, please report it to Lorant or me. Thank you.




Sunday, January 13, 2019

FPGASID vs. SID8580 vs. SID6581

So, here it is. The FPGASID has arrived and you should know what's coming up now:


Yes, exactly. A comparison, a test, audio examples, a lot of audio to listen to and some of text to read.

First of all, I have to mention that I listened some examples already available on the FPGASID page. And I was sad because while the audio sounds good the examples are well-known game tunes from the 80s. As if there was no life after 1990. As if there are no hundreds of thousands of great C64 music out there.
I understand that many people grew up with playing those good old games, listening to the awesome soundtracks. And only a small percentage of them are aware of the fact that demoscene does exist and also the chiptune scene keeps the C64 music alive.
Yes, old game tunes are gold, their composers were the pioneers back then.
But there are many more pioneers who experienced with the SID, created music, exploited many features and discovered undiscovered things in the last 25+ years too...
These people should be noted or at least mentioned as well, so as usual, my test is not about old game music but "new" demoscene tracks and composers.

During testing, I was thinking what to post about the FPGASID. It's actually hard to make a proper blogpost about it, it's not easy to collect and record music and arrange them to a nice post.

Especially hard to do it, because this replacement of the original SID is so good that it's very hard to find tunes that break the emulation.

Waveform and filter reproduction in 8580 mode is so good that majority of the test music were simply identical on both FPGASID and SID8580. Ringmod, sync and many other tricks and effects are almost perfect at all times.

The "filter bias" setting in 6581 mode is a great feature to simulate various 6581 revisions and it's very easy to find a satisfying setting for filter strength. To me "bias 0" sounded the best, I used this value for recording all 6581 music in this post.

Let's bring up my favorite test tracks and see how they sound.
  • Left channel: FPGASID
  • Right channel: SID8580
  • no volume changes, no additional effects were used
  • recorded directly from C64 output, without using additional cables of the FPGASID, so it acts like a single SID


01. Jeff - Analogue
This is a music written on 6581 SID. However, I recorded it in 8580 mode and on 8580 SID for this test. The reason is filter bias. Everyone can finetune it on the FPGASID to match their original SID6581 sound. To me, it wasn't that important here, the shape of the waveforms and the sound is more important.



Obvious observation 1: the music is almost completely mono. Which means, the sound is almost identical on both chips.

Obvious observation 2: there's minor difference in the filter and obviously, in the noise waveform due to it's random nature.



02. Jammer - Kraut Pleaser
Jammer was kind to share his experience with me about a recently discovered (possible) ADSR bug in the SID. He mentioned that the following music is broken on the real SID but plays fine on emulation.



Listen closely, the tune is mostly mono due to the identical waveforms. However, a few notes are different on the real SID because of the ADSR bug.
I believe, because this bug is not documented, any emulator would miss it and play the music as FPGASID. No idea if this is something that's easy to fix but this might be the reason for the upcoming tracks to break too.



03. Jammer - Quickie Veto
Same applies to this music as well, ADSR bug and almost 100% mono playback.





04. Necropolo - Cadmium
The good old 8bit car engine sound. Lot of trickery with ringmod and waveform sync. Metal to the ped... SID metal at its best.



Minor differences here and there. Overall, it's a great playback, those minor differences wouldn't be noted if this is not a direct comparison.



05. LMan - My Life
This is a recent music from X2018 demoparty, based on samples but also using SID sounds.



Obviously, the sampled sounds are identical. However, there's a SID instrument that plays the melody, its release seems to be different.



06. Vincenzo - Freefall
I'm not saying I'm special but this music of mine is a special case.

I couldn't sync up the two recordings. There are significant waveform and tempo differences, so this audio clip doesn't sound mono at all. I'm not sure what's so different in this music compared to Jammer's trickery. Maybe the extensive use of ringmod or... no idea. This issue needs more time to find out what's going on.

On a sidenote, I might have also discovered a bug in SID-Wizard's exporter. This music sounds different when played back from SID-Wizard and played back as a C64 executable music.



There are obvious differences, not only in the sound but in the visual representation of the wave files too. This is actually a one-case scenario, so far I couldn't find another music that breaks the FPGASID this much. And to be honest this is not even a big issue because the FPGASID playback sounds good on its own as well.



Conclusion:
The FPGASID is one hell of a SID replacement. With some very minor adjustments it can be the current best option for SID enthusiasts. Emulation of 6581 filter is extensive, and easy to change its bias. Configuration tool is easy to use and straight forward.

Congratulations to Andi6510 and his team for achieving this great result.

I didn't test Stereo SID and Pseudo Stereo settings. I simply had no patience to setup the additional wires. It's actually one thing I should mention, the clamps are bigger than the holes between CPU pins and it's hard to connect.

There's a bit of noise in 8580 mode that doesn't exist in 6581. Hopefully this can be fixed with firmware update.

Also, it's an expensive replacement. Yes, it's great. It sounds great, it's feature rich. But... still. I'm happy to have one but I would think A LOT to get another for this same price.


FPGASID webpage: http://www.fpgasid.de/
FPGASID at Kryoflux: https://webstore.kryoflux.com/catalog/product_info.php?products_id=63


Instead of showing more individual music examples, have a listen to a mix I compiled. All were recorded with FPGASID, set to either 6581 (filter bias 0) or 8580 mode depending on SID model required by each tune.
Have fun.




Track list:
00:00 Swallow - Fantasmolityc Tune 2 (8580)
03:19 Danko - Wonderland X Intro (6581)
04:35 Jammer - Kraut Pleaser (8580)
05:34 Vincenzo - Freefall (8580)
08:57 Jeff - Analogue (6581)
10:52 Vincent Merken - Kkan (8580)
13:34 GRG - Ambient (6581)
14:41 Wiklund - Euro Trash (8580)
16:48 Metal - Phat Phunk (6581)
17:36 Drax - Neurosis (6581)
19:42 Chubrock - Man On Fire (8580)
21:24 DOS - Chubby Tune (8580)
23:58 LMan - Could Be Cool (8580)
27:16 Linus - Cauldron II (8580)

Thursday, April 12, 2018

SID 8580 vs. ArmSID vs. SwinSID Ultimate vs. SwinSID Nano - Audio Examples

As promised, here comes a few more "SIDbreaker" track to see and hear the difference between:
SID 8580 - SwinSID Nano- SwinSID Ultimate - ArmSID


Recording conditions:
  • C64 Assy 250469 Rev 4.
  • Direct audio output into an RME audio interface
  • No volume normalization, no post-processing, just pure audio output
  • Each chip operated in 8580 mode
  • Playback with 1541U2's built-in SIDplayer


I will add my comment after each music-group, spoiler alert: Darth Vader is Luke's father.

First track:
David Whittaker - Lazy Jones [SID 8580]
Listen to "David Whittaker - Lazy Jones main - 8580 [2288]" on Spreaker.

David Whittaker - Lazy Jones [SwinSID Nano]
Listen to "David Whittaker - Lazy Jones [SwinSID Nano]" on Spreaker.

David Whittaker - Lazy Jones [SwinSID Ultimate]
Listen to "David Whittaker - Lazy Jones [SwinSID Ultimate]" on Spreaker.

David Whittaker - Lazy Jones [ArmSID]
Listen to "David Whittaker - Lazy Jones [ArmSID]" on Spreaker.

8580: Perfect playback. Of course it is.
Nano: Broken. Looks like this Nano doesn't have Codekiller's "Lazy Fix" patch.
Ultimate: Sounds good, nice playback, maybe a bit darker than on the 8580.
ArmSID: Sounds good and bright, ArmSID successfully jumps through the first blockade.


Second track:
Fred Gray - Legend of Kage [8580]
Listen to "Fred Gray - Legend of Kage [SID 8580]" on Spreaker.

Fred Gray - Legend of Kage [SwinSID Nano]
Listen to "Fred Gray - Legend of Kage [SwinSID Nano]" on Spreaker.

Fred Gray - Legend of Kage [SwinSID Ultimate]
Listen to "Fred Gray - Legend of Kage [SwinSID Ultimate]" on Spreaker.

Fred Gray - Legend of Kage [ArmSID]
Listen to "Fred Gray - Legend of Kage [ArmSID]" on Spreaker.

8580: Perfect playback.
Nano: Broken. Wow, it's soo much broken the track is unrecognizable.
Ultimate: Waveforms are nice, sounds nice, but misses a few notes here and there.
ArmSID: Almost flawless. The flange effect sounds a bit strange where the instruments overlap.

------------------------------------------------------------
*UPDATE: Legend of Kage playback issue and more has been fixed in the public release version of SwinSID Ultimate. As you can see from the photo, my Ultimate (blue) is a prototype, actually, an early version even.
------------------------------------------------------------


Third track:
Jammer - Rocking Fossils [SID 8580]
Listen to "Jammer - Rocking Fossils [SID 8580]" on Spreaker.

Jammer - Rocking Fossils [SwinSID Nano]
Listen to "Jammer - Rocking Fossils [SwinSID Nano]" on Spreaker.

Jammer - Rocking Fossils [SwinSID Ultimate]
Listen to "Jammer - Rocking Fossils [SwinSID Ultimate]" on Spreaker.

Jammer - Rocking Fossils [ArmSID]
Listen to "Jammer - Rocking Fossils [ArmSID]" on Spreaker.

8580: Man, I'm in love with this track, perfect music for a great demo from X 2016 party. My only question is, Jammer, mate. How the hell did you manage to overdrive the 8580 this much? It clips!
Nano: Broken. Strange blips and blops, filter is way off, and even more strange cracks appear here and there.
Ultimate: Good playback, the filter is definitely off a bit and it sounds darker. But it still sounds good, especially with this track. I like the stronger wobbling at 0:50.
ArmSID: Good playback, waveform looks slightly compressed/clipped. It even cracks a bit at 0:50 and at the end part. Not bad tho, I like its crunchiness when it doesn't cracks.


Fourth track:
Mahoney - Music Run Stop [SID 8580]
Listen to "Mahoney - Music Run Stop [SID 8580]" on Spreaker.

Mahoney - Music Run Stop [SwinSID Nano]
Listen to "Mahoney - Music Run Stop [SwinSID Nano]" on Spreaker.

Mahoney - Music Run Stop [SwinSID Ultimate]
Listen to "Mahoney - Music Run Stop [SwinSID Ultimate]" on Spreaker.

Mahoney - Music Run Stop [ArmSID]
Listen to "Mahoney - Music Run Stop [ArmSID]" on Spreaker.

8580: Yay Mahoney digi, yay Kraftwerk with a twist. 8580's output is quieter now, but it's nice and the samples are well-defined.
Nano: Surprisingly good but it's noisy and inaccurate. It's crunchy, but it's lovely in a way.
Ultimate: Dynamic as hell but it missed the volume fade-in at the start. Clean and well-defined digi samples.
ArmSID: Quiet, crunchy and noisy a bit but it replicates the volume fade-in nicely. Somehow it's not that clean and defined as the 8580 and Ultimate.


Fifth track, the last one for today:
Swallow - Wonderland X part 1. [SID 8580]
Listen to "Swallow - Wonderland X part 1 [SID 8580]" on Spreaker.

Swallow - Wonderland X part 1. [SwinSID Nano]
Listen to "Swallow - Wonderland X part 1 [SwinSID Nano]" on Spreaker.

Swallow - Wonderland X part 1. [SwinSID Ultimate]
Listen to "Swallow - Wonderland X part 1 [SwinSID Ultimate]" on Spreaker.

Swallow - Wonderland X part 1. [ArmSID]
Listen to "Swallow - Wonderland X part 1 [ArmSID]" on Spreaker.

8580: Digi samples mixed with SID sounds, a bit lo-fi-ish, but dynamic and clean.
Nano: Loud carrier noise, but the sample playback is good. SID instrument emulation is a bit pure here.
Ultimate: Different but still loud carrier noise. Sounds a bit like an Amiga with filter enabled. In this case I'd say it's even makes the music more audible.
ArmSID: Carrier noise is still there but in unexpected places. Nice sample playback, has it's charm with the random noises.



Conclusion:

  • Loudest output award goes to Jammer and SID 8580.
  • Most accurate emulation: well, I can't really choose between SSU and ArmSID. They both have strong and weak spots but overall they are great replacements.
  • I wouldn't recommend to get a Nano. It was good, it was the first one, but there are better options available now.
  • Digi samples are good overall
  • Old game soundtracks can break, depends on the player routine but the overall result is satisfying.
  • New demoscene tracks are the devil! Those b*****ds explore new territories in sound design and programming. One day no emulation can play those music back properly, only the original SID :)
  • Bucketlist: get an FPGASID and do a comparison with PC/Mac media players like SIDplay too.


Pseudo-SIDs are getting better and better. SwinSID appeared first, it's not actually a surprise that the Nano is not perfect. Ultimate is a totally different construction from different engineers, it just kept the SwinSID name. I didn't even know that ArmSID exists until I've seen an advertisement about it at Revision demoparty.

Despite their imperfection, they are really great replacements of the 6581 and 8580. One time we will run out of real SIDs. Then we will need something to put into the mainboard and these chips will be there. Hopefully, engineers and programmers can develop them further, the FPGASID is very promising and would love to give it a try.

Our taste can be very different and can argue about various emulations for hours, days, weeks, etc. I recommend to check out the available SID replacement, listen to the example audio and pick the one you like the most to replace your defective SID(s). There's no bad choice, and the market will be even more crowded soon and you'll have more to choose from.

Useful links:
SwinSID Ultimate
ArmSID (English version)
FPGA SID
High Voltage SID Collection aka. HVSC
C64 Scene Database
Stone Oakvalley's Authentic SID Collection aka. SOASC


Thank you for reading and listening.


Tuesday, April 10, 2018

SID 8580 vs. ArmSID vs. SwinSID Ultimate vs. SwinSID Nano

It was time for a new comparison post for more reasons.

I acquired an ArmSID on the weekend of this year's Revision demoparty and a SwinSID Nano from a friend (thanks, Joe!), so this is a good occasion to compare them while I'm waiting for the release of others like the FPGA SID.

First of all, I wanted to write one post only, but then I realized it's better to split it to two episodes. I'm going to show a detailed example with waveform screenshots and write about my personal opinion. The second part will be about audio examples, recorded with the 4 chips and you can compare them for yourselves and make conclusion.

Some notes before we start:
  • the example track composed with SID-Wizard 1.7 on a 8580
  • the audio examples are pure recordings, directly from C64's output
  • all chips were in 8580 mode
  • no volume normalization, no additional effects, just pure output
  • nope, no volume normalization, this way you can see/hear the real output of each chip
  • really, no volume normalization, you have a volume knob on your audio system, right? use it

So, let's see what we have here: \HVSC\MUSICIANS\V\Vincenzo\SIDrip_Arok_Invit_2017.sid

FYI, the proper title is "SIDrok" because it was composed for Arok Party 2017 invitation and released by SIDRIP Alliance. SID-rip, a-ROK, see? SIDrok. But whatever, this is a minor thingie

I cut pieces from the track to show remarkable differences between each chips. The order of playback is:
  • SID 8580
  • ArmSID
  • SwinSID Ultimate
  • SwinSID Nano

First audio example, heavy usage of ringmod and oscillator sync:

Listen to "Example 01 [SIDrok - vincenzo]" on Spreaker.

8580: It doesn't need any explanation.
ArmSID: Output is definitely quieter with a few dB's, and the tail of the sound has somekind of strange flanging effect and it's shorter than the original. Other than that, it sounds good.
SSU: The output is definitely quieter, however, the sound is very good, except that the tail is shorter than the 8580's tail. SSU doesn't have the flanger effect.
Nano: Wow, I didn't expect this to happen. The first half of the sound is okay-ish, the second half is... what? Out of tune. And sounds weird.


Let's hear the second clip, another part of the music:

Listen to "Example 02 [SIDrok - vincenzo]" on Spreaker.

8580: Raspy, beefy, nice filters, dynamic.
ArmSID: A bit muffled filters, however, it sounds beefy enough.
SSU: Wow, definitely different filter sound, it's muffled and the snare became darker.
Nano: Ouch... I mean... ouch.


Third example:

Listen to "Example 03 [SIDrok - vincenzo]" on Spreaker.

8580: Same as the previous clip.
ArmSID: Same as the previous clip.
SSU: Same as the previous clip.
Nano: I would rather not comment this.


Waveforms:



Now the differences are not only audible but visible too. To my eyes, the waveform reproduction is good on both ArmSID and SSU, the Nano however is a bit far from perfect.
They are not perfect emulations. However, as replacement of a burned SID, well, they are good enough and I would be interested to do a blind A -B (C) comparison to test people and myself too. Okay, I can recognize the Nano for sure, but SSU and ArmSID are hard to tell.

Conclusion, before I post the complete tune 4 times:
  • Audio output is louder on 8580 than on the rest of the chips.
  • ArmSID's output is quiet, noiseless.
  • SSU's output has a very low, very quiet buzzing noise.
  • Nano's emulation is something. Different. But maybe it's the tune what's so special.
  • Hard to choose between ArmSID and SSU, they are both good even if we consider the darker filter output of the SSU.
See you in the next episode with more example tracks.


01. vincenzo - SIDrok [SID 8580]

Listen to "vincenzo - SIDrok [SID 8580]" on Spreaker.


02. vincenzo - SIDrok [ArmSID]

Listen to "vincenzo - SIDrok [ArmSID]" on Spreaker.


03. vincenzo - SIDrok [SwinSID Ultimate]

Listen to "vincenzo - SIDrok [SwinSID Ultimate]" on Spreaker.


04. vincenzo - SIDrok [SwinSID Nano]

Listen to "vincenzo - SIDrok [SwinSID Nano]" on Spreaker.