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
jacobroufa
Information
Posts: 4
Joined: 28 Dec 2018, 20:49
Has thanked: 1 time
Been thanked: 3 times

Post by jacobroufa »

So, with all of your help, I have successfully made a tap tempo pedal for my JamSync loopers!

I have posted a thread on the subreddit /r/LoopArtists:

Initial demo video:
Revision 1 video, displaying variable LED brightness:

I will get some code up on GitHub soon and share that with the community as well. I will need help with some sort of layout diagram as well, but will be happy to share components list and how I have it wired up.

Enjoy!

User avatar
jacobroufa
Information
Posts: 4
Joined: 28 Dec 2018, 20:49
Has thanked: 1 time
Been thanked: 3 times

Post by jacobroufa »

First commit to this project on GitHub... I'll have some more updates/activity on this soon.

On my TODO list:
- second LED to display active status, as well as blink separately for activate/deactivate and loop clear
- variable measure length

The former of these is straightforward. I will get to that pretty quickly. It'll be a pain in the butt with the current revision because once the hardware is installed adding another LED is kinda tricky, but the next box I build will be a bit smoother in that regard I think. I've learned a lot building this!

The second item though is a sticky wicket... So currently it's four beats per measure, statically. I could simplify things and just make one beat a "measure" and then any synced loop could be a multiple of that. The only reason I'm really hesitant to do that is when I am playing I feel like one measure would not be enough lead time if I want to queue up more than one looper, ya know? So that means variability.. From 1-99 could be accomplished with a two-digit display and a rotary encoder. Is that too much though? Also, not really foot-friendly. So, what about a 7 step potentiometer and have 2-8 beats per measure selectable? Also not foot friendly but maybe a bit more "normal" for like traditional pedal standards. The only other thing I can think of is a second foot button to cycle through different settings, and then another way to display that.

Does anyone have any input on that? I'm definitely curious to hear people's thoughts!

User avatar
jacobroufa
Information
Posts: 4
Joined: 28 Dec 2018, 20:49
Has thanked: 1 time
Been thanked: 3 times

Post by jacobroufa »

Sorry, forgot the link! :sheepish:

https://github.com/jacobroufa/tapsync

User avatar
macfilipe
Information
Posts: 7
Joined: 01 Jan 2018, 13:06
Has thanked: 6 times

Post by macfilipe »

jacobroufa wrote:First commit to this project on GitHub... I'll have some more updates/activity on this soon.

On my TODO list:
- second LED to display active status, as well as blink separately for activate/deactivate and loop clear
- variable measure length

The former of these is straightforward. I will get to that pretty quickly. It'll be a pain in the butt with the current revision because once the hardware is installed adding another LED is kinda tricky, but the next box I build will be a bit smoother in that regard I think. I've learned a lot building this!

The second item though is a sticky wicket... So currently it's four beats per measure, statically. I could simplify things and just make one beat a "measure" and then any synced loop could be a multiple of that. The only reason I'm really hesitant to do that is when I am playing I feel like one measure would not be enough lead time if I want to queue up more than one looper, ya know? So that means variability.. From 1-99 could be accomplished with a two-digit display and a rotary encoder. Is that too much though? Also, not really foot-friendly. So, what about a 7 step potentiometer and have 2-8 beats per measure selectable? Also not foot friendly but maybe a bit more "normal" for like traditional pedal standards. The only other thing I can think of is a second foot button to cycle through different settings, and then another way to display that.

Does anyone have any input on that? I'm definitely curious to hear people's thoughts!
Man, this is such a rabbit hole. My personal journey into this one started because I wanted to see if there was a simple option to start recording remotely, just like the FS3 does for stop & memory up / down. And all of a sudden I'm seeing people sync'ing these up with other MIDI devices and whatnot... :shock:

