Jump to content

SIDplayer


TK.
 Share

Recommended Posts

SIDplayer V1 is now available in the MIOS download section: http://www.ucapps.de/mios_download.html


; This MIOS applications interprets the SIDstation "ASID" protocol and 
; forwards the requested register changes to a MBHP_SID module
;
; compatible with the ASID player and SIDPLAY/Windows
; -> http://www.d.kth.se/~d93-alo/c64/spw/sidplayw.html
; -> http://www.sidstation.com/sidsupport.php
;
; based on http://sammal.ton.tut.fi/~paulus/asid_protocol.txt
; by Jouni Paulus (jobe(a)iki.fi)
;
; The biggest collection of SID files can be found here:
; http://www.hvsc.c64.org/
[/code]

have fun! :)

Best Regards, Thorsten.

Link to comment
Share on other sites

  • 3 weeks later...

The SIDplayer reads and plays the .sid file, MBSID only interprets the incoming SysEx events and forwards the values to the SID.

> I have couple of spare PIC16Fs. Are they still suitable for SIDPlayer?

always the same: the software has been programmed for the PIC18F and for MIOS, it requires too much effort to port this to a PIC16F. But if somebody wants to spent some hours to write the same especially for the PIC16F, step forward...

Best Regards, Thorsten.

Link to comment
Share on other sites

  • 5 months later...

This is looking beautifull, but can we have more detailled information about it ? ???

greetz !

modified-> // oops, it was quite mystical before i build my box, but right now, hey, it's just simple & great !

Thanks a lot for this piece of code, it's awsome !

Link to comment
Share on other sites

  • 1 year later...
  • 2 weeks later...

Maybe you've overseen that the MBSID Sidplayer gets use of the SIDstation protocol, that the support for this protocol is a propratary extension of SIDPLAY1, and that the source code of this version is not available.

Do you expect that somebody develops a new SIDPLAYer based on your wishes? Then please say this clearly (so that I can say clearly that I've no interest in spending any more effort for this toy - maybe somebody else?)

Best Regards, Thorsten.

Link to comment
Share on other sites

About source code not being available, that's very sad.

About expecting, I expect nothing, only said about if possible to play other SID formats on MIDIBOX sid. About a new sidplayer supporting the SIDstation protocol, I know you aren't one interested on that so I don't asked you that :)

Link to comment
Share on other sites

  • 5 months later...
  • 9 months later...

Hi all,

Just got the sid player going on my sid, this is awesome!

Would it be technically possible to make an application which could extract the sounds in a sid song and convert them to .syx to dump to the sid when its being used as a synth? I know its not quite that simple, but what would be required to get that going?

All the best,

John

Link to comment
Share on other sites

SID songs are really just a capture of the SID register changes... they're like the original "game" machine code stripped down to just the SID register update bits... and SID player apps (on the PC side) are basically a mini-C64 emulator.

So turning a sequence of SID register changes back into envelope/LFO/wavetable parameters automatically is hard... but there are tools to help you do it manually.

You can capture a sequence and play it back, and the HardSID software let you do this, so I go a-hunting and found this for you  ;D  Mechanicus Guitar Patch Tutorial

So if you're clever enough, you can identify which bits are setting the oscillator and filter configuration, and which bits are setting a pitch and gating oscillators (i.e. starting a "note") and then which bits are modulating the modulateable? bits after the gate. If you're up to doing this a bit more manually, check out TK's tutorial on ripping C64 sounds by looking at the SID register changes.

Link to comment
Share on other sites

Hiya Wilba,

I had a play with siddump and also TK's siddump_convert.pl, but the process required after the use of the perl script is a bit tedious, and to be honest beyond my abilities to translate the output of the files which are created to actual patches to load into the sid. I am glad and greatful tho that these tools exist at all and that people have taken the time to make them.

For example here is a bit of the result from "Cobra" track 1

Specified time: 0:00 --- starting with frame 0

| Frame | Time  | Freq Note/Abs WF ADSR Pul | MBSID Wave Transpose Att Dec Sus Rel |

+-------+-------+---------------------------+--------------------------------------+

|    0 |  0:00 | 0000  ... ..  00 0000 000 |        10 +00 (+00)  0  0  0  0 |

|    1 |  0:00 | 0342  G-1 93  41 192C 600 |        04  2F ( 2F)  8  72  16  96 |

|    2 |  0:00 | 034C (+ 000A) .. .... 614 |        +00 +00 ( 2F) ... ... ... ... |

|    3 |  0:00 | 0356 (+ 000A) .. .... 628 |        +00 +00 ( 2F) ... ... ... ... |

|    4 |  0:00 | 034C (- 000A) .. .... 63C |        +00 +00 ( 2F) ... ... ... ... |

|    5 |  0:00 | 0342 (- 000A) .. .... 650 |        +00 +00 ( 2F) ... ... ... ... |

