Digitech JamSync - How does it work?

All about modern commercial stompbox circuits from Electro Harmonix over MXR, Boss and Ibanez into the nineties.
User avatar
Sega_SVN
Information
Posts: 13
Joined: 05 Oct 2011, 13:12
Location: Slovenia
Has thanked: 2 times

Post by Sega_SVN »

Hey, I need to synchronize my looper to perform a couple of our band's songs live but all production solutions are too exprensive and give me too many options I don't need (currently). We don't use computers or synths I only need to sync drummer's metronome and my looper. We tried with the drummer having me on headphones but my loops often don't have pronounced rhythm and I easily overwhelm them (and I could get very noisy :lol: ).

First idea is to send click from looper's rhythm machine to the drummer. Problem is - when looper's off there no metronome (I assume). And that could be a problem for one song where we need constant metronome to control one pedal. Plus I don't what to be the 'rhythm-god'. That's drummer's job. :mrgreen: The best pedal for this situation looks to be JamMan Solo XT because it has bpm display, 'click' rhythm and time signatures (one song is in 6/4). It's also useful if I use looper in jams. But it's big (bigger then express :block: ) and I would need to moddify the pedal.

Second idea is other way around - metronome controling the looper. First solution was to use metronome as a tap tempo, but it drags after couple of minutes - not useful (midi generator/metronom with midi out/rhytm machine. But it's cheaper to buy an extra Solo XT than all this. :roll:

So here is my theory and my hummle request: XT's accept some kind of 'mysterious' signal that internet doesn't know about. Does anyone here possess Digitech's XT looper and osciloscop and would be that gentle to connect looper's sync out to an osciloscop and enlighten us (at least me :hug: ) with the results? So I could try to find the way to transform metronome's beat into JamSync's signal.

User avatar
soulsonic
Old Solderhand
Information
Posts: 3880
Joined: 27 Jun 2007, 03:38
my favorite amplifier: Traynor YVM-1
Completed builds: too many!
Location: Morgantown, WV
Has thanked: 183 times
Been thanked: 468 times
Contact:

Post by soulsonic »

You could get an old Alesis SR-16 drum machine for very cheap and use it for the metronome and you will then have midi out.
"Analog electronics in music is dead. Analog effects pedal design is a dead art." - Fran

User avatar
pz
Solder Soldier
Information
Posts: 217
Joined: 17 Aug 2007, 16:55
Location: Germany/Poland
Has thanked: 2 times
Been thanked: 50 times

Post by pz »

I have done that, but only briefly, didn't have enough time to analyze the data.
The sync signal on the Jamman Xt, which i got is actually a midi type signal (UART, opto isolated current loop, 31250 baud). If it's a normal midi protocol or a some kind of proprietary one, i don't know (yet!). However, knowing that it is a classic serial/midi type comm interface and it's baud rate, what you could do is to build a midi front end, run the output signal into an UART-USB bridge (or directly if your machine still has a serial port available) and analyze the data on your PC.
Attachments
sync.GIF

User avatar
Sega_SVN
Information
Posts: 13
Joined: 05 Oct 2011, 13:12
Location: Slovenia
Has thanked: 2 times

Post by Sega_SVN »

Thanks for fast reply!

@soulsonic: I'll look for some cheap drum machines, thanks for advice! I only need to find out that it would work with JamSync.

@pz: Thanks for some new information. Problem is I don't have JamMan yet. I'm deciding between Solo and Express. Solo would fit for first purpose (looper with click out for drummer) and Express for the second (looper as a slave). That's why I'm asking for help in first place.
How you than analyse those informations from the converter? What program would I need?

User avatar
pz
Solder Soldier
Information
Posts: 217
Joined: 17 Aug 2007, 16:55
Location: Germany/Poland
Has thanked: 2 times
Been thanked: 50 times

Post by pz »

I have just built that circuit to check the output with a logic analyzer. It turns out it's even simpler. Jamman Express XT sends plain MIDI sysex messages to control the slave device. All you need to do to see the data is to make an adapter cable:
Minijack TIP -> DIN5 (4)
Minijack RING -> DIN5 (5)
Minijack GND_ leave not connected
use some kind of cheap usb-midi card if your sound card doesn't have a MIDI ports to feed the data into the PC. From there you can use ie. MIDI-Ox to see what happens when you use the functions on the pedal.
From what i gathered, it sends packets of 11 bytes in idle mode and a packet of 24 bytes is something happens (start/stop/overdub etc).
Another difference between the Express and Solo is the latter uses flash memory, whereas the Express is a DDR2 based looper. You'll loose the recorded loops after powering off the pedal.
Sysex "idle" packet sent every 500ms
Sysex "idle" packet sent every 500ms
MidiOx_output.png
jmxt_top_side.jpg

User avatar
Sega_SVN
Information
Posts: 13
Joined: 05 Oct 2011, 13:12
Location: Slovenia
Has thanked: 2 times

Post by Sega_SVN »

So ... That means I could simply buy cheap drum machine with midi output and connect it to pedal and would work? Or not?
I'm not very good with digital electronics.

User avatar
pz
Solder Soldier
Information
Posts: 217
Joined: 17 Aug 2007, 16:55
Location: Germany/Poland
Has thanked: 2 times
Been thanked: 50 times

Post by pz »

Not really. I guess this is not a simple task if you are not into digital stuff, programming, etc.
Pedals are using custom midi messages, specific only to their type, one Jamman looper is sending out commands that only the same or similar type of device can receive and decode. As far i can see there is no midi clock signal there, which is a standard way of syncing two devices via midi. The small Express looper doesn't have any tempo/quantization feature, it looks like it's signalling the events (now play, now stop etc...) on the sync bus. The Solo one has a tap tempo & sync functions, there might be more data exchanged between the devices. I don't have one, can't see if that's true.
Unless there exist some kind of Sync/midi protocol implementation document available, the only way to reverse engineer it is to take the pedal, record the midi stream while using it and try to figure out the meaning of the numbers.
When you have that done, you can design a custom device that will translate a standard midi clock into whatever is used to sync the Jamman loopers.

User avatar
Sega_SVN
Information
Posts: 13
Joined: 05 Oct 2011, 13:12
Location: Slovenia
Has thanked: 2 times

Post by Sega_SVN »

So to function I would need to program digital converter that will translate standard midi clock/start/stop to jamman's? Sounds hard. :?

User avatar
smithoid
Information
Posts: 6
Joined: 04 Oct 2013, 22:17
Been thanked: 1 time

Post by smithoid »

Hi Pz
I have a Jamman Solo XT and also just tried the experiment.... without your success. I have a Roland Duo-Capture Ex USB interface that has midi and made a cable as per your description. Then monitored sync-out with Midi-ox but got nothing (I checked sysex was being reported from another midi device so I know the interface is working). Any thoughts? If there is no apparent clock signal then presumably it is a similar idea to the Korg WIST that is implemented on the ipad synths i.e. an assumption that the clock is so accurate on both devices that they will stay together as long as they are started together. So maybe the idle sysex sends tempo and the 24 byte message is "go!"? And presumably tap tempo is disabled? Be interesting to see if master tap tempo has any effect when running... I only have the one pedal so can't check
Cheers
Paul

User avatar
pz
Solder Soldier
Information
Posts: 217
Joined: 17 Aug 2007, 16:55
Location: Germany/Poland
Has thanked: 2 times
Been thanked: 50 times

Post by pz »

Try swapping the DIN 4-5 wires and see what happens.
The best way would be to scope the signal, you can also try a simple midi led tested to see if there is any transmission:
http://www.epanorama.net/circuits/miditest.html

User avatar
Sega_SVN
Information
Posts: 13
Joined: 05 Oct 2011, 13:12
Location: Slovenia
Has thanked: 2 times

Post by Sega_SVN »

Anything new? Smithoid, did you make it work? I've bought Express recently. Will try it myself when I get a midi-to-usb converter.

User avatar
smithoid
Information
Posts: 6
Joined: 04 Oct 2013, 22:17
Been thanked: 1 time

Post by smithoid »

Hi... sorry for many months of delay!
Yes tried swapping pins 4 and 5 but no luck. I don't have a scope here so was unable to analyse. Any progress at your end?
Cheers
Paul

User avatar
Sega_SVN
Information
Posts: 13
Joined: 05 Oct 2011, 13:12
Location: Slovenia
Has thanked: 2 times

Post by Sega_SVN »

Nothing new from my side. I'm giving up and thinking about buying SyncMan + cheap rhythm machine. Getting the second one is quite a problem. :roll:

User avatar
dislo
Information
Posts: 1
Joined: 29 Aug 2015, 17:43
Been thanked: 2 times

Post by dislo »

hey, im so happy to found a thread about this topic.

i was hoping the sync signal is something analog, but it seems to be not.
but i still dont think it works with kind of midi-clock.
i think the master just a beat-signal at the start of the loop.
when you hit rec-start on the slave, the slave waits until the next beat-signal comes in. then it starts recording.
when you hit rec-stop on the slave it again will wait for the next beat-signal to stop.
so you get a relative loop to the master loop.

is this custom midi-signal recordable? patch the trs to a midi-cable -> midi-in DAW.
if so, i would record the beat-signal into my DAW, and would play it every bar with midi-out to the jam man.

why they have done it proprietery? they could have rocked it!

User avatar
mfbi
Information
Posts: 2
Joined: 14 Oct 2015, 09:16
Been thanked: 3 times

Post by mfbi »

Hello everybody,

I find the topic about the JamSync signal very interesting.

I have two Jamman solo XT pedals and a Zoom G1on. Sometimes I'm using the G1on drumbeats for playing and I would like to synchronise the Zoom and the Jamman solo XT.
Generally I think it's a nice project, and maybe it would also be possible to add a sync out to the old Jamman Stereo, which does not have the sync feature. I have to admit I don't know so much about midi signals and so far only measured the time signals of the sync out in case of one single JamMan and in case of two syncronised Jamman. The result of the measurement can be seen here:
JamSync time signal
JamSync time signal
When one Jamman is running for its own only the red signal would be visible on one of the wires of the Jamsync cables. When the second Jamman is synchronised as slave device the white signal can be seen on the second jamsync wire, and obviously the slave Jamman is then locked to the Jamsync out signal. I have the impression there is one regular signal with a period of slightly more than 0.4 seconds and a second with a period of about 2.5 seconds.
When I remember correctly, the the speed of the sequence was set to 100 bpm.

I also see an internal structure of the signals, which can be seen here:
Internal structure of the jamsync pulses
Internal structure of the jamsync pulses
Does anybody understand this better than me and can help me to understand what kind of signal is needed for a proper Jamsync out signal?

User avatar
mfbi
Information
Posts: 2
Joined: 14 Oct 2015, 09:16
Been thanked: 3 times

Post by mfbi »

Hi,

I made some progress with measuring the jam sync signals.

In the last post I showed in the measurement that the syncronised slave Jamman solo XT is picking up the same signal as the Jamman master.
Therefore I measured this time only the jam sync out signal of one Jamman and also measured the signal at the output where I used the metronome signals to get the timing between the jam sync and the recorded sequences.

In the first measurement I set the speed to 60 bpm and recorded a 4/4 time silent (the metronome beat only) loop of 4 beats.
The result looks like this:
Jamsync_60bpm_4 beats.jpg
Jamsync_60bpm_4 beats.jpg (48.58 KiB) Viewed 16044 times
The one of every four metronome beats is a different cymbal sound with smaller amplitude and longer decay time. The time for every beat is 1 sec for each beat as expected. We can see the additional signal is directly syncronised with every one in the beat.

In the second measurement I increased the speed to 120 bpm again for a loop of 4 beats.
Jamsync_120bpm_4 beats.jpg
Jamsync_120bpm_4 beats.jpg (58.88 KiB) Viewed 16044 times
In the third measurement the speed is kept at 120 bpm, but the loop length is increased to 8 beats, which looks like that:
Jamsync_120bpm_8 beats.jpg
As we can see the additional peak signal appears only at the beginning of each loop, and therefore the slave Jamman looper knows when to stard the recording.

I hope this helps in understanding the jam sync signal. What needs to be understood is how the bpm information is coded in the jam sync signal.

Cheers

User avatar
smithoid
Information
Posts: 6
Joined: 04 Oct 2013, 22:17
Been thanked: 1 time

Post by smithoid »

Hi
After many months I suddenly got the enthusiasm for this again. This time I successfully managed to read the sync code from the master-out socket via a midi interface and Midi-Ox... don't know what went wrong last time. So this what I have so far:

The 11 byte message (hex) is: F0 00 00 10 7F 62 01 00 01 01 F7

The F0/F7 container defines this as a system exclusive message as previously stated. This message is sent on the beat. Since midi clock is 24 ticks per beat there needs to be some division if we want midi sync.

The control messages are 24 bytes long.
The first part is always the same (as per midi spec). I'm writing this data in decimal as I have been looking for relationships in the numbers...can't think in hex! The byte 240 opens the sysex message:

240 0 0 16 127 98 1

The next appears to be randomly generated (possibly derived from a master clock?), but I'm not sure about that. Here is an example:

106 1 93 85 58 66 2 4 96 3 56 75 119 65 XXX YYY 247

Now the XXX definitely has a meaning. It is 7 when the loop number is changed, 2 when the loop is started, 5 when the loop reaches it end and goes back to the beginning and 4 when the loop is stopped all together. YYY appears to be random when loop is changed but then the number seems to have some relationship to XXX for the same loop. Could be wrong on that. 247 terminates the sysex message.

So next up is to write an Arduino sketch and see if I can control my Jamman. Will soon find out if all those bytes really are random!

Hope this is of interest to you all
Cheers
Paul

User avatar
smithoid
Information
Posts: 6
Joined: 04 Oct 2013, 22:17
Been thanked: 1 time

Post by smithoid »

OK...some progress. I wrote Arduino code to send the 11 byte "clock" message. The Jamman (now in slave mode) responds with a "SYN" message and the Jamsync "dot" comes on in the display. So far so good. Pressing the pedal in an empty loop puts the Jamman in "wait to record" mode flashing red. If the location already contains a loop then there is green flashing while the loop waits for a start command. However so far I have been unable to get a 24 byte command sequence to do anything. Not random numbers I am thinking. The numbers do seem to stay the same (except for XXX and YYY) whilst the master is on the same loop. Change memory location and a fresh set are generated. I will now study the numbers looking for any "check" bytes. It's quite hard analysing a group of 24 digits...which is probably why Digitech have done this to stop reverse engineering. Still the Syncman people have managed to make sense of it so I will too eventually!!!!
Cheers
Paul

User avatar
smithoid
Information
Posts: 6
Joined: 04 Oct 2013, 22:17
Been thanked: 1 time

Post by smithoid »

Just found this link:

http://fuzzysynth.blogspot.co.uk/2015/0 ... m-man.html

This guy has done loads of work on the protocol.

User avatar
smithoid
Information
Posts: 6
Joined: 04 Oct 2013, 22:17
Been thanked: 1 time

Post by smithoid »

Hmm. Seems I was wrong about the 11 byte message being on the beat. Looking at Midi-ox output today it seems to stay constant at whatever tempo I set. Strange thing is I swear I saw it changing yesterday...

Post Reply