For some unknown reason, my long-neglected Digital PIC Synth project came back to my brain yesterday, and so I stopped by here again. It got me to thinking that I really should get off my butt and try to finish this thing - if nothing else, someone might be able to make some cool sounds with it.
The quick summary of its current incarnation is as follows. Heck, I’ll even just use the introduction from my preliminary datasheet - http://www.andrewmartens.com/files/DPS-224-r0.1.pdf. There’s lots of good feature info in the datasheet, I recommend reading it.
The Digital PIC Synth (or DPS) is a 2-oscillator 8-bit digital monosynth that is implemented as the firmware of a PIC18F-series microcontroller. The initial incarnation of this synth design is the DPS-224. Future DPS releases will use a similar naming scheme, which follows:
DPS – (A)(B)©(Z)
(A) = number of oscillators
(B) = number of sub-oscillators
© = number of modulators
(Z) = optional special feature code; B = boost, F = filter, etc.
Note that just because I have a ridiculous naming scheme doesn’t mean that I’m going to ever get around to implementing more oscillators / modulators / a filter / etc. But just because it doesn’t have a filter doesn’t mean that you shouldn’t get excited.
The overall output frequency will most likely be in the range of 8 – 16 kHz. This has yet to be finalized, and depends on the amount of cycles required to process the final feature set. The audio output will most likely be through an 8-bit R2R ladder (cheap, yay!), though I am also looking at other options. The main consideration here is making it easy and cheap to procure parts, possibly at the expense of quality – though only if it is a minor impact.
The first release of the DPS is intended to be used with a MBHP_CORE module as the primary controller, running MIOS by Thorsten Klose. Again, the idea is to connect to the core over some kind of serial link. The original plan was SPI, but there appears to be a growing number of modules that are using IIC – so that’s probably what I’ll go with. For early debugging I will most likely just send it bytes over RS-232, but that’s neither here nor there.
So, uhh, yeah. I’m going to try to work a bit on this thing each week, to make some progress. The actual hardware for one of these is going to be ridiculously simple: one 28-pin (SPDIP) 18F-series PIC, resistor ladder output, opamp. Maybe a transistor. And some jumpers. It should be easy to make a single 8-voice board… it would have 8 PICs on it, but we might be able to get away with something like the 18F25J10, which costs about 1/3rd of a 18F252. Anyways, that’s TBD. All this post is really intended as is a teaser…