Category Archive: Software

Subcategories: No categories

Arduino Trigger-to-MIDI converter

OK, the trigger-to-MIDI clock converter seems relatively happy (though I think the MIDI in on my AN200 isn’t? That’s going to require some more tests…).

I hacked on it a bit tonight trying to determine how drifty the generated MIDI clock was relative to the incoming trigger pulses from the DR-110.  At first it was pretty ugly. I then added some compensation to the clocking to account for all of the work the Arduino is doing. After some trial-and-error, it’s relatively tight – total drift by my rough calculations was something like 10 milliseconds over a five minute period. Compare that to an earlier drift of 120 ms in a minute…

Here’s the code: trigger2midisync.pde

Hardware-wise, there’s a trigger input on pin 2 (use a zener if you’re worried about blowing stuff up…), and the MIDI out is the standard (TX, GND, and 5V through a 220 ohm resistor going to the pins of the MIDI port).

You may want to configure some of the #define statements in the code. STOP_TIMEOUT is the amount of time that needed without triggers needed for the converter to decide to stop. I’m using 2 seconds.  Changing DIVIDE_SLICE would be important if your trigger source is something other than 4ppqn, and CODE_OVERHEAD_TIME is used to adjust drift in your deployment – 10 worked really well for me in my tests tonight, but it could be anything for others.

Once it’s hooked up and connected to your MIDI source and your trigger source, start sending a series of pulses to pin 2. On the first pulse, MIDI Clock start should get sent, and by the third pulse or so the sync will be “synced” – there will be an offset, but it should remain fairly constant. Now, once the pulses stop, clock will continue to be sent until STOP_TIMEOUT milliseconds have passed.

Next test will be syncing the DR-110 to the very-nearly-finished x0xb0x to see how well that keeps up – I did all my tests tonight with a Yamaha RY10, with both it and the DR110 just playing a “four on the floor” kick pattern.

Questions? Comments? Improvements?

Administrivia and News of the Future

Lots of things going on of late. A quick recap:

1. Upgrading the FeedWordpress plugin ate a number of the PTB show descriptions from the last three months or so. I recovered some of them. The rest have the generic description again. Yay upgrades.

2. I’ve set up a Facebook page for whatever it is we do here(are we a label? do we build gear? A little of both and then some?), so if you’re a fan of whatever it is we do here and prefer Facebook to these ‘blog’ things, go become a fan there. I promise it won’t be a constant source of annoyance.

3. Expect some announcements of things happening in the future. For instance, I’ll be performing at Bella Dubby in Lakewood on August 21st, as a duo with my friend C. Randolph C. More details soon. Also be on the lookout for the forthcoming cassette released in conjunction with Everyone Else Has A Record Label, So Why Can’t I?, as well as more fun stuff on the horizon.

4. GoatTracker fans- here is a FAR better port of GoatTracker for Mac OS X than mine ever was. Seriously, it’s awesome. I’ll be going back and adding links to this one in my older posts.

5. A quickie on the DIY front – I’m moving right along on a MIDIbox SID. It’s just going to be a single-SID/basic control surface model, but it is moving right along. Hopefully usable & in an enclosure before August 21st…

Tagged

Things I’m doing, part N

Things that have been going on in the last few weeks:

1. The SN-Voice has progressed a little bit – The front panel is drilled, and I think I’m in possession of all the required parts. Now begins the joyous task of mounting the front panel controls, and then wiring them to the PCB. I technically still need the tempco, but I thought about just mounting header sockets, and using a regular 2k resistor for now – like drift really bothers me… I’ve still got a little time to think this over.

2. Mega Percussive Synthesizer – All remaining parts (except the polystyrene caps) have been ordered. Need to solder them in…

3. Recording process – All of side 2 is edited down. Now to get an appropriate 15 minutes out of side 1, which is currently 23’40″. Still need two song titles, and an album title.

4. Signed up for the RPM Challenge again, so hot on the heels of this thing will be another recording, though probably with fewer rules.

5. Got an iPod touch this week. The eventual plan is to maybe develop for it. We’ll see how that goes…

The Lowest-Fi Digital Delay

A little while ago, I built my own Lo-fi Arduino Guitar Pedal. I’m even using a similar enclosure – work tossed out a couple of thinwire->twisted pair converters that I snapped up. I think the only major deviation is that mine only has one output at present- I could add a second later, though.

I got to thinking last week that a digital delay would be an interesting idea – I had no notion that this would compete with anything in the quality department- a very short, crunchy delay – I just wanted to try it out.

So I wrote a little program and originally used an array of 512 values, and cycled through them, while recording point i, and playing point (i+1) (with edge checks and things like that, of course)

It turned out that 512 shorts of storage must have overflowed available program memory and caused general non-functionality. Changed the delay to 256 shorts. That at least got me up and running.

And it gave me about a second of delay time – kind of unexpected (that makes the sample rate, what, a few hundred Hertz?). It also doesn’t give a very accurate representation of the input. A test went something like this: snare (pause) krrrzzk.

audio: ArduinoDDL1.mp3

Once I commented out the #define DEBUG 1 line, it seems a lot happier ;-) There isn’t very much delay time, and it still gets really weird on occasion, but it does kind of do something to the input.

Here’s an example of it, with adjustments to the amount of delay and effect mix: ArduinoDDL2.mp3 – note that it gets loud and obnoxious in places.

Maybe better than the crappy plate reverb of a few weeks ago? Really, hotrodding my Realistic would be the best way to go for the all-DIY album. Probably not enough time for that, though – I’d really like to get it done soon.

If you’ve built a Lo-fi Arduino Guitar Pedal, get the code here: ArduinoDDL.zip. Knob A controls the delay time, and Knob B, when set to zero, should flush the audio buffer and blink the blue light while it’s doing it. Or it’ll just do weird stuff. YMMV – mine certainly does.

Tagged , ,

GSi WatKat – Free AU (and VST)

Now that the UB AU is released (and I’ve tested it for myself), check out GSi’s WatKat – an emulation of the WEM Copicat – a tape echo that was first designed in 1958.

It’s awesome lo-fi goodness. I say touch the capstan ;-)