midi sync to external sequencer [fixed for 2.2]

15 posts / 0 new
Last post
lct
lct's picture
Joined: February 13, 2011

My attempts to midi sync audiomulch to an external sequencer have always resulted in crazy jitter. I've attempted using different hardware sequencers, different midi interfaces, and different audio interfaces all of which seem to result in the same midi sync jitter. Has anyone seen this before or have any ideas as to what may be the root cause?

Thanks

Ross B.
Ross B.'s picture
Joined: April 11, 2009

Hi

Are you on PC or Mac?

Are you trying to send sync to the sequencer or receive sync from it?

lct
lct's picture
Joined: February 13, 2011

Thanks Ross,
its a PC and I'm trying to have audiomulch receive sync from an external sequencer.

lct
lct's picture
Joined: February 13, 2011

Sorry I forgot to include the OS: Windows XP Pro Version 2002 SP3

Ross B.
Ross B.'s picture
Joined: April 11, 2009

Sorry about the delay in replying to this...

MIDI sync is dependent on both getting good timing info from the MIDI interface, and getting good timing info from your soundcard so that the MIDI timing can be synced with the audio timing. Of course it's also dependent on getting good timing from your external sequencer, but let's assume that's fine.

Your first port of call I think is to try different audio driver settings (in Settings > Audio General). Try Windows Multimedia, DirectSound and ASIO. If you have an external and internal audio interface try both. This should at least get you started in working out the source of the issue.

Another thing to try is network sync between two copies of AudioMulch on the same machine. Use the loopback ip address of 127.0.0.1 to address the current machine. If this is unstable too then it's almost certainly something to do with the soundcard settings you're using (which could even be a subtle bug, not sure).

Timing on Windows is not an easy thing to get right and it's a while since I've reviewed AM's sync code for a few years. When I developed the MIDI sync code I was mainly using RME PCI audio hardware, which has good timing stability. If you let me know how you go trying different driver settings I can look into it again and see if any improvements can be made.

Dinkelberg
Dinkelberg's picture
Joined: June 23, 2009

I to have always had a problem with syncing AudioMulch to an external master unit. The BPM drifts up an down in tiny increments (i.e. "123.126258364" etc). I have tried using both an Elektron Monomachine and an MPC 1000 as tempo masters; same problem every time. It's been kind of frustrating since nobody seemed to be complaining about it but me. I will definitely try the tips from Ross, but it still seems to me that MIDI sync could use a rework.

Ross B.
Ross B.'s picture
Joined: April 11, 2009

> the BPM drifts up an down in tiny increments

This is noise in the timing pulses (due to network jitter, computer scheduling jitter etc). It is filtered to be so small as to not matter to keeping things in sync, but the noise is still there.

If you could hear the effect of this then it is a problem, but you shouldn't be able to. The clock recovery technique is quite solid under normal conditions unless there is something wrong with your network or you're using WiFi (which I don't recommend).

I could limit display to only the first few decimal places and add hysteresis so that the display doesn't jump around. If you think this makes a difference to the experience of the program I could do that. But the micro-fluctuations would still be there.

P.S. I just posted more network sync instructions here: http://www.audiomulch.com/content/network-sync

Dinkelberg
Dinkelberg's picture
Joined: June 23, 2009

Thanks for the response, Ross. I guess I'm ok then. I suspect people expect the BPM of AudioMulch to be nominally the same as the master unit, but I could be wrong. Also, it seems to affect the sound of LoopPlayer. I am syncing via MIDI, not network.

Ross B.
Ross B.'s picture
Joined: April 11, 2009

If it is affecting the sound of the LoopPlayer then there is indeed a problem.

Can you let me know what drivers and soundcard you are using please?

> I guess I'm ok then. I suspect people expect the BPM
> of AudioMulch to be nominally the same as the master unit

I'm not sure I understand. Can you clarify what you mean by that? To me, the BPM is "nominally the same"

Dinkelberg
Dinkelberg's picture
Joined: June 23, 2009

Ross,

sorry it took me so long to reply. Yes, MIDI sync is causing audible pitch variations with LoopPlayers. I guess it's only to be expected when the tempo drifts up and down with as much variation (at the most) as 0.3 BPM in each direction (ie a master tempo of 117.0 will result in chased tempi from 116.7 - 117.3). I am currently using a Tascam US-122 soundcard ASIO w/ latest drivers. Mulch is synced via a MOTU FastLane USB MIDI interface (latest drivers) from a MPC 1000.

What I mean is that when my MPC shows ie. "104.0" BPM, I expect AudioMulch to show the same. Instead it drifts frantically up and down with three decimals.

Here is a recording of a file in LoopPlayer, with and without MIDI-sync: http://www.box.net/shared/it8v4qi66ev0ryfqngei

Dinkelberg
Dinkelberg's picture
Joined: June 23, 2009

The inability of AudioMulch-BPM to lock to external sync is also causing problems with delay effects. Could you please advice, mr. Bencina? The thread seems to digress somewhat, but I hope you're still following it.

Thanks,
Jon.

Ross B.
Ross B.'s picture
Joined: April 11, 2009

Hello Jon
I now have a US122 and a Roland R70 drum machine here. I can confirm that I'm seeing the same behaviour. In fact the tempo is all over the shop -- much worse than you report.

I will run some more tests this week and get back with some more concrete information .

Dinkelberg
Dinkelberg's picture
Joined: June 23, 2009

I am pleased to hear that you are looking into it! I no longer use the US122, but have used AudioMulch with three different sound cards the last months, and my experience is that MIDI-chase was a problem with all of them, which gets worse with increased latency/less cpu. I look forward to hearing your conclusion.

Ross B.
Ross B.'s picture
Joined: April 11, 2009

Hi Jon

I discovered that the problem here was with timing issues using ASIO4ALL. When I use the US122 I get sync behaviour much like you reported (+/-0.3bpm). This is within what I consider to be acceptable bounds. I will investigate whether it can be damped further, however note that there is a trade-off between being responsive to tempo changes and stability. AudioMulch is definitely tuned to the latter.

Although the +/-0.3 bpm deviation is not particularly abnormal, the warbling in the file you posted is. A deviation of 0.3bpm at 100 bpm is equivalent to a pitch deviation of less than 1.5Hz of a 440Hz tone. This is close to the just-noticable-difference perceptual threshold. I don't think that this tempo variation alone can account for the radical warbling in the audio sample you posted. Can you please email me the soundfile you are using for the loop and a minimal .amh file that has the warbling behaviour? I would like to test it here. I suspect that the fix for this issue may be in the LoopPlayer rather than in the MIDI sync.

That said, I don't generally recommend syncing loop-player loops with stretch selected to a MIDI clock. MIDI clock isn't really accurate enough to recover a stable sample playback timebase -- although you may find that it is "good enough" once I've resolved the apparent LoopPlayer issue.

Thanks

Ross B.
Ross B.'s picture
Joined: April 11, 2009

There has been a significant overhaul to the MIDI sync implementation for AudioMulch 2.2. Anyone interested in helping to test it is welcome to get in touch and I"ll send you an alpha version to test. Just email me at rossb@audiomulch.com Thanks!