My Hardware SID Synthesizer Project...
My Hardware SID Synthesizer Project...
Hi there fellow C64 remixers! :O)
Currently I'm actually working on a hardware SID synthesizer. You'll probably ask yourself; "why that, when we got the SID Station?", and, well... because that device does not work the way I personally want it to. The main reason is, that the device does not support the 8580 SID chip, and a few other aspects (I've had the SID Station once, but sold it again... shame on me! ;O)
Up until now, the whole project is going very well, and (I assure you!) sound really good in my opinion. I've always wanted that SID sound, mainly because the chip has been a fundamental in my life with musik. Also, when I'm doin' these C64 remixes, I find it quite nostalgic to use the "real thing". A third reason for it is, that I (probably like many of you guys) have had trouble making people understand that SID sounds are cool. I've rarely witnessed anything else but people covering their ears when I played some SID tunes for them. When I tell them that the SID is actually just as capable as many other 80's monosynths, they usually do not believe me, so I've decided to show them something differently! ;O) ... I'll never forget a day in school many years ago, when our teacher said we all had to bring some musik into a lecture, and talk about it for the rest of the class... MAN DID THEY ALL LOOK FUNNY WHEN I PLAYED THOSE TUNES... my teacher had to cancel my "ramblings" halfway through the thing... really embarrassing!
The reason for me to bring up this project here is, that I believe that the most likely people to be wanting such a device may be some of you, mind that I'm not making this thing for commercial aspects, but rather to satisfy my own needs. Maybe, I thought, some of you had something to say about this project, and maybe I'll have some questions regarding some of the features for you to answer.
The project will be a very simple device, consisting of a small (and I mean small!) box with MIDI IN/OUT, AUDIO OUT(IN), POWER SWITCH, and a single LED for communication purposes. My intention is to make something that will be REALLY cheap to produce. In addition it will support both 6581, 6582 and 8580 SID chips.
If you have any questions as to other aspects of the device (like software engine, cpu etc.) just feel free to ask.
I have one initial question though which is:
If you were to decide between the AUDIO IN (external in) on the SID to be accessible on the back of the device, or have an internal connection from an D/A converter (controlled by the CPU) what would you then like? An internal D/A converter gives the option of making a software-synth that can be routed through the SID filter (maybe even an emulation of the real SID without env. bugs etc.). Maybe you've got some other idears?
I'll just have to add, that I cannot promise anything, as the device would have to satisfy my own needs first! ... Also bear in mind, that the device will have very limited RAM/ROM (about 16K of ROM for software engine and patches).
Also, I've been thinking about an LCD display, but until now, I believe it is overkill, because the whole device is controlled from MIDI Continous Controllers from a computer, and why bother use the ekstra memory and money associated with an LCD display?
Hope to hear from you...
Regards, Jess D. Skov-Nielsen (Razmo)
P.S. I have got several mp3 examples of this thing, but I have nowhere to upload them, so if any of you are interrested, you'll have to email me, so that I can email them to you or something like that.
Currently I'm actually working on a hardware SID synthesizer. You'll probably ask yourself; "why that, when we got the SID Station?", and, well... because that device does not work the way I personally want it to. The main reason is, that the device does not support the 8580 SID chip, and a few other aspects (I've had the SID Station once, but sold it again... shame on me! ;O)
Up until now, the whole project is going very well, and (I assure you!) sound really good in my opinion. I've always wanted that SID sound, mainly because the chip has been a fundamental in my life with musik. Also, when I'm doin' these C64 remixes, I find it quite nostalgic to use the "real thing". A third reason for it is, that I (probably like many of you guys) have had trouble making people understand that SID sounds are cool. I've rarely witnessed anything else but people covering their ears when I played some SID tunes for them. When I tell them that the SID is actually just as capable as many other 80's monosynths, they usually do not believe me, so I've decided to show them something differently! ;O) ... I'll never forget a day in school many years ago, when our teacher said we all had to bring some musik into a lecture, and talk about it for the rest of the class... MAN DID THEY ALL LOOK FUNNY WHEN I PLAYED THOSE TUNES... my teacher had to cancel my "ramblings" halfway through the thing... really embarrassing!
The reason for me to bring up this project here is, that I believe that the most likely people to be wanting such a device may be some of you, mind that I'm not making this thing for commercial aspects, but rather to satisfy my own needs. Maybe, I thought, some of you had something to say about this project, and maybe I'll have some questions regarding some of the features for you to answer.
The project will be a very simple device, consisting of a small (and I mean small!) box with MIDI IN/OUT, AUDIO OUT(IN), POWER SWITCH, and a single LED for communication purposes. My intention is to make something that will be REALLY cheap to produce. In addition it will support both 6581, 6582 and 8580 SID chips.
If you have any questions as to other aspects of the device (like software engine, cpu etc.) just feel free to ask.
I have one initial question though which is:
If you were to decide between the AUDIO IN (external in) on the SID to be accessible on the back of the device, or have an internal connection from an D/A converter (controlled by the CPU) what would you then like? An internal D/A converter gives the option of making a software-synth that can be routed through the SID filter (maybe even an emulation of the real SID without env. bugs etc.). Maybe you've got some other idears?
I'll just have to add, that I cannot promise anything, as the device would have to satisfy my own needs first! ... Also bear in mind, that the device will have very limited RAM/ROM (about 16K of ROM for software engine and patches).
Also, I've been thinking about an LCD display, but until now, I believe it is overkill, because the whole device is controlled from MIDI Continous Controllers from a computer, and why bother use the ekstra memory and money associated with an LCD display?
Hope to hear from you...
Regards, Jess D. Skov-Nielsen (Razmo)
P.S. I have got several mp3 examples of this thing, but I have nowhere to upload them, so if any of you are interrested, you'll have to email me, so that I can email them to you or something like that.
Regards, Jess D. Skov-Nielsen (Razmo).
-
- Forum God
- Posts: 5307
- Joined: 22/11/2002 - 12:21
- Location: Dubai. No, not really.
- Contact:
My goodness: it sounds a bit like Thorsten Klose's project. Will you be building patches in? Or are the various parameters of the SID chip driven directly by continuous controllers? I've got no preference on the question you actually asked, though.
For reference, both the Hardsid and Catweasel support the 8580 chip. What would the MIDI Out do? Or would it just be a "Thru"?
Chris
For reference, both the Hardsid and Catweasel support the 8580 chip. What would the MIDI Out do? Or would it just be a "Thru"?
Chris
project...
Hi again! :O)
Well, The box will have it's own synthesizer engine with LFOs EGs and stuff like that, but there is no problem in controlling the SID directly via CCs (that would allow you to play SIDs like the SID Station, but I'd say HardSID is a hell of a lot better for that!).
I asume it will also hold 128 patches in flash ROM (maybe more, maybe less), there should be space enough for that besides the engine code.
About the knobs and such I don't know yet. Personally I don't need them, but if others would feel that it is essential I might change my mind. Actually I could use the SIDs two A/D pins for just that... not expensive at all. Of course you could make a fancy desktop device with display and dosens of knobs, but it would just add to the cost, and I don't see why? It's much much more manageable to have all the parameters (and there will be many!) available at once on the screen. I can see the prob. with a live situation, and thus two knobs would do fine, and also, now that I think of it, it better have a way to select patches also in a live situation.
Anyway though, this could be done from an external controller keyboard using simple patch changes and CCs.
And then about the MIDI out?... when you have a device with no editing capabilities in itself, it's essential because otherwise, how will you be able to update the PC software interface?... I'm thinking that if the device recieves a patch change command, that it should then automatically send out all data for that patch through the MIDI OUT, so that the panel software on the PC will adjust likewise. Remember that it is possible to change patch number on the device itself, so without the OUT port, the computer will have no way of knowing what happened.
I'm not sure about the price yet, but I'll asume somewhere around $100, but don't take that as a final! it might be more or less (most likely less). As I said before, it's non commercial, and will be put out as a DIY device and hopefully I will also assemble some for those who cannot do it themselves.
Guess that sums it all up right? :O)
Otherwise, just ask away...
Regards, Jess D. Skov-Nielsen.
Well, The box will have it's own synthesizer engine with LFOs EGs and stuff like that, but there is no problem in controlling the SID directly via CCs (that would allow you to play SIDs like the SID Station, but I'd say HardSID is a hell of a lot better for that!).
I asume it will also hold 128 patches in flash ROM (maybe more, maybe less), there should be space enough for that besides the engine code.
About the knobs and such I don't know yet. Personally I don't need them, but if others would feel that it is essential I might change my mind. Actually I could use the SIDs two A/D pins for just that... not expensive at all. Of course you could make a fancy desktop device with display and dosens of knobs, but it would just add to the cost, and I don't see why? It's much much more manageable to have all the parameters (and there will be many!) available at once on the screen. I can see the prob. with a live situation, and thus two knobs would do fine, and also, now that I think of it, it better have a way to select patches also in a live situation.
Anyway though, this could be done from an external controller keyboard using simple patch changes and CCs.
And then about the MIDI out?... when you have a device with no editing capabilities in itself, it's essential because otherwise, how will you be able to update the PC software interface?... I'm thinking that if the device recieves a patch change command, that it should then automatically send out all data for that patch through the MIDI OUT, so that the panel software on the PC will adjust likewise. Remember that it is possible to change patch number on the device itself, so without the OUT port, the computer will have no way of knowing what happened.
I'm not sure about the price yet, but I'll asume somewhere around $100, but don't take that as a final! it might be more or less (most likely less). As I said before, it's non commercial, and will be put out as a DIY device and hopefully I will also assemble some for those who cannot do it themselves.
Guess that sums it all up right? :O)
Otherwise, just ask away...
Regards, Jess D. Skov-Nielsen.
Regards, Jess D. Skov-Nielsen (Razmo).
project...
Oh yes! and about the beta testing... not sure yet, but maybe. The testing can quickly become a problem, as everyone would probably want to test it ;O) ... who should be the lucky ones? ... hmmm I'll have to consider this. Now let me finish the darn thing first! ;O)
Regards, Jess.
Regards, Jess.
Regards, Jess D. Skov-Nielsen (Razmo).
project...
Hi again again! :O)
I forgot to explain, why I'm not just building an engine for the HardSID card? Well... I cannot program anything on the PC at all, and I do not have the patience to learn it. I HATE when you do not have full control over the hardware you are using, a legacy from my old assembling days on the C64 and in Kefrens on the AMIGA computer. Also, the MCU I'm using allow me to have extreme hardware control over the SID chip. In fact I can software control not only the regular I/O pins of SID, but also the reset line as well. You might wonder what that is good for, but after experimenting a bit with it, I think it can help remedy the Envelope bug of SID. If you reset the whole SID before starting any note, it will do as it should. I've only tested this with 8580 yet, and it works, ecept that it gives a tiny audible "click" in the beginning. Not useful for pads, but with punchy basslines and percussion it's actually rather good! Another thing I wanted to do was to handle the 8580 filter differently than the 6581. The cutoff of the 8580 is handled the same way as the freq. registers of SID which means that the response curve is NOT linear, but rather exponential. This HAS to be taken into account when using the 8580. Actually that's THE BASIC REASON why the 8580 sounds so thin... IT'S NOT! it's just not handled right! ... I have mp3s to back it up!!!
Regards, Jess.
I forgot to explain, why I'm not just building an engine for the HardSID card? Well... I cannot program anything on the PC at all, and I do not have the patience to learn it. I HATE when you do not have full control over the hardware you are using, a legacy from my old assembling days on the C64 and in Kefrens on the AMIGA computer. Also, the MCU I'm using allow me to have extreme hardware control over the SID chip. In fact I can software control not only the regular I/O pins of SID, but also the reset line as well. You might wonder what that is good for, but after experimenting a bit with it, I think it can help remedy the Envelope bug of SID. If you reset the whole SID before starting any note, it will do as it should. I've only tested this with 8580 yet, and it works, ecept that it gives a tiny audible "click" in the beginning. Not useful for pads, but with punchy basslines and percussion it's actually rather good! Another thing I wanted to do was to handle the 8580 filter differently than the 6581. The cutoff of the 8580 is handled the same way as the freq. registers of SID which means that the response curve is NOT linear, but rather exponential. This HAS to be taken into account when using the 8580. Actually that's THE BASIC REASON why the 8580 sounds so thin... IT'S NOT! it's just not handled right! ... I have mp3s to back it up!!!
Regards, Jess.
Regards, Jess D. Skov-Nielsen (Razmo).
-
- Commodore Fan
- Posts: 23
- Joined: 30/07/2003 - 22:35
- Contact:
Re: project...
Hi Razmo,
why reinventing the wheel?
I developed a SID synth a while ago which runs stable
and which provides a lot of hardware options - from a minimum
device (costs: ca. US $50 - with premade PCBs) to a full
featured control surface with LCD, endless pots and a
lot of buttons and LEDs which fits nice in a C64 case.
The firmware is running on a PIC18F452, the source code
is published under GPL, so everybody is welcome to include
enhancements.
More infos can be found here:
http://www.ucapps.de/midibox_sid.html
Best Regards, Thorsten.
why reinventing the wheel?
I developed a SID synth a while ago which runs stable
and which provides a lot of hardware options - from a minimum
device (costs: ca. US $50 - with premade PCBs) to a full
featured control surface with LCD, endless pots and a
lot of buttons and LEDs which fits nice in a C64 case.
The firmware is running on a PIC18F452, the source code
is published under GPL, so everybody is welcome to include
enhancements.
More infos can be found here:
http://www.ucapps.de/midibox_sid.html
Best Regards, Thorsten.
project...
Hi there Thorsten! :O)
Actually I must admit, that your project is what come closest to my demands. I've been dissapointed with the engines of both hardsid and sidstation, and therefore I set out on a journey to make it myself actually. It has been quite hard, since I had absolutely no electronic skills whatsoever before I started this, and it became somewhat of an adventure to teach myself all this from the internet. In fact I'd always hoped I could be free from actually doing the hardware myself, but as stated earlier, I only know how to code on the C64 and AMIGA, so I had no real options there. Now that I see you are actually using the exact same MCU as I've chosen for my project I begin to see what you mean by re-inventing the wheel. There is just ONE problem: I've always wanted to code my own engine for the SID. The hardware I just had to do because there was no other way. One thing I've found to be an advantage is the ability to control the clocking for the SID through the PWM output of the PIC18F452, and this is obviously not possible with you design is it? I'd like to run the SID at 2-3MHz for faster EGs of SID. Could I just plug in another crystal there instead of the 1MHz? ... Also, I'd like to have access to the reset pin from software is this possible? ... I'm asking because, if I could use your device to make my own engine I'd probably do just that because making the electronics surely is not something I enjoy! and if your source is anyways open, I asume you would not mind (?) :O)
Guess I'll have a closer look at your device...
Regards, Jess.
Actually I must admit, that your project is what come closest to my demands. I've been dissapointed with the engines of both hardsid and sidstation, and therefore I set out on a journey to make it myself actually. It has been quite hard, since I had absolutely no electronic skills whatsoever before I started this, and it became somewhat of an adventure to teach myself all this from the internet. In fact I'd always hoped I could be free from actually doing the hardware myself, but as stated earlier, I only know how to code on the C64 and AMIGA, so I had no real options there. Now that I see you are actually using the exact same MCU as I've chosen for my project I begin to see what you mean by re-inventing the wheel. There is just ONE problem: I've always wanted to code my own engine for the SID. The hardware I just had to do because there was no other way. One thing I've found to be an advantage is the ability to control the clocking for the SID through the PWM output of the PIC18F452, and this is obviously not possible with you design is it? I'd like to run the SID at 2-3MHz for faster EGs of SID. Could I just plug in another crystal there instead of the 1MHz? ... Also, I'd like to have access to the reset pin from software is this possible? ... I'm asking because, if I could use your device to make my own engine I'd probably do just that because making the electronics surely is not something I enjoy! and if your source is anyways open, I asume you would not mind (?) :O)
Guess I'll have a closer look at your device...
Regards, Jess.
Regards, Jess D. Skov-Nielsen (Razmo).
-
- Commodore Fan
- Posts: 23
- Joined: 30/07/2003 - 22:35
- Contact:
(article was sent twice)
Last edited by Thorsten Klose on 24/11/2003 - 19:30, edited 1 time in total.
-
- Commodore Fan
- Posts: 23
- Joined: 30/07/2003 - 22:35
- Contact:
Hi Jess,
It isn't really a problem if you code your own engine - quite the contrary -
a lot of people already built the hardware and I guess that they would
be glad to have an alternative firmware (see the MBHP as hardware
platform for any SID synthesizer - btw. a FM synth based on Yamaha
OPL3 is planned for the next year )
> One thing I've found to be an advantage is the ability to control the
> clocking for the SID through the PWM output of the PIC18F452,
> and this is obviously not possible with you design is it?
It is possible - the SID can be clocked either via a 1 MHz oscillator
or via a PWM output of the PIC. See also:
http://www.ucapps.de/mbhp_sid.html
> Also, I'd like to have access to the reset pin from software is
> this possible?
yes, the reset output is connected to the shift register which controls
the SID inputs (serial 3-wire connection)
> I asume you would not mind (?)
No, of course - my ambition is to make MIDI/synth related
microcontroller development so easy as possible especially for
people like you. We all have a big advantage if everybody is using
the same hardware and operating system (see
http://www.ucapps.de/mios.html), this simplifies
the exchange of ideas and innovations!
Best Regards, Thorsten.
It isn't really a problem if you code your own engine - quite the contrary -
a lot of people already built the hardware and I guess that they would
be glad to have an alternative firmware (see the MBHP as hardware
platform for any SID synthesizer - btw. a FM synth based on Yamaha
OPL3 is planned for the next year )
> One thing I've found to be an advantage is the ability to control the
> clocking for the SID through the PWM output of the PIC18F452,
> and this is obviously not possible with you design is it?
It is possible - the SID can be clocked either via a 1 MHz oscillator
or via a PWM output of the PIC. See also:
http://www.ucapps.de/mbhp_sid.html
> Also, I'd like to have access to the reset pin from software is
> this possible?
yes, the reset output is connected to the shift register which controls
the SID inputs (serial 3-wire connection)
> I asume you would not mind (?)
No, of course - my ambition is to make MIDI/synth related
microcontroller development so easy as possible especially for
people like you. We all have a big advantage if everybody is using
the same hardware and operating system (see
http://www.ucapps.de/mios.html), this simplifies
the exchange of ideas and innovations!
Best Regards, Thorsten.
project...
Hi again!
Well,... what does the basic setup for one of those SID boxes cost alltogether then? ... Is this something that you will ship ready for soldering, or how is this accomplished? ... I do not have the tools nor the skills to make PCB at the moment, and to be honest, I'd be most glad if I could just get all that is needed at one time, solder it, and get on with what was my first intention; code a SID synth-engine. I would like to know the price without a PIC18F452 as I already have that one obviously.
Also,... the OPL3 board sounds like a good idear. In fact I've had the same idear, but with an older chip of Yamaha's.
One other question also: Have you thought about making another board that is nothing more than a PIC18F452 connected to an D/A converter? ... Would be nice to try and make your own soft-synth with this MCU :O)
Regards, Jess.
Well,... what does the basic setup for one of those SID boxes cost alltogether then? ... Is this something that you will ship ready for soldering, or how is this accomplished? ... I do not have the tools nor the skills to make PCB at the moment, and to be honest, I'd be most glad if I could just get all that is needed at one time, solder it, and get on with what was my first intention; code a SID synth-engine. I would like to know the price without a PIC18F452 as I already have that one obviously.
Also,... the OPL3 board sounds like a good idear. In fact I've had the same idear, but with an older chip of Yamaha's.
One other question also: Have you thought about making another board that is nothing more than a PIC18F452 connected to an D/A converter? ... Would be nice to try and make your own soft-synth with this MCU :O)
Regards, Jess.
Regards, Jess D. Skov-Nielsen (Razmo).
project...
Oh! and by the way, you're operating on a 40MHz crystal right!?!? ;O)
Regards, Jess.
Regards, Jess.
Regards, Jess D. Skov-Nielsen (Razmo).
-
- Commodore Fan
- Posts: 23
- Joined: 30/07/2003 - 22:35
- Contact:
Re: project...
Hi,
I don't sell the boards by myself (I don't have commercial interests), but two guys from the MIDIbox community are offering premade PCBs for fair prices -> see http://www.ucapps.de/mbhp.html. Example: Mike sells the core module for 6 EUR, and the SID module for 5 EUR
The part lists can be found at the appr. module pages, it depends from where you are ordering the components - w/o the PIC18F452 I assume that you have to pay appr. +20 EUR
My suggestion: just click on all navigation bar items of my website and visit the forum, it's a huge knowledge base
Currently I'm testing it together with some guys who own the analog equipment like moog and diff. multistate filters, VCAs for panning effects, and all that useful stuff. The AOUT module is fully integrated into the modulation matrix of MIDIbox SID so that not only the CCs, but also the LFOs and envelopes can be routed to external devices. The source code for the AOUT module itself can already be found under MIOS->Download
Best Regards, Thorsten.
I don't sell the boards by myself (I don't have commercial interests), but two guys from the MIDIbox community are offering premade PCBs for fair prices -> see http://www.ucapps.de/mbhp.html. Example: Mike sells the core module for 6 EUR, and the SID module for 5 EUR
The part lists can be found at the appr. module pages, it depends from where you are ordering the components - w/o the PIC18F452 I assume that you have to pay appr. +20 EUR
My suggestion: just click on all navigation bar items of my website and visit the forum, it's a huge knowledge base
Sure - the AOUT module will be released in ca. 1-2 weeks.One other question also: Have you thought about making another board that is nothing more than a PIC18F452 connected to an D/A converter?
Currently I'm testing it together with some guys who own the analog equipment like moog and diff. multistate filters, VCAs for panning effects, and all that useful stuff. The AOUT module is fully integrated into the modulation matrix of MIDIbox SID so that not only the CCs, but also the LFOs and envelopes can be routed to external devices. The source code for the AOUT module itself can already be found under MIOS->Download
Best Regards, Thorsten.