My initial thoughts were to keep my modular system all analog. The other side of the room is full of digital stuff. I even drive my modular with an Arp CV keyboard. However, having the PSIM has been a lot of fun and Brice got me thinking about using the PSIM to interface my Roland SC-7. It's a small self-contained GM synth. I originally wanted to verify the MIDI functionality as I was designing my own panel and wanted to get everything included that would be useful. I ended up with MIDI in/out, 4 CV controls, and a SpeakJet. I have a picture of it in the photo section. The code I have running is basically the input and output drivers. The input is interrupt driven into a ram buffer. Since this is running at a 31.5 kbaud, data is received every 317 uS it has to be interrupt driven and buffered. I didn't worry about driving the output via interrupts as I figured the code would take probably that long to generate the next data byte. Most of my programs are midi out. I've used midi-in code to remove real-time active status bytes from the midi stream. For midi output, Brice wrote a couple of programs that I have adopted. The one I like best simply converts CV to MIDI. Nothing real fancy but it allows CV control of note, octave, and program change. You can get some real interesting patterns going driving a GM synth with 4 LFOs. I have a program now that I'm working on now that has 5 digital counters that I multiply by the input CVs, sum, and drive the GM note and program. I've modified the CV to midi program to quantize the input CV and watch for changes. Whenever I see a change I generate a trigger pulse, gate, and midi data for the GM synth. I get some really neat glissandos with it. The SpeakJet takes 9600 baud data so I also drive that with the PSIM. I've written a couple of programs that output phrases based on CV inputs. I've even taken the output of the SpeakJet as input into my Vocoder. That was interesting. In order to play with the SpeakJet to build phrases, I needed to use the PhraseAlator program. This wants to talk directly to the PSIM so I adapted my midi code to receive serial data from the PC. I made an adapter (just a diode and resistor) to connect the RS-232 cable to the midi in. I adjusted the code for 2400 baud input so I wouldn't need flow control to the PC. The program simply takes the SpeakJet data stream from the PC via the midi in port, buffers it, and redirects it to the SpeakJet. Adapting the receive buffer from the midi code, I wrote a program that samples trig, gate, and cv, and stores the timestamps. Then, via timer interrupts, outputs the same signals at a variable delay. This program is really neat. I drive one VCO with the keyboard signals and another with the delayed signals. I've limited the program to a max of 3 seconds but there is no reason it couldn't be 300 seconds. I also wrote an arpeggiator program which is an adaptation where I output user defined and predefined sequences based on a root note. Just for grins I wrote a dual J-K flip flop with preset and clears. Just the thing you need for complex gating and triggering. This evolved into a user-defined 4 counter program that generates up to 256 stage pseudo-sequences that I use to drive CVs. This is what I am currently adapting for driving the GM synth. Continuous back to back midi data streams really stress the PSIM data processing rate but it will process the data as fast as I can play it on a keyboard. Adding timer interrupts puts it right up against the processing limit as far as I can tell. It's a wonderful fun module that has really provided much more capability than I ever thought. I'm having fun building long self-running sequences that include my Roland SC-7 as well as all my modules. In fact, I have adapted my Roland to a 1U MOTM panel so I can install it in the same cabinet. I also have a Kurzweil ribbon controller and want to write the program to convert that midi stream to cvs. I haven't gotten to that yet. Dave --- In SynthModules@yahoogroups.com, Larry Hendry <hendrysr@y...> wrote: > Dave, I do not yet have my PSIM. So, I am still rather uneducated as > to what it will do in many aspects. I am particularily interested in > what data you are communicating with the MIDI in and out ports. Is > this just real time data? Or, have you manipulated the MIDI ports to > input or output code or values in the code? What kind of > communications are possible at the MIDI port. My dream would be that > PSIM programs could be exchanged like a sysex file via the MIDI port. > Of course, that may be a pipe-dream. > Larry Hendry (extremely code stupid) > > > --- djbrow54 <davebr@e...> wrote: > > I've interfaced my PSIM both to the SpeakJet and with MIDI in and > > out, both of which are serial interfaces using J3 and J5. It would > > be quite easy to add RS-232 drivers to either of these connectors. > > J5 would be better since the serial communications is done in > > hardware. My PSIM Template code in the code fragments folder > > already have the serial input and output code. You would just have > > to change the baud rate from MIDI to whatever baud rate you wanted. > > > > > > > > > __________________________________ > Do you Yahoo!? > Take Yahoo! Mail with you! Get it on your mobile phone. > http://mobile.yahoo.com/maildemo
Message
Re: Data Storage from PSIM
2004-06-16 by djbrow54
Attachments
- No local attachments were found for this message.