Roland SP-404 Mk2 (Part 1)

I’ll assume your measurement is correct. I haven’t tested it myself yet, but have gotten some people (possibly you as well) asking on my YouTube channel and a few other places to check out the cue latency.

Just to do some math… because why not…

120bpm works out to one beat every 0.5 seconds

With a 22ms delay/latency the signal (0.022 / 0.5) is off by roughly 4.4% every beat.

At 120bpm a quarter note is every 0.125 seconds, a sixteenth note is every 0.03125 seconds, and a thirty second note is every 0.015625 seconds.

So while by itself a 22ms delay is insignificant, the effect is that the note is somewhere between a sixteenth note and a thirty second note delay.

To figure out how many 1/??? notes we are off by (0.5/0.022) gives us 22.727272… Meaning that at 120bpm the note is roughly 1/22, or rounded up 1/23 of a beat off.

I have a few thoughts here. Both opinions, so take it with a grain of salt…

First… this is absolutely the type of difference you’d expect in phasing effects, and for sure, if you are playing the same sound out of both line and cue and mixing them together, it’s going to sound pretty noticeably terrible, unless this is what you want as an effect. Worse, since on the mk2 it will always play what is going to the main outs to the cue, and the cue will pick up any additional content this can certainly be annoying depending on how you have things setup.

Second… I’m not totally sure how you’re actually using the Main outs vs the Cue… but I would think that since everything goes out to the cue in addition to the main outputs, that you’d want to mix/beat match only in the cue outs and ignore the main outs, since everything will be delayed by the 22ms, you should be able to hear the difference in timing and get beat matching to work. I might be missing a specific point, but this seems like a logical consequence if there is a delay between main and cue output.

I feel like I’m missing a main component of your workflow though, as I would assume (perhaps incorrectly) that if you are playing loop A to main outs, and bringing loop B to cue… that you’d be checking the sound of loop A and loop B over the cue output… matching there… once you’re happy with it… you’d fade in loop B to play alongside loop A… which should look something like

  1. loop A going to main outs - assume 0ms latency/delay
  2. loop A going to cue outs - assume 22ms latency/delay
  3. bring loop B going to cue outs - assume 22ms latency/delay matching loop A cue outs
  4. adjust loop A/loop B going to cue outs - both have 22ms latency/delay and should “sync”
  5. send loop B going to main outs - assuming 0ms latency/delay
  6. loop A/B in main outs should be in sync at 0ms the same way loop A/B in cue outs should be in sync at 22ms

I know… probably over analyzing this… but let me know if I’m missing an important piece here.

EDIT: A slight nit pick @waftlord… you’re lining up on the start of the transient to measure the 0.022 ms difference in your picture, but clearly the transient for top and bottom starts at 0.01ms… so the numbers are a bit off from my calculations… and it’s better to measure consistently… I’d say 0.021 looks visually to be the difference to me now that I took a look again.

4 Likes

not when beat matching.

Roland are trying to emulate mixing records.
If a DJs headphone CUE out had a 22ms delay they couldn’t accurately tempo reference the track against the one playing out.

this situation is conflated to describe with the 404, as you can hear both main and cue in the headphones and will sync up as you’ll compensate for the latency.
but when the channel is introduced in the main mix it is off by 20(ish)ms.

whilst i (requested) and appreciate your thinking here, this is not how it should work.
and i don’t think it should be written off as another mk2 idiosyncrasy (no pun intended).
wasn’t me on YT, but i’ve jumped on the discord. but it’s reassuring to hear some other people have noticed.

yeah, since posting i noticed this and agree, 20/21ms… still 20ms too many…

2 Likes

Well the best I can say without running my own tests is that your picture makes no sense to me.

Why do the Top (main outs) and Bottom (cue outs) line up perfectly, but the middle (main and cue mixed) not overlap. I’d expect you to get doubling of volume, not this 22ms delay.

Instead of doing back of the napkin math I’ll see when I can find some time to investigate this myself.

