Subject: Re: midi and spiralsynth
To: Dave <dgriffi@cs.csubak.edu>
From: Ben Collver <collver@peak.org>
List: tech-pkg
Date: 04/24/2005 07:05:45
On Sun, Apr 24, 2005 at 02:32:22AM -0700, Dave wrote:
> An interface or a controller keyboard?  Interfaces are commonly found with
> old-style joystick ports.

It is an interface:

umidi0 at uhub1 port 1 configuration 1 interface 0
umidi0: EDIROL UM-1, rev 1.10/2.00, addr 2
umidi0: (genuine USB-MIDI)
umidi0: out=1, in=1
midi0 at umidi0: USB MIDI I/F

About 2 years ago, I bought a new computer that did not have a MIDI
interface, and did not have any ISA slots.  All my audio boards were
ISA.  Since I was happy with the integrated audio and wasn't using MIDI
much, I left it alone.

> Hmm, it appears that this patch is applied already with the included patch
> set.  Should I re-apply what was in patch-an?

What was in patch-an was a workaround for GNU PTH.  The whole Midi.C
needs to be re-designed.  As it was, when it failed to open the device
path, it looped tightly in the do read() while loop.  This made the
application unresponsive under PTH.

A better fix would be for me to alter MidiReaderCallback so that checks
whether m_MidiFd is negative, and in that case avoid polling.  But that
would not help with the responsiveness.

> I'm familiar with old-timey analogue synthesizers.  That may give me an
> edge up against csound4.  Last time I tried it, I couldn't figure out how
> to even get it started.

If you want an example, see:
backyard.homeunix.net/~ben/docs/alt/music/csound/work/7-simple-midi-in.csd

> Frustrated with not being able to use softsynths on NetBSD, I turned to
> tinkering with homebrewed synthesizers using microcontrollers.  Check out
> http://www.midibox.org for some nifty stuff.  There you'll find plans and
> discussion on midi controllers as well as two synths.  One uses
> Commodore's SID chip (up to four can be ganged together in one chassis).
> The other uses the Yamaha OPL3 set.  There's discussion on making one
> based on the Atari Pokey.  The plans are exceedingly simple: single-sided
> circuit boards measuring a couple inches on a side.  The user interface
> can be anything from computer-controlled (a java app) to a full rackmount
> chassis with lots of knobs and switches.

That looks like fun!

Ben