BUZZ - Rebirth MIDI Generator

# Rebirth MIDI 2

(c) 1999 Chilled Dreams
This Buzz-Plugin is freeware. Dedicated to ya'all Rebirth lovers.

## What does this thing

This Buzz machine is made to sync MIDI-Device with Buzz and send some MIDI-controller messages. My intention was to sync Rebirth with Buzz and so the MIDI features are limited to MIDI sync, controller sends and Note-On (with immediate Note-Off). That's all what I need for remote controlling Rebirth.

## Limitations

Because of the limited features in Buzz regarding to sequencing infos, song position, start/stop and so on it's something complicated to let the sync work.
When hitting the Play-Button on Buzz no automatic MIDI Start would be send. This is because Buzz don't tells the machines if the Song is runnig. Instead you must enter a start command in a Pattern. The same is true for MIDI Continue and Song Position. Stop is handled automatically (Buzz tells the machines when you stop the song).

## Installation / Settings

Copy the machine into the gear\generators directory. The Machine is called "Rebirth MIDI 2".
Right-click on the machine and choose "Settings" for setting up your MIDI device and other things:

MIDI Out Device | The device for MIDI Out Since this version I'm using the MIDI-functions of Buzz. So I am not opening a separate device like in the version before. Don't forget to enable the selected MIDI device in the preferences dialog of Buzz.
MIDI channel | The MIDI channel used to send controller commands to ReBirth
Sync Adjust | Adjusts the starting time of the MIDI-Syncs. Play around with this value if you have some problems. Normally this should be zero.
Song position unit | Selects what a song position actually means: MIDI beats (The standard for MIDI) or ReBirth Bars. It's easier to set to "ReBirth Bars" when using the machine in connection with ReBirth.
Start on Play Button | If enabled the machine tries to find the Buzz's Play-Button window. Then it hooks the button. If the Play Button is hit the machine starts to sends a MIDI start/continue and the sync clocks. So you don't have to write the start/continue commands in all your Rebirth MIDI 2 patterns.

If you're using both programs (Rebirth and Buzz) on one computer you need a MIDI-Loopback-Device. Try MIDI-Yoke or HLD (contained on the Rebirth CD). This takes the MIDI-Output of one program and sends it to another.

## Commands in the Patterns

First column - Start/Continue/Song pos Commands

0 - MIDI Start | Send a MIDI Start. After this the MIDI timeclocks are sent. A MIDI Start lets a song playing from it's beginning.
1 - MIDI Continue | Send a MIDI Continue and then the timing clocks. So a connected MIDI slave continues playing the song from where it was stopped before or from the position you've cued to.
2 - Song Position | Send a MIDI Song Position. Buzz don't tells me the current song position. So if you wanna use this, you must enter this manually. A Song Position is given in "MIDI-Beats". A MIDI-Beat is on Step or Row (on 4/4-Beat). This feature is currently untested

Timing clocks are sent until you hit the "Pause"-Button in Buzz. When playin' again the connected slave starts to work on the next Continue or Start Command (that you've entered in a pattern).
2nd column - Song position value

<value> | The song position value for command 1 (continue) and 2 (song pos) For Command 1 (continue) this value only counts if it's nonzero and the song is not currently playing! Otherwise it's ignored.

column 3 to 10 - Rebirth Pattern switch

Here you can easily send some pattern switch commands to ReBirth. See the statusline for description. You can change Rebirths pattern bank and the pattern for every machine. Note: ReBirth should be in Pattern mode for meaningfull using this feature.

## Commands for a Track

In every track you can send a Controller and a Note-On. The statusline shows a little help for the controller values. Rebirth 2.0 standard mapping is assumed.
See the MIDI-Tables for the right controller values and MIDI-Notes!

## Guide to use

Create a pattern named Start (or whatever). At the beginning in the pattern enter the command "0" (Start).
Create a pattern named Continue (or what you like). Here use the command "1" (Continue).
In the song sequencer you should set the Start pattern at the beginning. The continue patterns can follow if you need to continue the song on every position.
Sometimes Rebirth needs a short while to sync correctly after a Start. So it could be useful to add an empty startup pattern before the real song begin on both programs.

## Performance problems

I think you need a fast computer if your're rocking Rebirth and Buzz on a single station.
My 233 MHz AMD is suckin' up when the music contains more than some drums. On a 300 MHz PII it's running well. Also the timing is more stable on a faster machine.

## Timing problems

Buzz uses a more or less large wave buffer for preparing the sound. This means that a sound is not played immediately when created but with a short delay. Because of that every MIDI-Clock would comes too early. I'm calculating a short delay, which is exactly the difference between wave creation and wave playing (assuming Buzz tells no lies).
So the timing is correct for Buzz's side. On Rebirth there's also a wave buffer. I suggest to play around with Rebirths "Adjust Sync" setting to let the beats roll tight.
Bug-Reports, flames etc:
eMail: chilleddreams@chilleddreams.de
Homepage: http://www.chilleddreams.de/