Digitech JamSync - How does it work?
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!
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!
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!
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...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!
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
Woop I followed your Arduino sketch, whipped out the old breadboards, and got mine to work too! Thank you for putting this sketch together, and thank you to all that came before you and made it possible.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!
I'll PM you in a bit with the schematic of how I ended up wiring mine up and maybe we can compare notes.
So here's a quick and dirty schematic to go with the code Jacob posted above:macfilipe wrote:
Woop I followed your Arduino sketch, whipped out the old breadboards, and got mine to work too! 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.
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
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.
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!
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.
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.
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:
(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.
(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.
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.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...
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!
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!
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
- deltafred
- Opamp Operator
You need a multimeter to "ring the cable out" and check if it is as it should be.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
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
Jeez, she's an ugly bastard, she makes my socks hurt. I hope it's no ones missus here. - Ice-9 2012
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.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!
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.
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
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! 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 mecoolbeans 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
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.
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!
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?? 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.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!
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
Lameller
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
Lameller
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?
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?