|
|
|
P. DooM's HACK Msync
What is HACK Msync?
A BUZZ Generator. In fact, it doesn't generate anything. It's a program
that can sync BUZZ to a midi clock source. It's implemented as a BUZZ
machine because a) this makes it easy to use and b) it can get better
control over BUZZ this way.
The main use of this machine is: you can sync BUZZ to a sequencer, such
as cakewalk pro audio or steinberg Cubase VST (see next topics). But you can also
use it to sync two instances of BUZZ! Just use a sequencer and send the
same MIDI clock signal to both of them - they will play the same part, at the same
time and in sync. This works far better and is more accurate than the old
BUZZync program.
The main features of the machine are:
- sync to midi clock
- receive start/stop/continue midi signals
- receive midi SPP (song position pointer) messages
- automatic BPM adjustments
- latency compensation
- timing accuracy of about +/-5 ms (estimated)
How to set up Msync machine
After you've 'installed' the machine (by copying all files to your
buzz/gear/generators/-directory), just insert the machine in your song.
There's no need to connect it to the master, as it doesn't generate output.
All parameters are accessible through the Setup menu (right click
on the machine).
Explanation:
|
Status
Some information about the operation of Msync. If something doesn't work
the way it should, check this out first!
- HACK Status: Shows if all BUZZ internal variables can be accessed. If
this doesn't say 'Ok', you better update to the latest BUZZ version!
- MIDI Status: Says 'Ok' if the MIDI port was opened successfully.
If it doesn't, make sure you selected the right MIDI port (see below), and
make sure that the port isn't in use by some other application (or used by BUZZ itself!).
- Song Status: Says 'Ok' if Msync works with the current song. If it doesn't,
you very probably got a bad TPB setting. TPB must be: 4, 6, 8, 12 or 24!
MIDI
- MIDI in port: Select the in port here. You better use just one
MIDI port especially for syncing (with just the clock signal and no
other MIDI data like notes/controllers on it).
Sync
- Compensate latency: BUZZ has a pretty high latency. This means if
the song position of BUZZ matches the MIDI song position perfectly, BUZZ will
still be late because it takes some time to generate and output sound.
With this setting you can compensate this. It'll make BUZZ play
ahead of the MIDI clock, thus getting the audible output in sync! The value you have to enter here
will often be higher than the latency of your soundcard (ASIO or directx drivers).
Example: I set my latency for ASIO to 20ms, and a latency compensation value
of about 140ms usually works best. The best setting also depends on the current song
tempo (BPM) and TPB! So you better play around with this a bit to find
the perfect value for your configuration.
Rule of thumb: A higher value will make BUZZ play earlier, at a low value
BUZZ will be too late.
- Set: apply the new latency. You can keep the Setup window open while
playing, just change latency and press Set to easily try out different
latency values.
- current max: The maximum compensate latency value you can
enter. This depends on the current tempo (BPM) and TPB.
|
Settings for cakewalk pro audio
Go to Options-Project and select the Midi Out-tab. You can see
the proper settings in the screenshot below. Note that the number for Midi Output Port
corresponds to the number of the MIDI-device in pro audio (the number
next to the MIDI Port in track view), and may be different on your system!
Settings for Cubase VST
Here, the important setting is hidden in Options-Synchronisation.
Just select the MIDI device for MIDI-Clock, and all important MIDI timing/positioning
signals will be sent to that port (btw: Ein means On in english :)
Settings for Emagic Logic Audio
Go to Options-Settings-Synchronisation Settings and select the
MIDI-tab. You can see the settings you should use for Msync in the screenshot below
(of course the MIDI port may be different on your system!).
Hint: disable Auto enable external Sync in the General-tab
to get rid of some problems that occur when using a loopback (such as Hubis
Loopback) for transmitting the MIDI clock signal.
Settings for Massiva
Also very easy to set up. Just go to File-Sync and select the MIDI
output
device. As always, this setting may differ on your system (I'm just sending it to
APS MIDI Out here).
Massiva is a nice freeware sequencer by Jørgen Aase. You can get it
here. Greets to Vectrex
at this place!
Important notes, please read!
- TPB must be one of these: 4, 6, 8, 12 or 24!
- Set the tempo of your BUZZ track to the correct tempo. (Same as
the tempo in your sequencer).
- Put some empty bars at the beginning of your song. This will give
Msync some time to catch the tempo/position.
- Make sure your BUZZ track is long enough. Remember that playing
over the end-of-song or loop-marker (Ctrl+E) will make BUZZ
jump to the beginning of the song. This will make synchronisation
impossible.
- Do not use tempo changes (do not change BPM or TPB in the master track)
in your BUZZ tracks! This will make it impossible
for Msync to work correctly. You can control the tempo of BUZZ from
your sequencer. You can also change the song tempo gradually in your
sequencer during the song, if these tempo changes don't occur too fast.
Note that shuffling (by changing the BUZZ tempo) will not be possible anymore with Msync!
Troubleshooting
- If something doesn't work the way it should, have a look at the Setup (see above).
The source of the problem might be indicated there.
- When I start the song in my sequencer, BUZZ (Msync) always misses the
beginning. Only
after some seconds it is in sync with the sequencer.
Msync takes some time to catch the tempo and song position and apply
these values to BUZZ. The rather complicated latency-elimination algorithm
makes this kind of 'boot up' problem unavoidable. What you can do to get around
this is:
- start the song some bars before the part you want to hear. E.g. if you want
to play from bar 16, set the song position to bar 13 (in your sequencer) and hit play.
When the sequencer arrives at bar 16, Msync will (hopefully) have had
enough time to 'catch the beat'.
- insert some empty bars at the beginning of the song. This will give Msync
some time to get in sync.
- I want to use MIDI port XYZ with Msync, but it doesn't work! Setup says
'CANNOT OPEN MIDI DEVICE'.
The MIDI port is in use by some other MIDI application. Make sure the port
is not used by your sequencer (Start BUZZ first, then start the sequencer).
Also make sure that BUZZ doesn't use the same MIDI port! (Have a look
at View-Preferences-MIDI Input in BUZZ). The MIDI input device of BUZZ
must be different
to the port used by Msync!
- I want to use HACK jump, but it doesn't work right anymore!
You can't use HACK jump together with Msync at the same time. Msync will
force the song position pointer to a BUZZ-position that corresponds to the
current MIDI position, so jumping around in the song is not possible!
- At the beginning of the song, BUZZ is in sync, but after some minutes
of playing it gets gradually out of sync.
Perhaps your MIDI connection is not reliable enough. The sequencer sends a MIDI tick every
1/24 beats, so if one of these ticks is skipped BUZZ will
be late 1/24 beat. If a lot of skips occur, this may put BUZZ out of sync.
- In Logic Audio, I can't play my song anymore. It stops or the cursor hangs.
You got a MIDI feedback problem. See Settings for Emagic Logic Audio above.
What is HACK?
HACK means: This machine accesses BUZZ internal variables directly. And this means for you:
this machine can't be used with any other BUZZ machine host than BUZZ itself,
and it probably can't be used with older versions of BUZZ. If there will
be a new version of BUZZ one day, it'll perhaps not be compatible anymore!
Note
This software is provided for use "as is" without warranty of any kind.
Use this BUZZ machine at your own risk! The author will not be liable
for any damage that may result from using these files. This includes, but is not
limited to: loss of profits, loss of your work, loss of time, loss
of inspiration, damage to your hardware or your brain. If you don't want to take
the risk, do not use this machine!.
 
Making this machine for you was hard work, I had to hack into BUZZ first and
then work out the mind-bogging formulas to sync BUZZ to something else,
only by changing the tempo and estimating how fast BUZZ goes. Not to speak
of the
long programming, testing and debugging phase. However, I think
it's quite usable now and will hopefully integrate BUZZ into pro studios
more! If you like the
machine, spread it, put my name on your CD covers, tell me that
I rule or send me some money or a postcard :)
Have fun!
Peter P. DooM Kaufmann, April 2001
kaufmann@pop.agri.ch
P. DooM's Homepage
| |