Offline
Melbourne

Hey everyone, hope that title was descriptive enough. Basically I have a sudden and irrational desire to sync my OP-1 with nanoloop and/or pocket operators. Currently, the only device on the market that can do something similar is the Oplab, which is unnecessarily expensive for what I want to use it for. (having said that, the sensor inputs are intriguing..)

I essentially just want one box that will either provide sync, or take OP-1's tempo setting and allow nanoloop to sync to it, or vice versa (really, I'd love it if I could control the tempo using nanoloop!).

I've seen the page on the nanoloop site that refers to sync, and MIDI capability, but I can't seem to wire the cable up correctly; the instructions seem incomplete—it shows where to wire the IN and OUT pins, but what about GND? I tried using the middle pin and shield for GND with the IN and OUT pins wired as shown but it didn't work with any of my MIDI devices, as slave or master.

Anyway, I'm thinking that a nice solution would be to program something for arduino plus USB host shield—I already have an arduino duemilanove—that would allow me to plug the OP-1 in to the USB host, and run a sync pulse out of something on the device for nanoloop. Unfortunately, my knowledge of arduino code is nonexistent, and any tutorials I can find aren't quite what I'm looking for.

If anyone can point me in the right direction, that'd be amazing, since I really have no idea if it's even possible. To be clear, I currently don't have an ipad and don't plan on buying one any time soon; I have a super cheap android tablet but I couldn't get the USB host mode working on it. Another option may be to use raspberry pi, but something dedicated would be a much better option. I thought about using something like the Kenton USB host thing, but am concerned that the OP-1 will send more data than just sync and may throw nanoloop off.

I also have the nanoloop USB-MIDI adaptor, but I'm not sure if it's possible to somehow connect that to the OP-1.. I'm guessing a USB host would have to act as a hub in order for it to work?

Offline
pselodux wrote:

I've seen the page on the nanoloop site that refers to sync, and MIDI capability, but I can't seem to wire the cable up correctly; the instructions seem incomplete—it shows where to wire the IN and OUT pins, but what about GND? I tried using the middle pin and shield for GND with the IN and OUT pins wired as shown but it didn't work with any of my MIDI devices, as slave or master.

MIDI is a GND-less connection. The MIDI section on the nanoloop sync page decribes a cable that allows to sync nanoloop 2.7.6+ (nanoloop 1 and older nl 2 versions don't work) as MIDI master only.

Also, MIDI timecode (MTC) and MIDI clock are not the same, see
https://en.wikipedia.org/wiki/MIDI_timecode (used by OP-1) and
https://en.wikipedia.org/wiki/MIDI_beat_clock (used by nanoloop USB-MIDI)

The OP-1 manual says it can sync to MTC received via USB and nothing else. If I understand correctly, this means it

- has no MIDI port,
- has no analog sync,
- does not sync to MIDI clock via USB.
- can't send any kind of sync signal,
- you're supposed to buy the OPlab.

Possible solutions:

- A device that receives MIDI clock from nanoloop 2 via a real MIDI port and sends out MTC via USB host.
- A device that sends MTC via USB and analog clock via phone plug, this would allow to sync nanoloop 1 and 2 and the POs.
- A device that receives analog clock from nanoloop or POs and sends MTC via USB.
- A device that sends out MTC (for OP-1) through one USB and MIDI clock (for nanoloop USB-adaptor) through a second USB.

Last edited by oliver (Feb 24, 2016 10:01 am)

Offline
Melbourne

Ahhh, the pieces fall into place. Thanks so much Oliver, for being the first person to actually explain what needs to be done big_smile

So all I need to do for MIDI is connect the IN and OUT pins, or just OUT? I'll give that a try with my other hardware when I have time.


I wonder if it's possible, then, to have an arduino convert nanoloop analog clock/MIDI clock to MTC? Or perhaps it's just easier for the arduino to be master, with some kind of control for tempo, and then it sends out both MTC and analog clock? A raspberry pi with specialised auto-run software with the sole intention of controlling tempo via one external knob sounds a bit like overkill..

- you're supposed to buy the OPlab.

haha damnit, maybe I should just bite the bullet at some point and do that. Some of the other features do sound pretty great.

Offline
Unsubscribe

Or get something like kenton usb host and use it with the bastl sync solution?

Last edited by herr_prof (Feb 24, 2016 4:02 pm)

Offline
Melbourne

ah, good call, the MIDI Bastl looks great!

Offline
Tokyo, Japan

I have the OPLab, and it's utter crap. It won't sync the OP-1 and PO12 for a start because the CV output voltage is too low.
REF:

https://www.operator-1.com/index.php?p= … 1-and-po12
https://www.operator-1.com/index.php?p= … a-po12-etc

And then trying to get Nanoloop involved in that is again, impossible. I've tried:

- nanoloop with midi USB as master
- nanoloop with midi USB as slave
- nanoloop with analog sync cable as master

with no positive results.

Unless I'm doing something completely retarded, I would say that the OPLab is useless for what we want.

Offline
Plymouth, UK

Hey!

Just bumping this as I've been working on something to sync nanoloop 2 as master to the OP-1 as slave using Arduino and the Circuits@Home USB Host Shield.

Teenage Engineering's website seems to be wrong where they say the OP-1 will sync with MTC, the OP-1 will actually sync externally to MIDI Clock only (as far as I've seen in my tests anyway).

