Buzz is a cheesy sort of REXX controlled configurable synthesizer. It's like a primative analogue syntheizer with 8 oscillators with a few waveforms, which can modulate each other via AM or FM. MIDI enters the picture if need be - each MIDI note-on can reload the entire synthesizer with a new configuration! Also, Midi Note-on velocity can be used as a modulator.
Buzz does not work well on A4000's . In fact, it doesn't work at all
there. I suspect the same of A1200's. I'm not sure why.
Moral: sell it and get an A3000.
To start BUZZ, you must say
RUN Buzz
because it should run as a background task.
You will get a bare looking window with a close button and one line of
information about the sample rate.
You can actually set the sample rate from the command line:
run Buzz -s 12000
but it's easier to use ARexx to set it.
Although you hear nothing, BUZZ is alive.
You MUST use ARexx to command and configure BUZZ. This means you should run Rexxmast to start ARexx in case you foolishly have left it out of your startup sequence.
Because Buzz runs continuously, it will continue running a patch even though the controlling ARexx program has terminated. This is a feature - if you want it to shut up, use the SHUTUP command!
Another subtle point is that is can easily be controlled by any program which can execute a shell or ARexx macro command, such as editors, authoring tools, multimedia programs...
The ARexx port name for Buzz is BUZZ (all uppercase).
I give ARexx programs for Buzz the suffix .buz, but it's not necessary. A later version might have a different interface which maps ARexx macros to keys and thus would prefer a suffix.
/* a simple patch */ address BUZZ /* always a good idea */ SHUTUP /* right channel*/ OSC 0 110.0 127 /* left channel*/ OSC 1 110.0 127 TURN 0 ON TURN 1 ON TICKS 20 SHUTUP
/* simple FM patch mono*/ address BUZZ /* always a good idea */ SHUTUP /* right channel*/ OSC 0 110.0 127 /* left channel*/ OSC 1 220.0 40 oscfm 0 ON 1 TURN 0 ON TURN 1 ON TICKS 20 SHUTUPand
/*a complicated MIDI patch */ address Buzz /* turn off previous patch */ shutup /* a pretty good sample rate on the A3000 */ srate 8000 /* don't play while I load these patches! */ TurnSynth Off /* this magic number is the 12th root of 2, the ratio by which 12 equal tempered semitones differ. This is not an endorsement of this tuning system */ ET = 1.059463094 A = 110 AS = a *ET BF = a *ET B = as *ET C = B *ET CS = C *ET DF = C *ET D = CS*ET DS = D *ET EF = D *ET E = EF *ET F = E *ET FS = F *ET GF = F *ET G = FS *ET GS = G *ET AF = G *ET Base = C/2 /* determine frequencies for a range of MIDI Note Numbers... */ do MNN = 36 to 96 /* this patch uses two carrier frequencies, which beat at 2 Hz (twice a second) near the 'target' frequency */ OSC 0 base+1.0 127 OSC 1 Base-1.0 127 /* set up a modulator for those two with a subtle amplitude */ osc 2 base*2 4 /* to use MIDI velocity to modulate the volume, use these lines */ /* ARexx note: in double quotes so that the expression 'on -1' is not erroneously evaluated! */ /* "oscam 0 on -1" "oscam 1 on -1" */ /* AM modulate the Modulator (osc 2) with MIDI velocity */ "oscam 2 on -1" oscam 0 on 2 oscam 1 on 2 Turn 0 on Turn 1 on Turn 2 on /* save this as Midi Mote Number MNN */ MSet Mnn /* update the base pitch */ base = base*et end MNN /* turn off last loaded patch */ shutup /* ready to run !*/ TurnSynth On TurnMIDI on /* inform the user! */ say "Ready for MIDI" exit(0)
Buzz is experimental software and is not particularly nice to the serial port or the audio system. Other programs won't know it is using these resources and will (properly) snag them from Buzz and possibly malfunction. Sometimes this is a desired function, as the programs holding these resources are dormant, but haven't released them. One solution for Buzz would put the official grabbing of these resources under programmable control... but that's for some later version. You have hereby been warned of this behavior and hereby disclaim all responsibility for damages incurred by using this program.
That being said, it is a free program - give it away if you please. In fact, I don't consider you a licensed user unless you give it away. No charging fees now - that gives you an infinite profit, which is reprehensible. A license means nothing, other than I have your name in case you bother me again or deign to release more software or upgrades. If you use the stuff for some artistic pursuit, I'd like to know about it so I can boast to my friends. An example or description of said artwork would also be nice!
Of coure, any nice Curt Teich
I have written a number of other free experimental music and animation programs, most of which I'm happy to distribute. But until I develop the ESP to Joystick port interface, you'll have to write me:
Henry Lowengard, jhhl-at-panix.com /324 Wall St. Apt 5 / Kingston NY 12401/
© 1999 Henry Lowengard