|    6 |  0:00 | 0338 (- 000A) .. .... 664 |        +00 +00 ( 2F) ... ... ... ... |

I don't understand what all of these values are or how to translate them into MBsid parameters via the editor, nor do I know what represents notes and what represents tonal configuration. I can read the categories at the top, but the vaules are in hex or somthing arent they? Surely for the general population of non programmers it would be nice to have something more user friendly to do the task?? Something aimed more at musicians?

What I was hoping for would be an extra step so you would strip out the first info from the song with siddump, then use the perl script to translate it to mbsid talk, then another step to convert that output into a set of midi notes ie a 3 channel midi file, and seperate to be able to identify each used sound and save out a .syx file ready to dump to the sid of each sound.

I guess identifying what is a new sound would be hard as its just all a series of changes. Im not a programmer so I dont know the ins and outs of it but could you look at what makes up a sound, and what are "modulators" of that sound per track and a scripts to output 1 .syx file for each used sound on each track and also make it generate a text file describing the used modulators? Maybe you could extract the sound from the modulators by identifying the initial sound as a starting place and small changes after that to be called modulators, and large changes to be called new sounds? You might land up with more outputted instruments than you want but thats not so bad.

If the system was really smart the midi file could also have the option to translate the notes on each track into either normal midi notes {like that program you send the URL for - thank you btw for that!} so you could use other instruments to play back sid music, or alternativly you could map the mbsid cc#'s to one midi track allowing the playback of the sounds via midi as if being played from the emulator? It would be awesome if someone who knew what they were doing could make that all work and streamline it into one application or script {not a programming request just a wish!}

Am I just dreaming to want to be able to play back the exact sounds of "The Last Ninja" or "Cobra" in my own compostion via midi? Is it all too hard??

If anything more every happens on this front, please let me know.

All the best,

John

Link to comment
Share on other sites

If the MB-SID wavetable could control all SID regsiters with each step, then you could quite easily turn a subset of the SID register dump into a MB-SID patch, just like HardSID... the only tricky bit would be finding the exact start and end of the desired sound... and even then it might not capture note-relative differences... i.e. maybe the filter cutoff varies with note pitch, etc. Anything that might be different depending on what note is played is not going to be captured correctly.

But again this assumes you could play back all SID registers. MB-SID's wavetable can only control three CCs. You could make a very similar sounding MB-SID patch by using envelopes and LFOs to modulate the pitch, pulse width and filter cutoff, but turning a set of discrete register values back into envelopes and LFOs is non-trivial  ;)

What might be reasonably easy to do is write more perl script converters that can output the data a little more like MB-SID parameters, so the user can at least have a look, and manually set up the LFOs and envelopes.

One strange thought though: SID files get played back at ~60 Hz whereas the MB-SID can update at 1220 Hz! So even if you get the envelope and LFO waveforms to match, MB-SID is going to produce smoother modulation - any "sample and hold" artifacts from a ~60 Hz update will be lost, unless you also add in S&H  ;)

Am I just dreaming to want to be able to play back the exact sounds of "The Last Ninja" or "Cobra" in my own compostion via midi? Is it all too hard??

Not too hard, just hard.

The SID register dump is in hex and it doesn't expand each SID registers into its component bits, i.e. the column labelled "WF" (short for waveform) shows SID register "Control Reg" (refer to SID datasheet) - the "4" is pulse width waveform bit, the "1" is gate bit.

This could be translated into more MB-SID friendly values, I agree ;)

But don't wait around for someone to do that for you... check out the SID datasheet which describes all the registers and what they do... learn hex numbers and decypher the "Cobra" sound yourself.

Link to comment
Share on other sites

Hiya Wilba,

I will give it a try, but im still just getting my head around how the SID works at all, so it may take some time.

Also slightly off topic, is there a place where MBSID users are swapping patches? I have 8 memory banks in mine, currently there mostly empty, but I want to fill them up! I was wanting to fill them with sounds from the game tunes, which might happen over time as I learn, but im building up a small but growing collection of my own sound designs on it which I'm happy to share and would like to access sounds others have made too.

Would be nice if there was a formal way to do it where a lot could be uploaded and kept track of as for their names etc, somewhere that the whole MB community would like to use and was easy to access with a web front end.

John

Link to comment
Share on other sites

  • 3 weeks later...

Hi All,

Ive recorded some high quality MP3 files of a couple of my fav sid tunes using this application and my SID synth. I hope that its not illegal to share these, if anyone knows that it is please tell me and Ill remove them asap.

They were put through my Joemeek twin Q on the way to the sound card so there beefed up a little dynamics wise.

http://www.dcerecords.dnsalias.com/Cobra.mp3

http://www.dcerecords.dnsalias.com/Green Beret.mp3 - Slight delay added in reaktor

http://www.dcerecords.dnsalias.com/The Last Ninja.mp3

Enjoy!!

John

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...