This means tempo syncing nanoloop 2 and the OP-1 becomes very straight forward, apart from one problem I'm running into - I can't get an Arduino to read nanoloop 2's MIDI clock output, the Serial.read() call just returns nothing from the link port when using littlescale's Arduino sketch, which works fine with other MIDI clock sources I've tested.

If anybody has any suggestions or information regarding how I'd get an Arduino to read nanoloop 2's MIDI clock output I'd very much appreciate it.

Cheers.

edit: it seems that nanoloop 2 doesn't respond to MIDI clock when in 'M' sync mode, maybe MIDI clock sync is currently broken?

Last edited by 2xAA (Jul 24, 2016 8:59 pm)

Offline
Tokyo, Japan
2xAA wrote:

Hey!

Just bumping this as I've been working on something to sync nanoloop 2 as master to the OP-1 as slave using Arduino and the Circuits@Home USB Host Shield.

Teenage Engineering's website seems to be wrong where they say the OP-1 will sync with MTC, the OP-1 will actually sync externally to MIDI Clock only (as far as I've seen in my tests anyway).

This means tempo syncing nanoloop 2 and the OP-1 becomes very straight forward, apart from one problem I'm running into - I can't get an Arduino to read nanoloop 2's MIDI clock output, the Serial.read() call just returns nothing from the link port when using littlescale's Arduino sketch, which works fine with other MIDI clock sources I've tested.

If anybody has any suggestions or information regarding how I'd get an Arduino to read nanoloop 2's MIDI clock output I'd very much appreciate it.

Cheers.

edit: it seems that nanoloop 2 doesn't respond to MIDI clock when in 'M' sync mode, maybe MIDI clock sync is currently broken?

Thanks for doing all this work Sam..! I hope you get some positive results soon so that the rest of us may benefit, too smile

Offline
Plymouth, UK
cheapshot wrote:
2xAA wrote:

Hey!...

Thanks for doing all this work Sam..! I hope you get some positive results soon so that the rest of us may benefit, too smile

No worries, I hope I get it done too haha. Really want this to work, I have plans.

Also, I hope oliver saw my post's edit.
I've got nothing working regarding MIDI clock with nanoloop 2 (using the sync cable, not the adapter of course).

Offline
Melbourne

Good stuff! I've conceded defeat here and have decided to go for a raspberry pi based solution. The pi can re-route USB-MIDI connections via terminal commands; granted I haven't actually tested to see if it works, but if it doesn't, I've been playing around in pd for a couple of months and think I might be able to come up with a more robust solution.. plus maybe include some sequencing magic for the op-1 big_smile

Offline
Tokyo, Japan

You guys rule.

Offline
NUMBSKULL

Hey Sam, message me. I'd love to help get this off the ground!

Offline
San Diego, CA

I've had success with using a raspi as a midi host syncing my DMGs and my electribe, and it's not hard to set up so that it automatically sets up the connections on bootup

Offline
Melbourne

ah yeah cool, I didn't even really think of using the pi as a host but that might be a good idea.

My current project is to make a replica of the nanoloop sequencer (and synthesis engine, to a certain extent) in pd.. so really I probably won't have to sync nanoloop to anything.. especially since I'm becoming better at using nanoloop 2 by itself or synced with another copy.

Offline
Plymouth, UK

So, I did it... almost.

Watch here: https://www.instagram.com/p/BIVYoImgf0k/
Code here: https://github.com/2xAA/MIDI-Clock-Convert

There is a pretty significant drift on any BPM over 120 though, I'm not sure if that's nanoloop's fault or the OP-1's. Could be my code but there's not an awful lot going on to slow any transmission of the clock.

I'm probably gonna put my money on it being nanoloop 2 as it doesn't have the best clock in the world. (I've had to USB-MIDI sync my recordings from it before just so when editing I don't have a huge drift to deal with)

Anyway, that's it pretty much.
I had to use an Arduino MEGA in the end as for some reason using the default Serial and the USB Host shield is a no-go, so I used Serial2 on the MEGA instead.

Thanks to catskull for advice and encouragement :)

Offline
Melbourne

Nice one!

Apparently, the new beta OP-1 OS supports pocket operator sync via the headphone out (sync pulse goes to tip of plug). Unfortunately though, it's that silly half-step sync scheme (seriously why did anyone ever think this was a good idea)..