Anyhoo, as for your second question - if you really want everything to be foot friendly, I guess one way of going about it could be adding another 3 footswitches (one for up, one for down, one for parameter change) and the 2 digit screen. Parameter change switch could alternate between measures / beats (with either a couple of different colour LEDs or one multicolour LED to indicate which mode it's in), and the up / down switches would act as the encoder. Of course this would make for a mammoth box, but it's a solution :mrgreen:

User avatar
macfilipe
Information
Posts: 7
Joined: 01 Jan 2018, 13:06
Has thanked: 6 times

Post by macfilipe »

jacobroufa wrote:So, with all of your help, I have successfully made a tap tempo pedal for my JamSync loopers!

I have posted a thread on the subreddit /r/LoopArtists:

Initial demo video:
Revision 1 video, displaying variable LED brightness:

I will get some code up on GitHub soon and share that with the community as well. I will need help with some sort of layout diagram as well, but will be happy to share components list and how I have it wired up.

Enjoy!
Woop :o I followed your Arduino sketch, whipped out the old breadboards, and got mine to work too! :D Thank you for putting this sketch together, and thank you to all that came before you and made it possible.

I'll PM you in a bit with the schematic of how I ended up wiring mine up and maybe we can compare notes. :D

User avatar
macfilipe
Information
Posts: 7
Joined: 01 Jan 2018, 13:06
Has thanked: 6 times

Post by macfilipe »

macfilipe wrote:
Woop :o I followed your Arduino sketch, whipped out the old breadboards, and got mine to work too! :D Thank you for putting this sketch together, and thank you to all that came before you and made it possible.

I'll PM you in a bit with the schematic of how I ended up wiring mine up and maybe we can compare notes. :D
So here's a quick and dirty schematic to go with the code Jacob posted above:

Image

It's not a million miles off from his own, mostly differing in resistor values. I just picked what I thought made sense, but I'm entirely open to corrections / suggestions by anybody who knows what they're doing, i.e, not me :lol:

My TODO list now includes integrating MIDI clock into the code (should be easy, there's a few examples around), and finding out how to drive two ports in parallel with the same signal... any ideas if that's even possible? My goal is to get one port to sync the JamMan (as it is right now), and add another one to sync to a MIDI device. I'm guessing (willing to stand corrected, of course) that I can output the same signal for both, and they'll just ignore whatever doesn't apply to them - so right now I guess my main problem is going to be driving the two ports in parallel. I don't have a MIDI breakout board to test this, but I've added another TRS jack in parallel to this one and tried driving the simple LED tester that was posted earlier, but the moment I plugged the Solo XT in, the LED stopped blinking. Am I right to guess I'm asking for more current than the TX port is able to send?

Any input welcome, and thank you all for what you've done so far. :thumbsup

User avatar
jacobroufa
Information
Posts: 4
Joined: 28 Dec 2018, 20:49
Has thanked: 1 time
Been thanked: 3 times

Post by jacobroufa »

Here's a first crack at a Fritzing diagram for this project. I don't know if there's a better way to do this, so if anyone has input, I'm happy to hear it!
Image

I also posted a parts list on my GitHub project for anyone to take a look. I hope all this helps. :)

As for MIDI, I don't know that I'm personally going to go there, but there's been plenty of resource already in this thread to that effect! Another thing I would like to do though is add a CV output alongside the JamSync output, to control a delay pedal tap input with the same source. That would be nice.

User avatar
macfilipe
Information
Posts: 7
Joined: 01 Jan 2018, 13:06
Has thanked: 6 times

Post by macfilipe »

So I did a bit more research on the 220R resistors that protect the optocoupler, and the MIDI spec says that they're only valid for 5V MIDI, and are spec'd so that there's a 5 mA current going through the optocoupler. On 3.3V MIDI, the resistors on the output side should be 10R and 47R, as per:

Image

(found here: http://forum.arduino.cc/index.php?topic=566442.0.)

I'll update my schematic and repost later, and also see if I can created a buffered 5V out at the same time.

User avatar
joeSeggiola
Information
Posts: 3
Joined: 07 Jul 2018, 11:36
Has thanked: 3 times
Been thanked: 5 times

Post by joeSeggiola »

goyya76 wrote:maybe some of you can tell if sending a sync signal through jamsync can modify the tempo of a loop that has not been stored before? I would like to record a loop on the fly and use it later on in the song to solo onto it, but would also like to correct the timing if as a band we drift away a bit with the tempo...
Hi Francesco. As far as I know, JamMan does not time-stretch a loop in response of the incoming sync signal, neither when the loop is already saved. I'm saying that because if I try to change the tempo of the incoming sync signal while a loop is playing, the pedal just try to "re-align" the loop, anticipating or delaying the restart: I think it's an useful behaviour for very minor tempo drifts, which always occurs when playing different electronic instruments. Unfortunately I think the only possibility to have time-stretch is to act directly on the unit, and on saved loops.

User avatar
goyya76
Information
Posts: 2
Joined: 31 Oct 2018, 23:17

Post by goyya76 »

Thank you Joe - pity! Indeed I had a look at small solenoid as actuators for the tap button... (a bit overkill probably)
Anyway it'll be a long journey for me, my 2 yrs daughter requires all my spare time! Thanks again & ciao, Francesco

User avatar
coolbeans
Information
Posts: 5
Joined: 30 Mar 2019, 15:47
Has thanked: 2 times

Post by coolbeans »

Thank you all for your work on this project! I am trying my best to make this work but I still have a lot to learn about arduino.

setup:
ELEGOO UNO R3 Board ATmega328P ATMEGA16U2 with USB Cable(Arduino-Compatible) for UNO R3


MIDI Shield Musical Breakout Board Instrument Digital Interface Adapter Plate for Compatible Arduino Adapter Board Module


MIDI DIN 5 Pin Cable, Wpeng 5 Feet 5 Pin Din Male to 3.5mm TRS (1/8 Inch) Male Stereo Audio Adapter, Converter Cable for MIDI keyboard, Synthesizer, Organ, Electric Piano, Guitar,etc(3.5 M-DIN 5P M)


I've uploaded Calde's looperino sketch using Arduino IDE to my uno, exactly how it was on github

Do I need to edit the sketch for my specific midi sheild? I'm still researching and learning, any help is appreciated!

User avatar
coolbeans
Information
Posts: 5
Joined: 30 Mar 2019, 15:47
Has thanked: 2 times

Post by coolbeans »

Ive done some troubleshooting and inputted midi directly from a usb interface so now im pretty sure to problem is either the arduino code needs modification or i need to cut up thr cord i bought to see if the pins are connects to the right numbers as discussed here previously

User avatar
deltafred
Opamp Operator
Information
Posts: 1654
Joined: 06 Apr 2010, 16:16
Location: England
Has thanked: 813 times
Been thanked: 306 times

Post by deltafred »

coolbeans wrote:or i need to cut up thr cord i bought to see if the pins are connects to the right numbers as discussed here previously
You need a multimeter to "ring the cable out" and check if it is as it should be.

I bought 2 Midi cables on Ebay and one was faulty. It was driving me nuts because I thought that my newly acquired Midi to USB converter was faulty until I moved the cables and it burst into life. I contacted the seller and he sent me 2 new ones.
Politics is the art of so plucking the goose as to obtain the most feathers with the least squawking. - R.G. 2011
Jeez, she's an ugly bastard, she makes my socks hurt. I hope it's no ones missus here. - Ice-9 2012

User avatar
macfilipe
Information
Posts: 7
Joined: 01 Jan 2018, 13:06
Has thanked: 6 times

Post by macfilipe »

coolbeans wrote:MIDI DIN 5 Pin Cable, Wpeng 5 Feet 5 Pin Din Male to 3.5mm TRS (1/8 Inch) Male Stereo Audio Adapter, Converter Cable for MIDI keyboard, Synthesizer, Organ, Electric Piano, Guitar,etc(3.5 M-DIN 5P M)


I've uploaded Calde's looperino sketch using Arduino IDE to my uno, exactly how it was on github

Do I need to edit the sketch for my specific midi sheild? I'm still researching and learning, any help is appreciated!
I'm a bit late to the party, but from the reviews on that Amazon link, the cable you got isn't going to work for MIDI data. Most of the pre-made TRS -> DIN cables seem to be for audio signals, with the wrong pin translation from plug to plug. You might want to go the DIY route on this one and make the cable yourself.

As for the code, you just need to take a look at your specific shield and figure out if the pin numbers are the same as in the sketch. If not, just swap them for the correct ones on the sketch. :wink:

User avatar
coolbeans
Information
Posts: 5
Joined: 30 Mar 2019, 15:47
Has thanked: 2 times

Post by coolbeans »

Thank you for this,I did 'ring out the cable' and found the TRS was connected to pins 1, 4 and 2, this is frustrating because I can't change which pins the connection without destroying the midi end. I did complain to amazon but I don't know if it will go anywhere, even if I can't see a single diagram online that would suggest a TRS to midi would ever connect to Pin 1, it might work for some specific audio equipment. I will just build the cable from scratch (bonus I'll gain some new skills).

I know my sheild is:
midi in 0RX
midi out 0TX

I cannot figure out where in Calde's sketch the pins are defined

User avatar
macfilipe
Information
Posts: 7
Joined: 01 Jan 2018, 13:06
Has thanked: 6 times

Post by macfilipe »

coolbeans wrote:Thank you for this,I did 'ring out the cable' and found the TRS was connected to pins 1, 4 and 2, this is frustrating because I can't change which pins the connection without destroying the midi end. I did complain to amazon but I don't know if it will go anywhere, even if I can't see a single diagram online that would suggest a TRS to midi would ever connect to Pin 1, it might work for some specific audio equipment. I will just build the cable from scratch (bonus I'll gain some new skills).

