In the scene people always set SIDs and tracker chiptunes apart, because of how technically different the two are. There's an enormous technical complexity of having to emulate not just the SID chip (which still isn't 100% understood) but also the 6510 CPU and even some of the C64's CIA timers to accurately replay SIDs, whereas almost all sample-based tracker music from the Amiga and PC need none of that effort. Replaying SIDs is even more complicated than emulating e.g. SPC700 of the SNES, the PSG sound of the SMS, or the YM/OPN2 synthesizer of the MegaDrive.
> also the 6510 CPU and even some of the C64's CIA timers
yes, but also the VIC timers and the PLA. So basically you need all of the c64 chips emulated, at least in part :)
I wrote a simple SID player for fun and I feel like it's 20% shy of being a full c64 emulator, all it needs is video output and keyboard/joystick input.
I have a physical SID chip and I was looking at implementations of players and ... was shocked at how complicated they are. I guess it makes sense though: SID files are tiny because they are in effect full C64 native programs that generate music. It would be hard to do otherwise on that platform.
I wrote a simple program that transformed basic (60hz, no PCM-style hacks) SID programs to like sequence of byte instructions for the SID chip so that I could replay without emulating and the file sizes are massive compared to the original!
Here is an awesome single file SID player written in C,
Oh, wow! Such a compact cpu routine! Thanks for the link.
I wrote mine in C too and it's basically a 1k line switch statement for every 6510
instruction :) I went the extra mile and made it cycle-accurate though.
libsidplayfp is probably the best emulator out there. It actually emulates voltage levels at one stage. The wiki has a bunch of info on SID reverse engineered from die shots https://github.com/libsidplayfp/SID_schematics/wiki
Sample based tracker formats shouldn't be considered chiptunes. The latter is supposed to mean sound generated by dedicated hardware with automatic waveform generation, envelopes, and filtering. Doing it all in software by mixing samples isn't the same.
Sample-based tracker music and the Amiga scene is where the term and the artistic style was born. The Amiga scene and the musicians of that era are the authority.
The term chiptune, and the technical approach and associated musical character, was firmly cemented in the Amiga scene already in the first half of the 90s. The composer who coined the term (in the beginning of the 90s) was legendary computer musician Matt "4-Mat" Simmonds. Everyone understands the difference between oscillators and sample playback, but notwithstanding the term being "technically lopsided" this is still the history of it.
May I recommand to you the High Voltage Sid Collection? It is a collection of curated SID songs in a neat package, and it is updated regularly!
https://www.hvsc.c64.org/
To be fair, nobody called c64 music "chip music", it was just "music/tunes" because c64 music is really just code so in a way all of it was chip music (excepting some digi tunes).
The term chip music was coined on amigas and newer computers to differentiate it from regular sample based music.
Now you get an entire thread of nerds explain you the etymological history of sound chips and the huge differences between a sid program and the mid format despite having perfectly working converters in both directions.
But the site already has tons of tracker music, as well as other not-strictly-chiptunes like an incredible number of .mid versions of classical music and contemporary pop songs of all things.
I know, but I don't understand your point. The site is full of .mids and mods, as well as other mod-like formats ripped from various devices. I'm not even sure if it does have any actual chiptunes, as in synthetized in realtime!
You wrote that you find it a «strange omission» not to have included SID tunes in a collection of «mids and mods». Well, simply, the coder must have had an engine capable of playing the latter, which is simple - and not an engine capable of playing the former, which is complex.