joachim_s Posted October 13, 2018 Share Posted October 13, 2018 Hi! I have successfully made MainStage slave to Logic’s midi clock through tempo changes in a project, but they don’t happen in perfect sync. Every time I push play in Logic MainStage starts the Playback sound file slightly differently in time. How do I fix this? Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted October 16, 2018 Share Posted October 16, 2018 It seems like I messed with this in the past and decided it is futile but I will try to take a look later today. You might want to consider using two instances of logic sync’d together but just use mainstage for live instruments. Of course if you need to play a live tempo sync’d arp or something then you’d need to play that in logic that way.... so I feel your pain. But if all mainstage needs to do is sync to the metronome of logic without regard to bars and beats then maybe it will be ok? In other words keep sequencers on logic. Tempo sync’d without regard to bar beats.... logic might have to be started early before you manually trigger it in mainstage on demand or something. Sorry I don’t have a better answer right now, will experiment later Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted October 16, 2018 Share Posted October 16, 2018 yea I remember now.. so basically MainStage is NOT able to sync to anything else. What it can do is detect tempo via midi, that's it. so it can receive tempo from some other program, such as LPX, in the form of midi clock, but it does not make any attempt whatsoever to synchronize the playback with the sender of the midi clock. Not only is song position pointer not paid attention to, but it doesn't even try to line up beats or anything...it just tries to figure out what tempo you want. Then MainStage will have its own clock that starts at its own time using that tempo. If you speed up Logic...it will speed up as it detects the new tempo, but no attempt is made at all to play in sync with logic. I never got it to sync at all and I can't find any information out there that says otherwise. MainStage is simply not up to that task. I think Apple probably has it that way because its a cheap program and it has a lot of built in instruments. If it was easy to sync it, a lot of people would not buy Logic. They would use their other DAW and sync MainStage to that. This way if you ant to use the logic/mainstage instruments for making music, you pretty much have to buy Logic. That's just what I'm guessing... so now how to solve your problem, is more about needing to understand your overall setup to think of some other possible ways to get your show happening. Logic can obviously sync to logic...so perhaps you need logic in two places. The main advantage of MainStage over logic, IMHO, is the ability to setup set lists in there to change patches easily...LPX is not setup for that at all. But you might be able to use Logic also...so that when a certain patch comes up in MainStage, IAC routes midi through logic, which is listening to midi clock and synchronizing...and the output of that midi goes back to MainStage or something like that...there are different possibilities. Also Plogue Bidule might be your friend here. Its possible that plogue bidule would listen to midi clock inside there, even though MainStage is ignoring it...and you could use the plogue bidule clock to synchronize a plugin running inside bidule, which is inside MainStage. I haven't done that, but I'm pretty sure its possible, check the PlogueBidule forum to find out more. There are other options, but syncing MainStage to pretty much anything, I'm afraid, is not going to work... You need to use something else that has its own clock which can sync to your main logic clock. Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted October 16, 2018 Share Posted October 16, 2018 So here's a possible solution for you. I was just able to get a drum machine plugin (Jamstix) hosted inside MainStage, to play in sync with the midi clock coming from LPX. Requires commercial 3rd party product, PlogueBidule. Note that Midi clock sync is not as tight or accurate as something like rewire, so results may vary depending on what you're doing, but here's how I did it. Create a channel strip in MainStage and use Bidule as the instrument Inside Bidule, create a patch that looks something like shown below. configure the MIDI TO SYNC object with something similar as shown below here. Configure the plugin you are using by right clicking on it and selecting sync option, as follows: In Logic, configure it to send midi clock sync over the IAC port that is configured in the above bidule patch for receiving midi clock, in this case its "Bidule AU 1" That's it..when I did that hit play from Logic...jamstix responded inside MainStage and started playing immediately at bar 1 beat 1 and played at the correct tempo, I was listening to the metronome in Logic and jamstix at the same time, sounded in sync. Note that inside the bidule thing you can specify a starting tempo which may make it more immediately responsive as it will assume the correct tempo to get started instead of having to calculate it, which takes a few bars to work out otherwise. Quote Link to comment Share on other sites More sharing options...
Maddcow Posted October 17, 2018 Share Posted October 17, 2018 Nice workaround, Dewdman. I’ve found Plogue Bidule very handy for getting MainStage to do things it’s not really designed to do. It really is the Swiss Army Knife of audio/MIDI tools. Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted October 17, 2018 Share Posted October 17, 2018 I have found it useful a number of times. Here are some of the ways able to run VST plugins inside MainStage/Logic Midi monitor in the plugin chain access IAC ports directly from the plugin chain of the channel strip Here we have the midi clock sync example. Those are just very simple tasks and really just the tip of the iceberg for what plogue bidule can do. I just mainly don't need most of what it can do, but some of these swiss army knife features have definitely come in handy. You also get a standalone host which can be sync'd via rewire...which by the way might also be a possible solution for the OP here. Many tasks that I personally find easier to do in Scripter, can be done with it too...it has a whole range of midi and audio manipulation objects which can be wired together to perform various kinds of filters and transformations, etc...like what can be done inside Logic Environment, except actually way more powerful then that... So if you can't do it with Mainstage's midi transformation tools, you could probably do it inside Bidule. I bought it when it was on 50% sale one time after pondering it for years and it turns out I'm using it more than I thought I would. Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted October 17, 2018 Share Posted October 17, 2018 Back to the OP's question just want to throw out other ideas... So another approach to the problem would be to have another instance of Logic or some other plugin host that is sitting there hosting the plugins in question that need to be sync'd. A rewire slave would be the most tight sync, but some others like Logic, could sync to midi clock, etc. So you could basically put a few of those plugins onto that host, each one listening to a different IAC port. Then in MainStage, use external instrument plugin to play your midi at the keyboard and have it directed over IAC to that other host...the other would be sync'd to logic as you desire.. etc.. or some variation on that theme... Quote Link to comment Share on other sites More sharing options...
egelmett Posted December 7, 2018 Share Posted December 7, 2018 So here's a possible solution for you. I was just able to get a drum machine plugin (Jamstix) hosted inside MainStage, to play in sync with the midi clock coming from LPX. Requires commercial 3rd party product, PlogueBidule. Note that Midi clock sync is not as tight or accurate as something like rewire, so results may vary depending on what you're doing, but here's how I did it. Thank you! This worked perfectly! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.