Creating a CD audio song based on a C64 song in 4 steps
- Convert a c64 song with sid2midi to text format.
- 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.
- Modify the song and instruments in the sequencer (this of course is the main work)
- 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 converterAfter 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 outputThere are a few caveats with sid2Midi.
- ADSR information is "1 line late", so you'll have to either multipass the document or as i did, do some bookkeeping.
- 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.
- 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 ConverterI 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. SequencerMaking 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.
- I primarily use instruments that are mathematically modelled, based on basic mathematically defined shapes, typically 1 instrument is something that can be generated with less than 4 SID voices.
- I don't use samples much, typically just for drums or sounds that are very hard to model.
- Emulation is not the goal, i want to make something that sounds better than the original c64 songs, but still keeps the feeling of the original version.