Subject: MAX Digest - 17 Dec 1999 to 18 Dec 1999 (#1999-361)
Date: Sun, 19 Dec 1999 00:00:00 -0500
From:
Automatic digest processor <LISTSERV@LISTS.MCGILL.CA>
Reply-To: MAX - Interactive Music/Multimedia Standard Environments <MAX@LISTS.MCGILL.CA>
To: Recipients of MAX digests <MAX@LISTS.MCGILL.CA>


There are 4 messages totalling 158 lines in this issue.

Topics of the day:

  1. More MTC questions (4)

----------------------------------------------------------------------

Date:Sun, 17 Jan 1904 20:54:21 -0800
From:keay <keay@HOOKED.NET>
Subject: More MTC questions

Hello,

First, thanks for reply's as to my earlier query about MTC. It is clear
that there are no good (ie easy) solutions to get a Max patch to sync with
an external sequecer (A korg monsynth generating bpm). Mr Elsea's tutorial
on the subject was helpful, but I am still having some difficulty.

Here is the question:

MTC is a system universal code. I can determine bpm with a modified version
of Elsea's patch (had to use rtin instead of midiin). that controls the bpm
of the patch though it is yet to be dtermined with what level of accuracy.
Now I want to be able to route that info back out to a drum module. To
start the drum module I need to send a start byte. (FAH = 250). Sysex
format says it is for system exclusive data, but it seem to be the only
option for sending the command out to the module. So,(here it is) what is
the format supposed to be? I have tried {sxformat 240 41 / is $i1/ 247} to
no avail. I am routing start and stop commands to sxformat under the
delusion that they will be dropped into the variable spot.

What is the pilot missing this time? Is sxformat the correct object to be
using?

Any help is, as always, greatly appreciated.

thanks,
keay@hooked.net

------------------------------

Date:Sat, 18 Dec 1999 12:31:44 -0000
From:Nick Rothwell <nick@CASSIEL.COM>
Subject: Re: More MTC questions

>First, thanks for reply's as to my earlier query about MTC. It is clear
> that there are no good (ie easy) solutions to get a Max patch to sync with
> an external sequecer (A korg monsynth generating bpm).

I'm really surprised there are no other solutions out there.

I native-coded a synchronisation suite of this kind some years ago,
based around a "chunk" object which was designed to mimick the
chunking facilities of some sequencers. I guess it's something like
the timeline facilities (which I have never used, being back at MAX
3.0): chunks can be declared with a fixed start bar and length, or
these can be changed dynamically so that musical processes can be
stopped and started live. (To start a process, move the chunk to the


current bar count.)

A chunk puts out some binary flags: a 0/1 for when it's in bar range,
a 0/1 for setup (the 1 comes out just before range, the 0 comes out
shortly after it's out of range) and a 0/1 for "clock running". Each
chunk instance has a counter output, configured with an interval value
(in clock pulses) and a max/rollover value.

I've been using this thing for years - the last time I recompiled it
was a fix for synchronising to drum machines (which put out clock
pulses even when stopped) back around 1995 - so it's pretty robust,
and I used chunk-based processes for most of my album. The pulse
sequencer uses the chunk object as time source, and this seems to work
out pretty well.

I'm planning to fully open-source (GPL) the chunk library, the
registry object (a sort-of heirarchical "coll") and the pulse
sequencer, since they're currently all 680x0-only and I'm the only
human being on the planet without a PPC-based Mac. I'm planning to get
round to this by about mid-January - things are hellishly busy right
now, and my entire studio is boxed up ready for house-moving. I know
I've promised releases of this stuff before: please bear with me...

--

Nick RothwellCassiel.com Limited
nick@cassiel.comwww.cassiel.com
systems - composition - installation - performance

------------------------------

Date:Sat, 18 Dec 1999 12:19:34 -0500
From:Stephen Kay <sk@COMPUSERVE.COM>
Subject: More MTC questions

> MTC is a system universal code. I can determine bpm with a modified ve=
rsion
> of Elsea's patch (had to use rtin instead of midiin). that controls th=
e bpm
> of the patch though it is yet to be dtermined with what level of accura=
cy.
> Now I want to be able to route that info back out to a drum module. To=

> start the drum module I need to send a start byte. (FAH =3D 250). Sy=
sex
> format says it is for system exclusive data, but it seem to be the only=

> option for sending the command out to the module. So,(here it is) wh=
at is
> the format supposed to be? I have tried {sxformat 240 41 / is $i1/ 247=
} to
> no avail. I am routing start and stop commands to sxformat under the
> delusion that they will be dropped into the variable spot.

>What is the pilot missing this time? Is sxformat the correct object t=
o be
> using?

"System exclusive" messages are not the same thing as "system realtime" m=
essages.

MTC is a different thing from MIDI Clock, of which the Start and Stop
commands are a part. If you are using rtin (system [R]eal[T]ime [in]),
then you are not using MTC, but MIDI Clock.

To send Real-Time messages, there is no corresponding "rtout" as one
might think; you just need to send Bytes directly into a "midiout"


object as raw MIDI data. To send MIDI Clock, bang '248' directly
into a midiout (in conjunction with a tempo or metro); to send
Start, send '250'.

Incidentally, using system real-time and MIDI clock, you should be able t=
o
control external devices with a great level of accuracy. I've done it fo=
r
years.

Stephen Kay
The MegaMAX Collection of Max objects: http://www.musikinetix.com

------------------------------

Date:Sat, 18 Dec 1999 11:37:59 +0000
From:Robert Henke <robert@MONOLAKE.DE>
Subject: Re: More MTC questions

hi keay,
you should ba able to create beat clock with max by simply sending 252 (stop),250 (start), and
248 (clock in 96. notes)via midiout.


....................................................
MONOLAKE
the secret life of digital music
http://www.monolake.de
..................................................

------------------------------

End of MAX Digest - 17 Dec 1999 to 18 Dec 1999 (#1999-361)
**********************************************************