I know my sheild is:
midi in 0RX
midi out 0TX

I cannot figure out where in Calde's sketch the pins are defined
The RX and TX and defined "by default" as they're using the serial ports, so you won't need to do anything to those. And since his sketch doesn't use any LED's, you won't have to do anything to those either, so... sorry, my bad! :oops: I was thinking about the other sketch that does use buttons and LEDs as a master controller rather than the MIDI clock sync, so feel free to ignore me :oops:

As for the cable, yup, most 3.5 mm TRS - DIN cables on Amazon are audio signal specific, used to connect new stuff to old HiFi systems that used DIN inputs and outputs. The market for MIDI specific 3.5 mm TRS cables is a bit limited, so DIY is the best route. But hey, as you said, making cables is always a good skill to have. :thumbsup

User avatar
coolbeans
Information
Posts: 5
Joined: 30 Mar 2019, 15:47
Has thanked: 2 times

Post by coolbeans »

It works! I was so happy when that little jamman sync light turned on! It syncs great with the Roland, not so much with the microkorg but that is probably because there is no start stop button, no problem just means the roland will be master.

Now that I know about rx and tx being like default, that makes way more sense reading the code.

Thanks again!

User avatar
macfilipe
Information
Posts: 7
Joined: 01 Jan 2018, 13:06
Has thanked: 6 times

