Chordian/deepsid

ASID support (playback for SID hardware)

thomasj opened this issue · 6 comments

Background

The "ASID" protocol was developed as a way of sending Commodore 64 SID files over MIDI to be played back on the Elektron Sidstation. The format is available on the internet (for instance here) and some other instruments like the Midibox (and soon Twisted Electrons TherapSID) have support for it. Also real C64's can play this format by the application "Station64".

Since the original ASID player is outdated and doesn't work on newer macOS:es it would be really nice if ASID support could be implemented in DeepSID, allowing hardware SID playback directly from the huge database and without need to install anything.

Suggested functionality

  • Add a new plugin "ASID (MIDI)"
  • Make a setting for MIDI output
  • Play back regular non-digi files (since MIDI bandwidth maxes out at about 75 Hz in ASID)

Demo

I have actually already implemented the above as a proof of concept :) Demo available together with in-development TherapSID implementation here:

Really interesting. I'll note it down for investigating further.

I just watched the video. Interesting that you are playing "Ballad for Jeff" from inside Shogoon's HVSC folder. As far as I know it's only located in the "SID Happens" folder until HVSC adds it in the next update in a few weeks?

I just watched the video. Interesting that you are playing "Ballad for Jeff" from inside Shogoon's HVSC folder. As far as I know it's only located in the "SID Happens" folder until HVSC adds it in the next update in a few weeks?

Yeah, it is because I'm running it all locally. So I added it to my local HVSC :)
I will post a pull request on this hopefully during the weekend and you can take a look at it!

Implementation now available in PR #23

The online version of DeepSID now has a working implementation of the ASID handler.

Closing this one as implementation has been working good so far. There are some enhancements possible to make, but can be addressed in new tickets.