No matter what, I expect there to be some latency… the computer has buffers to manage, and I suspect it is the computer buffer that is the issue here, not the mk2. This is my guess though as you haven’t really described your setup or how you recorded. If you can provide more details on how you record all of this it’d be a big help!

3 Likes

That’s a helpful idea, thanks, I hadn’t thought of that. Unless I’m mistaken though, it looks like I’ll have to buy a windows license to install/run it: I’d rather do without the extra expense.

1 Like

yeah let me explain, i included the cue out and main out to show the waveform as it is sent. the fact things line up is neither here or there, more for visual reference.

the middle audio is the main point of reference.
it is the main and cue outs together from the same track on separate channels.
you’d expect them align and double up in volume/phase as you describe.
instead this demonstrates the latency between main and cue : 21ms.
just analog desk, so no computer involved at that point except to record output into daw.

and in terms of djing that’s not acceptable to me.
i think the devs may have forgotten to compensate for the FX pathway (all fx off in this test) the main outs go through vs the CUE. just a guess.

Are you monitoring through the daw? I am about to buy one.
:slight_smile:

no, i only got a computer involved to evidence the latency.
the test is simple and i’d really appreciate if someone can check their end.
i’d be happy to be shamed and come across a fool if it means a solution.

take the main outs and cue out into two separate channels.
record a track being played in dj mode with cue active.

1 Like

I’m a bit lost

So when you monitor both tracks mixing in the cue they align but when the same mix plays through the master they don’t?

So the mix in the headphones is tight but the master recording has phase?

That’s weird

1 Like

it means accurate (tight) beat matching via cue isn’t currently possible imo.

Yeah, as I said… I’m confused now. It’s a simple enough test in my mind, and I’ll find some time to do it. From my personal experience when you start digging in deep enough, all of this stuff is a mess and you need to understand exactly what/where things are going wrong along the entire way.

I get the delay I am seeing in the middle track, but the main/cue tracks are apparently misleading. Anyways, just different opinions on how to visualize something… and it made me think something different.

Yeah, signal latency is a pain… and also why plugin delay compensation in Ableton Live was such a big deal.

I’d venture to guess that the CUE has an added signal path if it is delayed from main out. More math (48000 * 0.021) gets us 1008, which is pretty close to 1024, which may be the mixer buffer size in number of samples. Clearly the CUE needs to go through an additional mixer stage since it includes the MAIN outs and then gets mixed again. Different software implements this differently… but Roland may have wanted to focus on MAIN being as low latency as possible and was okay with the next mixer stage for CUE being a bit behind. I have no idea how they implemented it though and can only second guess what’s going on.

Hey nothing to be shamed or not shamed about. Honestly, my gut tells me that you’re probably right, but focussing on the wrong thing to solve the problem. At the end of the day, your audio setup is only as strong as the weakest link/longest buffer depth… The SP404 mk2 is a digital solution, so you’re always going to have delay at different stages of the signal chain, and I suspect the difference between MAIN OUT and CUE OUT is logical, even if it is annoying.

3 Likes

I am about to buy an sp404mkii in the next 2 days, I seen a thing on YouTube there said latency fix, not sure what latency it fixes though maybe worth a try if you haven’t already. Hold down value knob and hit the sub button.

So even though it’s all quantised it’s still not perfectly beat matched in the master but it is when monitoring in the cue?

Or do you mean there is a slight delay with what you hear in the cue and what you hear in the master? If it is that can’t you just check both tracks mixing in the cue to check for phase?

I think I’m more lost because I don’t have one to experience this, I am considering grabbing one though as I had one when it came out and sold it but updates since then have peaked my interest again.

And apologies as I’m just confused at how and why that would happen

looking forward to your analysis video :slight_smile:

for Roland to include a DJ mode and not factor in real time monitoring of the CUE channel is a big oversight, and i hope will be tightened up in future updates.
Unless it’s something up my end, which I’m fully prepared for it to be….

1 Like

There is a MIDI delay option to help sync midi on the mk2 to external gear.

