Yahoo Groups archive

SynthModules

Index last updated: 2026-04-28 23:14 UTC

Thread

Data Storage from PSIM

Data Storage from PSIM

2004-06-15 by Andrew Scheidler

What's the chance that someday there'll be some kind of accessory for
the PSIM that you can dump data into for storage while powered down?

ie, I'd like to be able to dump arrays of data (that I've loaded into a
PSIM sequencer program) into a battery-backed chip (eprom?).

Of course you can put the sequence data right into the program, then
make changes while the PSIM is on, but those changes are lost when you
power down.

I *don't* want to go thru dumping this to a MIDI sequencer.  I've
banished the MIDI/computer interface from my studio.  Is it possible to
somehow load/save data thru the 232 port on the PSIM back to the
computer?  That's not perfect, but it would be a neat ability.

???

Andrew

Re: Data Storage from PSIM

2004-06-15 by djbrow54

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.

I actually designed the reverse of this.  I wanted to be able to
interface my SpeakJet to the PC.  I made a simple adapter cable to
convert RS-232 to current levels so I can plug an RS-232 cable into
the MIDI in port.  I just needed to change the baud rate.  I don't
have any hardware flow control but don't need any due to the design
of the buffers and rates.  This RS-232 code is in the SpeakJet
folder.  You could easily build the opposite to convert the current
levels into RS-232 voltages to drive RS-232 from the MIDI out port.

Dave

--- In SynthModules@yahoogroups.com, "Brice D. Hornback"
<synthmodules@s...> wrote:
> Andrew,
> 
> Almost *anything* is possible.  The PSIM-1 *can* communicate via
it's RS-232
> port after programming.  The PSIM-1 also has the capability of
using I2C
> devices (by adding two resistors - but then you can't use the
SpeakJet or
> anything else using those pins).  I've had this on my mind since the
> beginning... but haven't had a chance to work on any solutions.
> 
> Take care,
> Brice
> http://www.SynthModules.com
> 
> ----- Original Message ----- 
> From: "Andrew Scheidler" <xpandrew@p...>
> To: <SynthModules@yahoogroups.com>
> Sent: Tuesday, June 15, 2004 3:53 PM
> Subject: [SynthModules] Data Storage from PSIM
> 
> 
> > What's the chance that someday there'll be some kind of accessory
for
> > the PSIM that you can dump data into for storage while powered
down?
> >
> > ie, I'd like to be able to dump arrays of data (that I've loaded
into a
> > PSIM sequencer program) into a battery-backed chip (eprom?).
> >
> > Of course you can put the sequence data right into the program,
then
> > make changes while the PSIM is on, but those changes are lost
when you
> > power down.
> >
> > I *don't* want to go thru dumping this to a MIDI sequencer.  I've
> > banished the MIDI/computer interface from my studio.  Is it
possible to
Show quoted textHide quoted text
> > somehow load/save data thru the 232 port on the PSIM back to the
> > computer?  That's not perfect, but it would be a neat ability.
> >
> > ???
> >
> > Andrew
> >
> >
> >
> > Be sure to check out the primary Web site at:
> > http://www.SynthModules.com
> >
> > Yahoo! Groups Links
> >
> >
> >
> >
> >

Re: [SynthModules] Data Storage from PSIM

2004-06-16 by Brice D. Hornback

Andrew,

Almost *anything* is possible.  The PSIM-1 *can* communicate via it's RS-232
port after programming.  The PSIM-1 also has the capability of using I2C
devices (by adding two resistors - but then you can't use the SpeakJet or
anything else using those pins).  I've had this on my mind since the
beginning... but haven't had a chance to work on any solutions.

Take care,
Brice
http://www.SynthModules.com

----- Original Message ----- 
Show quoted textHide quoted text
From: "Andrew Scheidler" <xpandrew@ph.k12.in.us>
To: <SynthModules@yahoogroups.com>
Sent: Tuesday, June 15, 2004 3:53 PM
Subject: [SynthModules] Data Storage from PSIM


> What's the chance that someday there'll be some kind of accessory for
> the PSIM that you can dump data into for storage while powered down?
>
> ie, I'd like to be able to dump arrays of data (that I've loaded into a
> PSIM sequencer program) into a battery-backed chip (eprom?).
>
> Of course you can put the sequence data right into the program, then
> make changes while the PSIM is on, but those changes are lost when you
> power down.
>
> I *don't* want to go thru dumping this to a MIDI sequencer.  I've
> banished the MIDI/computer interface from my studio.  Is it possible to
> somehow load/save data thru the 232 port on the PSIM back to the
> computer?  That's not perfect, but it would be a neat ability.
>
> ???
>
> Andrew
>
>
>
> Be sure to check out the primary Web site at:
> http://www.SynthModules.com
>
> Yahoo! Groups Links
>
>
>
>
>

*** PSIM-1 Shipping Update ***

2004-06-16 by Brice D. Hornback

*** PSIM-1 Shipping Update ***

For those of you still waiting on your PSIM-1's to arrive... they are taking
me longer to build than I had anticipated.  Did you know it takes 20 minutes
just to build a power cable - not crimped / all soldered.  It also takes
approximately 30 minutes to test each PSIM-1.  The "partials" (boards only)
take even longer than that to test since they don't have jacks which really
do make them easier to test.  I also wish I had gone SMT on all the
resistors and diodes!  They are all hand formed since all the resistors
mount vertically and the diodes aren't exactly on .4" spacing.  Live and
learn...

Anyway, thank you all for being patient with me.  I have four more finished
that will ship this week and other five on the bench that will ship shortly
after that.  Onwards and upwards... :-)