Post by macfilipe »

coolbeans wrote:It works! I was so happy when that little jamman sync light turned on! It syncs great with the Roland, not so much with the microkorg but that is probably because there is no start stop button, no problem just means the roland will be master.

Now that I know about rx and tx being like default, that makes way more sense reading the code.

Thanks again!
That light turning on is a great feeling, right?? :D Glad you got it running in the end, I've dropped my projects for the time being but I'm still thinking about how to integrate a bunch of stuff and make the arduino be a master controller for a few devices at the same time. I have tried creating two MIDI out ports by buffering one of them with an op-amp, and it worked - so now I just need some time and focus to get things rolling.

User avatar
lameller
Information
Posts: 1
Joined: 03 Mar 2018, 10:55

Post by lameller »

Hi everyone

I have an arduino nano and would like to use the "looperino" sketch for this project. Just so I understand it correctly:

- The midi in goes to the RX pin?

- The jamsync out comes from TX pin?

How is the jamsync out cable connected to the arduino - one side to TX and the other to ground?

Hope to hear back :D

Lameller

User avatar
pajen
Information
Posts: 1
Joined: 22 Sep 2020, 13:44

Post by pajen »

Hi there,

I realize this is very late in the thread, and Digitech is dead. I just wanted to check if anyone are interested in the firmware inside a JamMan Express. I was a bit bored and soldered off the SPI flash and dumped it.
After some digging it turns out to be a QNX image for ARM926. I was hoping to locate the "MIDI" parts (jamsync really) and look for easter eggs, test modes, external control etc. It is supremely bloated for such a small device, about 6MB code uncompressed. I have not really found anything interesting yet though :-P

So basically, perhaps someone enjoys reverse engineering ARM code for audio?

Post Reply