Forums > MaxMSP

synching a mac and a pc

July 15, 2006 | 12:22 pm

does anyone have experience of synching a mac and a pc real tight? i want to run a sequencer on one machine that triggers max patches on both machines.


July 15, 2006 | 2:31 pm

a mac & pc would be the same as mac-mac or pc-pc.

but if you have two audiocards with spdif, you can make a phasor~ sync or a click track to sync~

-this synchs very nicely, you just have to delay the masterpatch by one signal vestor ;)


July 15, 2006 | 4:23 pm

i was thinking more like sending midi from logic to another computer, to control a synth patch. is there an efficient way to do this?


July 17, 2006 | 2:13 pm

Quote: bin wrote on Sun, 16 July 2006 01:23
—————————————————-
> i was thinking more like sending midi from logic to another computer, to control a synth patch. is there an efficient way to do this?
—————————————————-

I would really like to know this, too.
I know how to do this on Tiger-Tiger using LAN connections.
I wonder how to do this without using interface.


July 17, 2006 | 2:41 pm

open sound control(OSC) and a cross over cable, or wifi?

> I would really like to know this, too.
> I now how to do this on Tiger-Tiger using LAN connections.
> I wonder how to do this without using interface.


July 20, 2006 | 6:27 am

year,- just build a pluggo to send midi messages over lan via OSC….

you can also send sync siganls from the host this way, if needed…


July 20, 2006 | 6:58 am

@ bin,

am i right in guessing you’re not quite ready for sending OSC messages across a LAN using self made pluggo plugs ?

if you’re using logic, then that makes your situation more difficult, but answering the question a little easier. logic is going to have to use midi to talk to the two patches in the two computers. as far as the communication goes, that’s very easy, using ctlin or midin in with both patches.

however, you said tight, and here you stumble upon some problems that you don’t have with the usual sequencer/softsynth programmes. the timing of Max’s highest priority non-audio thread is not that good,indeed it’s sometimes apalling. this, however is where your midi sync signal lives once it has entered your programme.

what do the patches on the two machines do ? if they’re not doing much audio, or the midi part of the programme (and everything that is dependant on it !) is no too complex, you may find running the thread in audio interrupt (see dsp status under the options menu) helps. this seems to depend on so many things that it appears rather esoteric to me, and i’ve never been able to get good results that way, but it gets recommended often on this list, so i assume that some must get lucky – or know enough to make it work :-)

post a bit more information about what you are doing and what your setup needs to do.

stuart


July 20, 2006 | 7:29 am

easy pluggo solution

[plugmidiin]
|
[midiparse]
|
[prepend noteon]
|
[mxj net.maxhole]