Take care,
Brice
http://www.SynthModules.com

Re: Data Storage from PSIM

2004-06-16 by djbrow54

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.
Show quoted textHide quoted text
> 
> 
> 
> 
> 
> 
> 
> 		
> __________________________________
> Do you Yahoo!?
> Take Yahoo! Mail with you! Get it on your mobile phone.
> http://mobile.yahoo.com/maildemo

Re: [SynthModules] Re: Data Storage from PSIM

2004-06-16 by Larry Hendry

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@earthlink.net> 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

Re: Data Storage from PSIM

2004-06-16 by grantrichter2001

> 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.

Actually, this is an interesting problem. MIDI continuous 
controllers (CC) are only 7 bits (128 levels) and produce very 
apparent zipper noise. You can use an analog slew unit on the 
output to do a hardware interpolation.

More difficult but more interesting would be a software solution. 
One possibility to is to use physical modelling. Model a mass 
which is "pushed" by the course 7 bit steps and "coasts" to a 12 
bit position. The amount of coasting is determined CC rate, or 
the time interval between CC packet reception.

Another mental model would be a stepping motor with 128 steps 
connected by a rubber shaft to an actual pot. In this model the 
coarse 7 bit steps are connected with 12 bit line segments. But 
there may not be enough processing time available and the line 
slope needs to change with CC time interval to make a smooth 
curve.

Then again, you could just hack an output jack into the Kurzweil 
and pick up the output of the buffer for the linear force sensing 
resistor (the rubber strip).

Re: Data Storage from PSIM

2004-06-16 by djbrow54

I like your idea of software modeling.  At one time I wrote code (a 
long time ago) that emulated a flywheel on a simple encoder.  Should 
be fun in Basic.

It seems silly to encode the ribbon to midi only to convert it back 
to cv's again.  I did some reverse-engineering on the Kurzweil 
ribbon.  It turns out it is three independant ribbons, each covering 
1/3 of the total.  Their software implementation stitches these 
sections back together for a continuous single ribbon.  I did an 
analog design that would offset and add these sections together and 
it got a bit more complicated than I wanted to wire up.  However, it 
would work great if you wanted three independant ribbons.

Dave

--- In SynthModules@yahoogroups.com, "grantrichter2001" 
<grichter@a...> wrote:
Show quoted textHide quoted text
> > 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.
> 
> Actually, this is an interesting problem. MIDI continuous 
> controllers (CC) are only 7 bits (128 levels) and produce very 
> apparent zipper noise. You can use an analog slew unit on the 
> output to do a hardware interpolation.
> 
> More difficult but more interesting would be a software solution. 
> One possibility to is to use physical modelling. Model a mass 
> which is "pushed" by the course 7 bit steps and "coasts" to a 12 
> bit position. The amount of coasting is determined CC rate, or 
> the time interval between CC packet reception.
> 
> Another mental model would be a stepping motor with 128 steps 
> connected by a rubber shaft to an actual pot. In this model the 
> coarse 7 bit steps are connected with 12 bit line segments. But 
> there may not be enough processing time available and the line 
> slope needs to change with CC time interval to make a smooth 
> curve.
> 
> Then again, you could just hack an output jack into the Kurzweil 
> and pick up the output of the buffer for the linear force sensing 
> resistor (the rubber strip).

Expressionmate (was Re: Data Storage from PSIM)

2004-06-18 by djbrow54

I decided to press the midi code and see what it could do.  I ended
up writing an Expressionmate to CV program.  The Expressionmate will
output a full 14 bits of pitchbend so I mapped this to a +5V center
with +/- 5 volts of swing.  I had to accept running status so I wrote
a midi command parser.  I threw some sample code into the note on and
note off that would convert to CV and pass through to midi out.  This
code doesn't yet handle multiple key presses/releases.  I also
assumed the midi stream was well behaved and wasn't inserting real
time messages in the middle of the data stream other than active
sensing.  The PSIM seems to handle the data rate from the
Expressionmate pretty well.  I've uploaded the alpha version to the
midi folder.

Anyone else have an Expressionmate and a PSIM?  Let me know how it
works.  I haven't decided where I want to evolve this program yet.

I also used the serout to send data back to the console for debug
since the debugger is useless with interrupts.  It turns out that
interrupts also mess up the serout timing so you have to disable
interrupts to pass messages to the console for debug.

Dave

--- In SynthModules@yahoogroups.com, "djbrow54" <davebr@e...> wrote:
> 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
Show quoted textHide quoted text
> > > 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.

Re: [SynthModules] Expressionmate (was Re: Data Storage from PSIM)

2004-06-18 by improv@peak.org

> Anyone else have an Expressionmate and a PSIM?  Let me know how it
> works.  I haven't decided where I want to evolve this program yet.
>
I have both the ExpressionMate and a PSIM, but have been so busy lately
I've barely begun to use the PSIM. I will check out your program when I
get a chance, and let you know my results. Plus, I'd definitely help out
testing any new features you add.

Expressionmate (was Re: Data Storage from PSIM)

2004-06-18 by djbrow54

I did a few more tweaks and uploaded an alpha1 version.  I added a
5 mS trigger output and cleaned up the gate logic so it follows a
last note priority correctly.  The expressionmate pitchbend code
is unchanged. - Dave

--- In SynthModules@yahoogroups.com, improv@p... wrote:
Show quoted textHide quoted text
> I have both the ExpressionMate and a PSIM, but have been so busy
> lately I've barely begun to use the PSIM. I will check out your
> program when I get a chance, and let you know my results. Plus,
>I'd definitely help out testing any new features you add.

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.