Generate Control Voltage for a modular synth

Thanks for the info. I stumbled across this introduction to the SPI protocol, which appears to be what the MAX536 uses.

This makes a lot more sense now!

Maybe this should be a new topic, but does anyone have a suggestion for a DAC other than the MAX536? They are almost $50 each, and a discontinued item. I'm hoping to find something a lot cheaper, currently in production, and of course at least 12 bit.

well, its been almost 12 months since I started this beast...

Anywho, I got bored about a month ago and did some new coding and managed to put together a crude voltage "sampler" for the modular using the arduino. I have wanted one of the modcan "CV Recorder" modules for a while, but couldn't justify the cost.

I found some Arduino code for recording pot movements and just adapted it for a CV input. I hooked up a CV joystick I have and recorded myself sweeping it around into the arduino. I also ran a VCO into the arduino while I tweaked the freq knobs. I then had a toggle that I would flip and it loops through the recorded data. However, using the analog input pin to sample causes some serious stair-stepping action. (only have 256 values) I also need to understand the amount of data that I can store in the arduino ram in regards to my array. I was storing a max of 200 values and depending on how much of a delay I use, obviously that degrades the quality as well.

If there is interest, maybe I will re-breadboard this and put the code someplace in the next few weeks.

I've been doing some more research into this myself. I'm still looking at different DACs, and starting to feel that a 16 bit one would be necessary to get the level of precision required by a volt/octave CV system. A CV Recorder is one of the projects I'm thinking about doing. If you're just tweaking a joystick, 256 values should be sufficient, but if you're trying to record precise note information, it's back to the 16 bit ADC/DAC combination. I think it would really require some external RAM as well. As far as stairstepping goes, you could always interpolate between output values, but that still means using a high-res DAC to get better precision.

What sample rate are you recording at?

What sample rate are you recording at?

I assume you're determining sample rate based on the delay between capture loops? I really don't recall what I was messing with. I think I had the delay of around 15. It was a really crude setup.

I'm going to research using external memory in the near future.

I'd be really interested in both your circuit and code, I just jumped in on this with the hopes of somehow tying MAX/MSP into my Buchla.
Thanks!
Don

well, its been almost 12 months since I started this beast...

Anywho, I got bored about a month ago and did some new coding and managed to put together a crude voltage "sampler" for the modular using the arduino. I have wanted one of the modcan "CV Recorder" modules for a while, but couldn't justify the cost.

I found some Arduino code for recording pot movements and just adapted it for a CV input. I hooked up a CV joystick I have and recorded myself sweeping it around into the arduino. I also ran a VCO into the arduino while I tweaked the freq knobs. I then had a toggle that I would flip and it loops through the recorded data. However, using the analog input pin to sample causes some serious stair-stepping action. (only have 256 values) I also need to understand the amount of data that I can store in the arduino ram in regards to my array. I was storing a max of 200 values and depending on how much of a delay I use, obviously that degrades the quality as well.

If there is interest, maybe I will re-breadboard this and put the code someplace in the next few weeks.

Just finished blogging up the details of my own Arduino CV generator that I'm using to drive my x0xb0x from max. I used the AD5668 it's 16 bit, got 8 outputs and not too expensive. Details below

http://registeringdomainnamesismorefunthandoingrealwork.com/blogs/?p=51

;D

Nice work crx091081gb !

I intend to start a similar project but as a CV keyboard. My aim is to use the Midibox AOUT module : MBHP AOUT Module .
It seems well adapted to such need (but the MAX chip is costly).

Hadn't seen the AOUT module before, thanks for the link. The MAX525 is 27 quid for 4 outs and out of stock at Farnell. The AD5668 is 20 for 8 outputs and they have them in so go figure. That guys site does look awesome though, his CV is bipolar and goes to +/- 12 V awesome. My x0x only needs 0-5V and I can just op amp up the other outs that I use to drive my wavefolder if I fancy.

http://www.oakleysound.com/wavefold.htm

Let us know how you get on :wink:

hey guys,
Is it possible to controll dac using 595 shift registers, i could use only 3 pins, or 595's are to slow to generate tones higher than its propagation time??

Here there is an example how to generate CV using AS3-Arduino.
http://www.reigndesign.com/blog/from-bytes-to-beats-digital-to-analog-conversion-using-as3-arduino/

Also an open source sequencer that works with Arduino + SoundLab Mini Synth.

http://code.google.com/p/cvairsequencer/