Slaving external sequencers to the Gi's digital recorder

Forum for JUNO-Gi
Post Reply
kmtaylor
Posts: 44
Joined: 02:57, 30 May 2012

Slaving external sequencers to the Gi's digital recorder

Post by kmtaylor »

I've been tinkering around with a solution to get my computer sequencer to sync to the Gi's internal recorder.

First of all you need to get the midi clock output from the Gi, which can be enabled under system settings->midi sync. Unfortunately the clock signals do not get transmitted on the USB midi interface. (I'm not sure why) They do however, get sent on the DIN midi interface, so I used a DIN to USB midi converter to obtain the clock signal.

A word of warning: Don't buy the cheap $8 "WinChipHead/QinHeng CH345" adapters out there; they don't work. The input uart seems to drop messages, and sometimes just gets them completely wrong.

The other thing that is required to get your sequencer to start on time is the Start/Continue midi messages that the Juno's recorder doesn't transmit.

To get that, some hardware modification is required: First, remove the back cover of the synth, by removing all of the screws. Second, remove the MIDI/Line IO board that covers the digital recorder switch PCB.

You'll need to locate the switch terminals for the play and stop buttons on the board and solder on some cables, You'll also need to cut the link to the "seek back" and "rewind" buttons as they share a common connection and the DR uses PPM to determine which button has been pressed. The following photo should demonstrate this. Look very carefully for the cut PCB tracks:
IMG_0117.JPG
IMG_0117.JPG (1.19 MiB) Viewed 1335 times
The two diodes are required to isolate the other buttons. See the attached schematic to see why.
You'll need a three wire cable, GND, Start and Stop.
Make sure that you insulate the diode leads so that nothing shorts out.

The next thing that is required is some sort of socket on the back panel. Anything with at least three pins will work. I used a 3.5mm stereo socket. You'll also see to 10K resistors soldered on to the socket. These prevent any shorting to ground. Sorry, I think I forgot to draw them on the schematic.
The resistors are there to prevent any shorting to ground.
The resistors are there to prevent any shorting to ground.
IMG_0118.JPG (1.3 MiB) Viewed 1335 times
IMG_0119.JPG
IMG_0119.JPG (1.26 MiB) Viewed 1335 times
Once all of this is done, you'll need to get these signals to your computer.

My method was to use ALSA's serial-u16550 module which implements a XT serial UART to midi interface conversion. To send the midi stop/continue commands, I modified the module to respond to the UART's DSR and CTS modem control pins.

A handy way to translate the Juno's 3V ppm signal to a RS232 signal is to use the Texas Instruments TI-83 "graphlink" cable (the black RS232 one, not the more modern USB alternatives) (as an aside, the usb alternatives would also work, perhaps the snd-usb-audio module could be modified to generate the right messages). It also needs a slight modification. The link between a diode and R10 (see schematic) needs to be cut.

Once you've done that, make a cable that matches the socket on the back of your Juno and the input of the "graphlink" box, plug it into your serial port, patch serial-u16550, compile serial-u16550, and load it with something like: "setserial /dev/ttyS0 uart none", "modprobe -v snd-serial-u16550 port=0x7400 irq=16 adaptor=5", obviously changing port and irq to match your system.

Then, hey presto, you have MIDI Clock, MIDI Continue and MIDI Stop at your sequencer ready to go!
Attachments
Serial.txt
Kernel patch
(2.49 KiB) Downloaded 148 times
Juno.pdf
Schematic
(289.02 KiB) Downloaded 153 times
kmtaylor
Posts: 44
Joined: 02:57, 30 May 2012

Re: Slaving external sequencers to the Gi's digital recorder

Post by kmtaylor »

BTW, this is the TI cable that I used.

http://www.amazon.com/Texas-Instruments ... m_sbs_e_12
kmtaylor
Posts: 44
Joined: 02:57, 30 May 2012

Re: Slaving external sequencers to the Gi's digital recorder

Post by kmtaylor »

As an update, I've written midi2jacksync, which keeps Jack transport in sync with the JunoGi midi clock signal. It is available at: https://github.com/kmtaylor/gi_editor.

Of all the open-source sequencers that I've tried, I've had the most success with Ardour. If you want midi sequencing, you'll need Ardour version 3, a brilliant piece of software.

Combining this with a Korg NanoKontrol2 (or any other controller, if you modifiy midi2jacksync) gives complete transport control and sync and makes the work flow quite nice.
Post Reply