Humble apologies if this has been requested before (or promised/delivered since).
I wanted to record and share the idea ASAP, to guard against loss. I haven't fully worked it out, but it feels good. Comments/refinements welcome! I tend to over-complicate systems on a first pass, or miss the obvious
Sync Audio/MIDI "playhead" position across multiple Magic servers to give
Multiple simultaneous scenes from an array of potentially modest/old CPU-GPUs
- Each could drive a dedicated projector or screen
- Each could feed a rendered SPOUT stream, virtual camera or actual video into the master compositing system.
- Each could have a +/- offset to pre-compensate for rendering-to-light latencies downstream.
Alternative modes
1) Simultaneous mode
Audio file control synchronises all Playlists, so all scenes across all slaved servers change in sync with the master.
2) Sequential mode
Chain projects/playlists between systems, so they play in sequence. Could be crossfade between a 2-deck system with overlapped projectors.
3) Jukebox mode, which also slaves the Project names, enabling the Master machine to control a whole show.
Is there any merit in considering each system as one light in a DMX-controlled rig, and thinking how one would control an evening's show?
Sync start times between multiple Magic servers
-
- Posts: 711
- Joined: Sun Sep 14, 2014 8:15 am
- Location: UK
- Contact:
Re: Sync start times between multiple Magic servers
not sure if i understood you correctly: basically multiple computers each with their magic instance and projector, but sharing the same data on audio analysis and midi inputs?
advantages: able to use multiple medium computers instead of one hardcore one?
advantages: able to use multiple medium computers instead of one hardcore one?
-
- Posts: 711
- Joined: Sun Sep 14, 2014 8:15 am
- Location: UK
- Contact:
Re: Sync start times between multiple Magic servers
Yes!blackdot wrote:...multiple computers each with their magic instance and projector
That adds further capabilities I'm sure.blackdot wrote:...sharing the same data on audio analysis and midi inputs?
I only had in mind locking the Playlist scenes together, with audio being analysed locally.
Re: Sync start times between multiple Magic servers
ah you mean for a less active performance where you just let the playlists run but the playlists are synchronised in terms of hopping to a new scene?
-
- Posts: 711
- Joined: Sun Sep 14, 2014 8:15 am
- Location: UK
- Contact:
Re: Sync start times between multiple Magic servers
That's an option, bus so's manually changing the scene in an interactive performance. The slaves would follow that too.blackdot wrote:ah you mean for a less active performance where you just let the playlists run..?
Yes. However they are changing in the master machine, the slaves follow.blackdot wrote:.. the playlists are synchronised in terms of hopping to a new scene?
Re: Sync start times between multiple Magic servers
Thanks Terry, that's a good idea. In some sense, I think it's already achievable (at least for the Playlist) by using a MIDI server on a local network. You could issue your control commands via a MIDI device connected to the master computer, and the server would forward the commands to the slave computers. I don't see why this wouldn't work for either sequential or simultaneous commands.
There wouldn't be any latency (except maybe a few milliseconds on the network), because MIDI-over-network isn't constrained by the same rules as MIDI-over-cable.
The nice thing is that it would be easy to set up. MIDI server functionality is built-in to OS X, and there are some good equivalent utilities for Windows, such as http://www.tobias-erichsen.de/software/rtpmidi.html. And, you could use both OS's interchangeably.
Also, I definitely have plans to add more MIDI controls to Magic's interface elements, including the audio playback buttons. So this would solve the issue for synchronizing the audio playback.
The only thing that wouldn't work is "Jukebox mode" as you described, so I'd need to think of some other way to remotely tell the slaves what project file to load. But maybe it's achievable via MIDI also if I encode the filename as MIDI commands somehow.
There wouldn't be any latency (except maybe a few milliseconds on the network), because MIDI-over-network isn't constrained by the same rules as MIDI-over-cable.
The nice thing is that it would be easy to set up. MIDI server functionality is built-in to OS X, and there are some good equivalent utilities for Windows, such as http://www.tobias-erichsen.de/software/rtpmidi.html. And, you could use both OS's interchangeably.
Also, I definitely have plans to add more MIDI controls to Magic's interface elements, including the audio playback buttons. So this would solve the issue for synchronizing the audio playback.
The only thing that wouldn't work is "Jukebox mode" as you described, so I'd need to think of some other way to remotely tell the slaves what project file to load. But maybe it's achievable via MIDI also if I encode the filename as MIDI commands somehow.
-
- Posts: 711
- Joined: Sun Sep 14, 2014 8:15 am
- Location: UK
- Contact:
Re: Sync start times between multiple Magic servers
Thanks . I didn't know of these. Like this one? http://www.nerds.de/en/ipmidi.htmlEric wrote:... it's already achievable (at least for the Playlist) by using a MIDI server on a local network.
Looks great, but the latency I had in mind was in the analysis/generation/display. Some displays have multiframe delay. If video needs to input via a capture card, further latencies arise. I had local sound files in mind for the source. If playback started early it could compensate for an arbitrary frame delay.Eric wrote:There wouldn't be any latency (except maybe a few milliseconds on the network)..
Eric wrote:... I'd need to think of some other way to remotely tell the slaves what project file to load.
Re: Sync start times between multiple Magic servers
Yep, or the one I mentioned above, which is free I believe.Like this one? http://www.nerds.de/en/ipmidi.html
Ahh, so basically you want to delay the sound before it exits the computer, yes? So it syncs up with the delayed video output?Looks great, but the latency I had in mind was in the analysis/generation/display. Some displays have multiframe delay. If video needs to input via a capture card, further latencies arise. I had local sound files in mind for the source. If playback started early it could compensate for an arbitrary frame delay.
-
- Posts: 711
- Joined: Sun Sep 14, 2014 8:15 am
- Location: UK
- Contact:
Re: Sync start times between multiple Magic servers
That would be a very cool capability . It's not the mechanism I had in mind, but would enable a stand-alone system to gain the same benefit as the slaves I had been considering.Eric wrote:you want to delay the sound... So it syncs up with the delayed video output?
I was originally thinking of slightly changing the relative syncing of the slave audio file players.
Re: Sync start times between multiple Magic servers
That sounds useful for non live audio events. Like some installation or something.