Any digital device you buy is going to have delay of some amount, and personally, until you start getting into the minutia and minute details, the SP404 mk2 works great. It’s when you start pairing it with other devices that you need to really understand exactly what it’s doing and how other devices work that turn all of this gear from straight forward devices, to puzzles :smiley:

So from my perspective, there’s nothing wrong with the mk2, if it’s your first device, or primary device, it’ll be awesome for you. It can function as a nice little Swiss army knife style device to do a lot of things as well, and can be a nice center of a small setup or work as an off board fx processing unit in a larger setup.

1 Like

yeah there’s been too many posts about this.
in short you’re got it correct from my perspective.
you can still beat match reliably in real time on the main outs, but it means the dj set is more “warts and all” than “tight and neat”.

1 Like

The quantization doesn’t technically have anything to do with this. It’s more in how the audio subsystems are likely implemented in software and how pads trigger. Quantization may account for other types of issues, but it’s not likely a part of this particular problem.

A better way to think about this would be…

How long does the audio take from Press Pad -> Play Sample -> Main Outs

vs

How long does the audio take from Press Pad -> Play Sample -> Cue Outs

My suspicion is that mechanically:
(PPM) Press Pad -> Play Sample -> Main Out

also goes

(PPMC) Press Pad -> Play Sample -> Main Outs -> Cue Outs

but some samples may likely also go

(PPC) Press Pad -> Play Sample -> Cue Outs (because it is not going to main outs)

Which would leave us with some possibly strange math… that I think with the right tests would be able to suss out. I’ll have to think about it.

Problem 1) Are PPM and PPC equivalent?

  • If you send a sample only to PPM or only to PPC… effectively are the buffers the same size

Problem 2) Can we derive PPC from PPMC - PPM?

  • This might be able to show us how big the buffer for PPC is

If true, then there would be some difference as Cue Outs happens after Main Outs, and worse, which may be the problem @waftlord is experiencing… if some content goes straight to Cue Outs and skips Main Outs, then there would be an offset between the two.

It seems like for the specific use case @waftlord is experiencing that there is a difference, and it’s a bit tricky to nail down exactly what is going on. I’ll probably go back to the manual and check out the system diagrams to see if there’s something obvious to show here.

It’s all implementation details. :smiley:

EDIT: The 3.0 mk2 manual on p. 147 shows the diagram, but I’ll be honest, I don’t believe it. Or at least, they’ve ignored putting in and showing how content that is sent to CUE gets mixed with the content from the Mixer.

3 Likes

man i wish i could help test this but i absolutely can not wrap my head around any of the routing explained here, also unfamiliar with DJ mode which doesnt help but damn this kinda thing is the hardest part of audio stuff for me

2 Likes

I doubt it’s a DJ mode problem in particular, though it is possible. I suspect there may be an oddity with how MAIN/CUE outputs are designed. A 0.021ms difference would also be super easy to miss (or not notice) for plenty of types of music production, but when working on content where you start getting weird flanging or phasing issues while trying to mix tracks it all of a sudden stands out.

I’ve used DJ mode on the SP404 mk2, and wasn’t super happy with the experience compared to traditional DJ’ing so moved on, but can totally understand why @waftlord is hitting this and being unhappy with how it works.

Basically it’ll require recording various combinations of samples to Main Outs, Cue Outs, and Main/Cue Outs, and doing the math to black box style figure out what the heck the SP404 mk2 is doing.

1 Like

Not ready to do a video yet, but…
TLDR; I’m seeing probably less than a 1ms difference in latency/delay between MAIN and CUE out.

So here’s my setup, so we can compare apples to apples as best as possible:

  • Mac M2 running Ableton Live
  • USB-C connection from Mac M2 to the Teenage Engineering TX-6
  • SP404 mk2 Line Out (MAIN) to Teenage Engineering TX-6 input 1
  • SP404 mk2 Headphone Out (CUE) to Teenage Engineering TX-6 input 2

I have setup Ableton Live so that I can arm and record multiple tracks at once, with a 512 byte buffer (not that the buffer should matter with all things being equal). This allows me to inspect both the input 1 and input 2 on the TX-6 together at the same time.