(remember to add the line #C synth; to the plugconfig of the plugin)

—build as a pluggo…

if this is to advanced, go with regular midi, but this is many times faster…


July 20, 2006 | 7:58 am

the mxj.maxhole plugin looks interesting, so that works tighter than midi triggering? the tightness is very important to me. i can build plugins no problem if thats the right way

i dont have the second computer yet, so i obviously need to experiment, but the basic idea is to use logic to sequence chunks of audio created by 2 or more fairly large MSP patches, a synth, and a samplemangling thing. i just cant get them both to work together on the one machine, gets too complicated, and CPU gets too high. ideally, i’d have the audio from the slave computer routed back into the first computer. i believe theres a plugin called wormhole http://www.plasq.com/wormhole that does this, though i’ve heard various reports about usability.
several people have told me simple midi triggering works pretty well, though it seems a waste of space to have 2 midi boxes


July 20, 2006 | 2:02 pm

well, i think network is the fastest short of triggering thru a digital audio cable at audiorate, which might be a bit overkill in most situations !
(it’s still my preffered way of getting stable sync between computers, actually it’s as good as just using one computer ;)

I think the OSC plugin has bigger potential than mxj, on the other hand,- it’s a lot harder…

OSC is standart, so you could make a textfild to type target messages and make a plugmultiparam remember the symbols. Then you would be able to use it with more than max – i.e. Supercollider, Reaktor, Bidule, or whatever OSC ready app you might like…

[mxj net.maxhole], is a easy es eating cake, but it will only work with max, and only with stuff you built… but that might be what you wan’t anyway….


July 21, 2006 | 12:11 am

i just tried some experiments with linking my powerboog g4 to a 400 Mhz imac g3. the mxj net.maxhole object gives pretty good timing if i only use max msp, but its pretty lousy if i build a plug in and use logic. its also bad timing if i use rewire to send midi to max msp on the same machine, and then relay it to the other machine.

if i use a regular midi cable the timing is pretty good and more stable than with the network connection, which tends to stutter alot if i do something like move a window around. if i have a rewire audio channel in logic playing the same thing on my powerbook as on the imac, the rewire channel is actually about 10ms behind the remote imac.

however theres some wierd mistiming over the first couple of seconds of play, where logic seems to send out the beats a bit too slow then catches up


July 21, 2006 | 8:58 am

are you synching to the beatcount outlet ?

you should probably put in a [sel 0] after the plugsync~, because logic sends out a zero everytime the loop cycles (if loop is on) this will cause a doublebeat which can confuse a lot….

but Logic Audio just has crappy sync~ to max :(

the only way i found getting propper sync from logic, is by using the plugphasor~ which is also jittering a lot…
my workaround is below and syncs nicely…

plugsync~
|
< ~ 0.001
|
sync~

— do you have problems just sending midi-messages ?


July 21, 2006 | 12:34 pm

what i am doing is playing a sequence of midi notes into mxj net.maxhole, which ive put inside a pluggo plugin. then i’m receiving them on the remote computer thru same object. i want to use the remote computer to run a synth patch. i’m not sure how plugsync would help in this case, especially becaues its so flaky.

i’m interested that some people say an ethernet connection can give better timing than a midi cable and two usb /midi interfaces. from my experiments the opposite is true, midi seems far more stable and better timing

has anyone tried synching computers using other sequencers like live or cubase? i’m getting tired of logic’s strange behaviours


July 21, 2006 | 1:17 pm

well i’ve had very nice midi timing with an OSC plugin, better than midi for sure…

what is confusing me to ramble on about plugsync~ & plugphasor~ is the title of this post…. i don’t think sending midi messages to a synth can be called synching ?
(more like midi timing between a mac and a pc)

i dunno what you are doing, but maybe you can post the plugin you are using as text ?

are you parsing the midi to messages before sending or are you just sending raw midi ?
parsing before sending would give better timing, since the message being send is only one byte, where raw midi are 3 bytes…

10mb networking is about 300 times faster than midi


July 21, 2006 | 1:37 pm

the communication from max msp to max msp on the other machine is good over the ethernet . its just when i use logic to throw evnts down the maxhole, the timing gets all wobbly, even though they sound like they are being sent into the maxhole with good timing.

if i use a plugin its just

plugmidiin
|
midiparse
|
mxj net.maxhole

i mean synching as in, i want my synth part on the second machine to be played in time with my , say, percussion part on the first machine. at the moment its sounds rather wobbly on the second machine. i want usable well timed midi type information to get to my second machine. it has to be tight, cause im doing razor editing on stuff.

the problem on my second machine sounds like the ethernet information isnt gettinbg very high priority, like its totally disrupted by moving windows around the screen…my imac is only 400mhz though

how do i make an OSC plugin?


July 21, 2006 | 3:18 pm

i just tried the same thing using abelton live, it seems to have almost no latency with maxhole, but the timing is wobbly. midi has a 16ms latency but the timing is much better. theres no wierd slowing down when i start the transport either, like with logic……considering switching to live


July 21, 2006 | 4:33 pm

On 21-Jul-2006, at 14:34, bin ray wrote:
> i’m interested that some people say an ethernet connection can give
> better timing than a midi cable and two usb /midi interfaces. from
> my experiments the opposite is true, midi seems far more stable and
> better timing

Ethernet can be a lot of things, any one of which can effect your
results immensely.

Is it a 100MBit LAN with just two nodes doing nothing but your music?
A 10 MBit connection with 50 computers doing file sharing while
you’re OSCing? Or maybe there’s a wireless hub and some kids outside
your house are playing World of Warcraft…

Even though 10MBit sounds like a lot more bandwidth than MIDI’s 31.25
kBit, TCP/IP has tons more overhead. I would normally expect the
Ethernet configuration to give you less latency and better
performance, but there are plenty of factors to cause your mileage to
vary.

I think the first question is how much sync do you need? 40ms (video
at 25 fps)? 10 ms? 1 ms? Sample accurate? Then you can look for a way
to get what you need.

– P.

————– http://www.bek.no/~pcastine/Litter/ ————-
Peter Castine +–> Litter Power & Litter Bundle for Jitter
Universal Binaries on the way
iCE: Sequencing, Recording &
Interface Building for |home | chez nous|
Max/MSP Extremely cool |bei uns | i nostri|
http://www.dspaudio.com/ http://www.castine.de


July 21, 2006 | 9:07 pm

i need timing acuracy within a couple of milliseconds. latency is not such an issue.

i am running an imac 400mhz with a 10/100 mbit/s ethernet and a powerbook with 1Gbit /s , connected with a crossover cable. both on 10.4.6

there is very little latency with ethernet, maybe 1-2 ms but the timing is wobbling several ms either side of where it should be


July 23, 2006 | 2:07 am

Quote: bin wrote on Fri, 21 July 2006 14:07
—————————————————-
> i need timing acuracy within a couple of milliseconds. latency is not such an issue.
—————————————————-

Some ideas here:

http://homepage.mac.com/mikezed/technology/remotemidi2.html

mzed


July 23, 2006 | 11:32 am

those midi via udp send/receive patches seem to crash max msp pretty reliably. not very impressive timing either


July 26, 2006 | 2:14 am

Quote: bin wrote on Sun, 23 July 2006 04:32
—————————————————-
> those midi via udp send/receive patches seem to crash max msp pretty reliably. not very impressive timing either
—————————————————-

You saw that there is a buffer, to smooth out any network jitter, right?

mz


July 28, 2006 | 4:38 pm

I use OSC to send events between two computers (pc and mac combinations included) to Max from a) logic and b) a custom built sequencer. This works perfect with the custom built sequencer (done in Java) with latencies under 2 ms when the computers are linked with a cross cable. Logic timing (from inside a pluggo) is very unreliable (timing can differ around 100 ms) even when working on one computer.

Mattijs


Viewing 22 posts - 1 through 22 (of 22 total)