phasor~ to midi clock [midi mssg 248]

sondod's icon

I appologize if I'm showing all of the wetness behind my ears but I'm having such a hard time at this. The goal is a stable sync between Max/MSP and Logic. Right now I've got a patch which works okay but drifts. I know I've got something set up wrong so if anyone can tell me what I need to change I'd appreciate it.

What I've got so far:

[90] BPM
[!/ 6000]
[!/ 1000]
[phasor~]
[rate~ 0.04166]
[>~ 0.5]
[edge~]
[248]
[midiout]

I read elsewher that I should be using wave~ instead of edge~ but am uncertain as to how to implement that in this patch. Just swapping them out doesn't work.

Any help is appreciated.

wippen's icon

I'm using [edge] as well. It is, as it states in the documentation, less than perfect, but after a few experiments with other solutions, I couldn't locate anything better. One thing which made alot of difference, however, was to set the max-scheduler to be in audio-interrupt. Now, at least, the [timer] and [metro] objects have the same timing as the [phasors]. Another thing which I noticed is that when I was using my laptop's internal soundcard, there were pauses in the audio-rate signal, but not when I use my external sound-device.

It has been a since I used it, but all of my experiences with midi-clock were unsatisfactory. The sync was normally alright, but starting and stopping was sloppy at best.

Why don't you use [rewire]?

Dayton

Darek Rossman's icon

i find

phasor~ > change~ > ==~ -1 > edge~ > to work well for syncing to phasor...but i think you might want to look at the [sync~] object..

sondod's icon

Quote: Dayton wrote on Tue, 06 June 2006 00:41
----------------------------------------------------
>
> Why don't you use [rewire]?
>
> Dayton
----------------------------------------------------

I always get an error in Max when trying to rewire asking me if I'm sure rewire is connected. I'll try again though.

Mitch Turner's icon

sondod,
I found this midi clock patch on the web somewhere (can't remember where). It may have been here:
http://www.synthesisters.com/hypermail/max-msp/Sep05/30579.h tml

Anyway, it does not use [phasor~] but seems to work well. Look inside the [p MidiClockOut] subpatch to see how it is working.

Hope this is helpful,
Mitch

Max Patch
Copy patch and select New From Clipboard in Max.

Stuart's icon

Sondod, I assume you're on a mac, since you mention Logic. I also assume you're on OSX.Here's the bad news...

MaxMsp timing and OSX is not a happy union. OS9 was fine, apparently Windows is fine - which is why I'm considering an Intel model - but OSX, with its multithreaded this and preemptive that, seems to cause serious scheduling problems for non-audio stuff. Like midi sync.

I've worked hard at this, and although some tweeking improves the situation, I still take a roland groove box to gigs just for the midi sync.

However:

Don't assume small IO buffers are better for timing (as with latency), since larger buffers give audio breathing space, which in turn leaves more time for non-audio. = better midi timing.
The audio interrupt thing is fine as long as you have very little midi going on, for example only sync.

Why not use Logic as master ?

sondod's icon

Well I finally got the rewire working and it's sync is much better than phasor~. The only problem is that Logic starts crashing. I'm thinking this will require my getting Logic 7.2 which was supposed to improve ReWire. If it ain't one thing its another.

Stefan Tiedje's icon

PL wrote:
> Right now I've got a patch which works okay but drifts.

How do you find out that it drifts? This might lead you to the reason
why it does. Does it miss some midiclocks? (count them) does it not
syncronize? (set Logic to syncronize)....

Stefan

--
Stefan Tiedje------------x-------
--_____-----------|--------------
--(_|_ ----|-----|-----()-------
-- _|_)----|-----()--------------
----------()--------www.ccmix.com

anya elioutina's icon

Try this one
It's been working for me fine; no drifts

Max Patch
Copy patch and select New From Clipboard in Max.