Currently just for fun

Creating a CD audio song based on a C64 song in 4 steps

  1. Convert a c64 song with sid2midi to text format.
  2. Create a xml document with events and definitions (instruments,channels,properties etc) created with sid2midi or just skip the first step and go with an empty document.
  3. Modify the song and instruments in the sequencer (this of course is the main work)
  4. Export the song in .wav format. I use winlame to convert it to mp3, or just store it on a music cd as i use the standard PCM 44kHz format

1. Sid2Midi converter

After i wrote the first sound renderer i realized that i needed some songs to render. Since i wanted to remake C64 songs, i looked for something to convert .sid (c64 binary music files) to something i could process. Luckily for me i found "sid2midi" which is an excellent tool for converting .sid files to midi or more interestingly a parseable text format.

Things to consider with sid2Midi output

There are a few caveats with sid2Midi.
  1. ADSR information is "1 line late", so you'll have to either multipass the document or as i did, do some bookkeeping.
  2. It's not always trivial to detect the speed of the song, the beat of the song may vary. And the rounding schemes might be difficult to track.
  3. To my knowledge hardsync destroyes the target voice pitch information, which makes it impossible to calculate how the pitch is changing when hardsync is enabled.

2. S2mToXML Converter

I wrote a converter that converts sid2midi text output files into my song format which is xml based. Since i have build a renderer that is more than capable of emulating the c64 it's was pretty easy to extract basic instrument informations aswell so that i have a better sounding starting point for my remix.

3. Sequencer

Making sounds is not enough, a sequencer and an editor to edit the sequence of notes, instruments etc. are necessary to produce a song. My sequencer is a pretty basic one and the editor lacks alot of features which unfortunately means it's very time consuming composing new songs with it.

4. XMLtoWav

When the song is finished, i've made a .wav export functionality in the editor. This generates a 44Khz wav file that can be written to CD and played directly on the stereo, or used as input for a mp3 converter. I've found a mp3 tag library for java which i now use to tag the files before i upload them. So i don't have to manually add the tag information

Side Projects

SYNTH: Jukebox

ARCADE: Mega Meteors