AM's digital/analog polysynth project

I’m still working on this.  Hopefully next week sometime (?) I’ll have an opportunity to post some sounds from the test application that I developed.  I temporarily removed the envelopes and filter stuff that I was working on, but instead I got pitchbend to work reasonably well.  Right now I need a less computationally-intensive method of doing it (right now it has a 16-bit signed divide, ugh), but it’s still making some progress.

There’s a few personal issues causing trouble right now:  my mother-in-law’s cancer returned and is probably inoperable this time, and I’m also very close to having a different job that won’t drive me crazy every day.  So that’s a bit of turmoil that’s keeping me from doing as much development as I would like…

Update!  Here are two small .WAV files (8-bit mono at 8 kHz, since that’s what is generated by the oscillators) with all oscillators mixed equally.  This is generated by my Labview testbench application, but should be fairly close to what would be produced by the PIC.  The files are hosted on my personal website, so try not to hammer it too hard.

http://www.andrewmartens.com/music/dps-test2.wav - four DCOs with different waveforms playing a chord, pitchbent to a different chord and then back.

http://www.andrewmartens.com/music/dps-test4.wav - four DCOs playing the same chord, DCO1 is swept through about 120 different waveforms.

Next step is to get this transferred over to a PIC!

The files are hosted on my personal website, so try not to hammer it too hard.

Sorry, I couldn`t resist ;D

Sounds promising!

Sounds promising!

Yes, it does! :slight_smile:

Best Regards, Thorsten.

Hello Andrew!

Great job indeed.

I’m sorry to hear about your personal problems :frowning:

Making progress with all that turmoil shows you’re putting all your heart into this project. Way to go!

Well, I’ve been busy this past while:  switched jobs to something better (hooray!), still contracting with my old company (=$ to buy test equipment, but then I have no life), and other unhappy things.

There’s a bright side, though!  In my spare time I’ve been thinking about some of the algorithm problems I was having with the design of the DPS, and I believe most of them are sorted out:  envelopes, mixing, interrupts, communication stream, etc..  I’m quite confident that I can get an SPI-controlled quad-oscillator multi-waveform synth working.  With luck I’ll be able to do one volume envelope per oscillator (=4), two LFOs, and a final DCA with its own envelope.  Assuming I can get all *that* working, then I’m going to go back and look at doing some kind of digital filter.

Oh, and I’m probably going to just go with an 8-12 bit resistor ladder (R2R) output - if I’m doing an internal DCA then there isn’t much point of wasting board space and money with an external DAC.  I’ve also been toying around with the idea of being able to slave up to 16 units off the same SPI bus and being able to either uniquely address each one, or broadcast the same settings to all of them (ie, to load up the same patch for all 16 units).  Not sure why anyone would want to do it, but it should be possible. 

I’m getting to the point when it’s time to start consolidating the bits of code and run some simulations in MPLAB.  Then it will be “build a prototype” time, and then I should be able to make some noise with this thing.

Well, I’ve been busy this past while:  switched jobs to something better (hooray!), still contracting with my old company (=$ to buy test equipment, but then I have no life), and other unhappy things.

:frowning:

There’s a bright side, though!  In my spare time I’ve been thinking about some of the algorithm problems I was having with the design of the DPS, and I believe most of them are sorted out:  envelopes, mixing, interrupts, communication stream, etc..  I’m quite confident that I can get an SPI-controlled quad-oscillator multi-waveform synth working.  With luck I’ll be able to do one volume envelope per oscillator (=4), two LFOs, and a final DCA with its own envelope.  Assuming I can get all *that* working, then I’m going to go back and look at doing some kind of digital filter.

great! :slight_smile:

Oh, and I’m probably going to just go with an 8-12 bit resistor ladder (R2R) output - if I’m doing an internal DCA then there isn’t much point of wasting board space and money with an external DAC. 

Humm… don’t go down the route of style over substance… it’s easy to get lost in that!

I’ve also been toying around with the idea of being able to slave up to 16 units off the same SPI bus and being able to either uniquely address each one, or broadcast the same settings to all of them (ie, to load up the same patch for all 16 units).  Not sure why anyone would want to do it, but it should be possible. 

Multitimbrality? :slight_smile:

I’m getting to the point when it’s time to start consolidating the bits of code and run some simulations in MPLAB.  Then it will be “build a prototype” time, and then I should be able to make some noise with this thing.

Looking forward to that!

cheers :smiley:

Damian