Discussion about the Korg PolySix synthesizer group photo

Yahoo Groups archive

Discussion about the Korg PolySix synthesizer

Index last updated: 2026-04-28 23:40 UTC

Message

RE: Clocking he Arpeggiator from MIDI

2014-02-23 by <josh.nursing@gmail.com>

Removed the NoteOff de-trigger and replaced it with only triggering/detriggering on Clock and Start. Also coded the Arp pulse to user-settable resolution like Chip did.

Ditched the (literally) hacked PCB for MIDI I/O and instead been using Hairless MIDI<->Serial Bridge:
http://projectgus.github.io/hairless-midiserial/

This allows me to not have to use a physical switch to make my uploads possible, but instead I just click on a checkbox in Hairless to do that.

On Mac OS X, it is a bit flaky when you click to re-enable the Hairless bridge. It sometimes won't be able to re-create the objects used for communication. The solution is to exit and restart Hairless each time. Works for me although a slight annoyance.

And so we've got 115000 or above Serial() communications between the Mac and the Arduino. This also means that I'm not limited to MIDI-2-CV with the Arduino to the Polysix. I could use another piece of software and send that to the USB port if I'm not mistaken.

Additionally, I rewrote everything to use the MIDI library v4.0, re-structured the code to use callbacks and the 16-bit timer in a faster than usual PWM mode, so that MIDI reads are faster/tighter.

Moreover, I decreased the timing of pulses down to nano-second levels with a faster digital write.

Very pleased with the results I had yesterday after testing with the Polysix Arp driven by the Arduino and sync'ed to the MIDI clock of the Kurzweil. Super tight timing, great bass Polysix Arp, JX-8P pad with Kurzweil K2500XS drums, very musical, very electro/80's, and definitely basis for composing new music. Expect a Soundcloud link too soon.

Yash


Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.