W*ndows -> CV / Gate
Gene & Debby Stopp
squarewave at jps.net
Tue Oct 7 07:58:30 CEST 1997
Oh good - somebody remembered my DAC description!
I've recently integrated the MIDI-CV parallel-port DAC into my setup,
controlling my old Electronotes modular as follows:
CV 1 - MIDI Note data to VCO pitch
CV 2 - Note-on velocity
CV 3 - Pitch Bend
CV 4 - Modulation
CV 5 - Aftertouch
CV 6 - Volume
CV 7 - Assignable
CV 8 - Assignable
The AD7228 is controlled by a dedicated PC, with code that I wrote with
Microsoft QuickBasic (the one that comes with DOS). While the choice of
QuickBasic sounds a little silly, it works just fine, is very easy to code
and debug, and it is on every DOS machine for free. Besides I'm having a
hard time digging up a C compiler that will still write 16-bit DOS
applications! MSC++ under NT 4.0 is overkill. Since I have so many PC's
lying around, I don't mind dedicating one for this job.
The DAC is built into its own rackmount panel with 8 CV's, and 8 gates.
Each CV has a trimpot for range and scale, epoxied behind small holes in
the panel. Each CV also has a lag control. The panel markings are
laser-printed sheets protected by plastic spray and glued to the panel. It
looks very nice.
Sound-wise, it works *extremely* well. The DAC outputs are clean and
stable, and very accurate. The code has a 127-note buffer with lowest note
priority (an array, actually, to model the status of the external MIDI
controller). Since I use gate 1 for the keyboard gate, the gate outputs for
CVs 2 through 7 provide a positive gate when each parameter exceeds a
pre-determined threshold (settable in the software setup screen).
The MIDI interface in the PC is a cheap ($19) sound card with the standard
game-port MIDI cable. The code polls the MPU-401 UART mode port addresses
and parses the MIDI data as it is received. I even added a 127-note graphic
keyboard that displays the played notes as they come in.
- Gene
----------
> From: Mikko Helin <MHELIN at tne01.tele.nokia.fi>
> To: synth-diy at horus.sara.nl
> Cc: MHELIN at tne01.tele.nokia.fi
> Subject: Re: W*ndows -> CV / Gate
> Date: Monday, October 06, 1997 1:59 AM
>
> Usual .DRV type drives should work as well with Windows 3.1x
> and Windows 95, as MM system is all 16-bit. You can indeed
> hack the device driver in MROUTER.ZIP, as there's the source
> code. It can be compiled with Borland and I guess with MSoft,
> C compiler. I have built a parallel port DAC around MAX7228,
> which is the same device Gene Stopp used, but it may be little
> different (no inverters for address decoding etc.), and
> there are maybe others with different design DACs, either
> simple R-2R ladders or multichannel DACs. So it would be nice
> to use a DLL for interface functions, so that different versions
> of MIDI drivers were not needed. A function like
> int UpdateDac(int Channel, int Value) is all that is needed
> in DLL, the name of DLL could be a string in SYSTEM.INI,
> like
>
> [MIDI2DAC]
> DACDLLName=C:\WINDOWS\SYSTEM\7228dac.dll
> (or DACDLLName=C:\WINDOWS\SYSTEM\r2rdac.dll)
> channels=8
> etc.
>
> This is just to keep the harware layer separated.
>
> If more control is needed, then there could be other
> calls to DLL functions (like when some cont. control
> messages are received from sequencer).
>
>
> Just my 10 penniä,
>
> Mikko
>
> >This weekend I experimented with a DAC driven by the parallel
> >port to do MIDI to CV conversion.
> >I had thought about this a long time if it is possible to get
> >Windows drive a DAC *directly*, without the usual Soundcard,
> >Midiinterface, DAC chain.
> >
> >And finally it works, I hacked into a midi routing driver,
> >found the internal "patch points" and changed it into a
> >DAC CV driver.
> >
> >I use a simple R2R ladder (till now with 5% resistors. Whua!!)
> >connected to D0-D6 of the Centronics port, D7 being the Gate.
> >I have to change the Hardware into something more precise .
> >(i.e. 0.1% resistors, decoupling from the port)
> >And the software has to be improved too.
> >
> >I use it with WfW3.11 and I have no clue if it will work (well) with
W95!!
> >
> >Just in case anyone is interested, I'm going to release this as
> >*soon* as I get it behave like a customer product (i.e. no recompile
> >for a change of options), and of course it belongs to the public domain!
> >But this can take a couple of weeks.
> >
> >Bye
> > Ren=E9
> >
> >
> >
> >
> >
> >
More information about the Synth-diy
mailing list