I have setup the TX-6 so that as a 12 input (6 stereo pairs) and 2 output (1 stereo pair) device.

SP404 mk2 Setup 1:

  • I have a kick on Pad 13
  • I have a snare on Pad 14

SP404 mk2 Test 1:

  • I armed two tracks to record input 1 and input 2 through the TX-6 separately in Ableton
  • I started simultaneous recording for both tracks
  • I played a kick and then a snare
  • I stopped recording

SP404 mk2 Expectation 1:

  • I expect to see a visible (22ms) difference between the MAIN and CUE tracks.

SP404 mk2 Result 1:

  • The two waveforms look nearly identical down to the Sample and velocity level to me

SP404 mk2 Setup 2:

  • I have a kick on Pad 13 and copied the exact same kick to Pad 9
  • I have a snare on Pad 14 and copied the exact same snare to Pad 10
  • I have set Pad Link A to Pad 13/9 and Pad Link B to Pad 14/10
  • I have Pad Muted Pads 9 and 10
  • I have set System -> General -> Pad MUTE to Master (so that Pads 9/10 play only on CUE)

SP404 mk2 Test 2:

  • I armed two tracks to record input 1 and input 2 through the TX-6 separately in Ableton
  • I started simultaneous recording for both tracks
  • I played a kick and then a snare
  • I stopped recording

SP404 mk2 Expectation 2:

  • I expect to see a visible (22ms) difference on the CUE track for both the Sample and the copy of the Pad Muted Sample playing.

SP404 mk2 Result 2:

  • The two waveforms look nearly identical timing wise, but the CUE track is effectively doubled in volume due to playing the sample to both MAIN and a second sample to CUE.
  • I can hear some slight phasing/distortion, so clearly going to both MAIN and CUE like this isn’t exactly sample accurate, but it is pretty darn close.

SP404 mk2 Setup 3:

  • I have a kick on Pad 13 and copied the exact same kick to Pad 9
  • I have a snare on Pad 14 and copied the exact same snare to Pad 10
  • I have set Pad Link A to Pad 13/9 and Pad Link B to Pad 14/10
  • I have Pad Muted Pads 9 and 10
  • I have set System -> General -> Pad MUTE to Master (so that Pads 9/10 play only on CUE)
  • I have switched to DJ mode and the pressed HOLD to go to Pad Performance

SP404 mk2 Test 3:

  • I armed two tracks to record input 1 and input 2 through the TX-6 separately in Ableton
  • I started simultaneous recording for both tracks
  • I played a kick and then a snare
  • I stopped recording

SP404 mk2 Expectation 3:

  • I expect to see a visible (22ms) difference on the CUE track for both the Sample and the copy of the Pad Muted Sample playing.

SP404 mk2 Result 3:

  • The two waveforms look nearly identical timing wise, but the CUE track is effectively doubled in volume due to playing the sample to both MAIN and a second sample to CUE.
  • I can hear some slight phasing/distortion, so clearly going to both MAIN and CUE like this isn’t exactly sample accurate, but it is pretty darn close.

I have run out of time for the moment, but the only other major test I can think of is to load up tracks into DJ Mode and try playing them in Track A vs Track B. Theoretically if there’s an issue it should show itself doing some of these similar tests.

EDIT: Documenting this as thoroughly as possible, because there may be steps I am or am not doing that may change the parameters. It’s also possible that I am missing something that may account for the difference… such as delay compensation.

EDIT 2: Changed up the System -> MIDI -> SYNC Delay setting from 0ms to 20ms… no difference :confused:

Stay tuned!

7 Likes

Great testing as usual but Yeah this is DJ mode related.

Good to hear pad/pattern mode main/cue routing is bang on.

I think with dj mode specifically it’s how the cue mix is handled.

But I’m excited to hear results of your test into the TX6.
An important point is to be sure to set the cue mix x fader to far left: C so both inputs are separate with no additional bleed.