Some people have expressed an interest in my Euclidean sequencer patch getting ported to max for live. Ummm, it’s like nearly there. Any minute now, look…
Euclidean sequencer ported to max 4 live.
I’ve been playing with this little baby for a week now, the algorithmic sequencer works nice. Programming wise I’ve been getting bogged down in preset management but after having decided to ditch live’s presets and just stick with max’s xml files it’s nearly there. I wish the live number boxes had settable max and minimum parameters but they don’t.
This is my first patch in max for live and the new purchase is nice and everything but I can see it just being another barrier between me and music making. That and the fact the sparse documentation just confuses me leaves me grumpy. Ho hum.
Between working frantically on my youtube TV installation I have finished off a track that me and a mate called Andy started one rainy afternoon. Andy’s pretty awesome at the old techno though he won’t admit it because he’s faaaaart too nice to be in your face with that kind of stuff. Anyway me and Pete who together form A.C.I.D decided we should let him in the band and this is his first track with us. Andy programmed the bass lines which came off my x0xb0x and Native Instrument’s Massive while I made some simple ‘pippy’ drums on my Jomox XBase09 which Andy augmented with some 808 samples in Battery. Basically we grooved around my studio for a few hours a fortnight ago in Ableton Live making a big loop which I padded out into 7 minutes of repetitive funk over the last two weeks. I added the lead synth line while Andy was in the studio off a Juno 60 which coincidentally was Andy’s till I bought it off him last December for £400. The Juno’s a lovely synth and there’s buckets of sounds to explore inside it’s simple architecture, here I was using all 3 oscillators and keeping the amplitude envelope’s sustain down low while twiddling the decay and release knobs. When I was fleshing the track out I went for dub delay drenched sound inspired by Kruder and Dorfmeister after Pete said that when dry the Juno sounded too trancy. The delay lines, all 3 of them, came from from Reaktor’s echomania ensemble which is a personal favourite of mine and a one stop dub delay shop. The low tone in the background and the high pads came off my two Waldorf Pulses as did the reversed wooshing sound at 3:50. A heavily filtered FM8 sample made into the first break down and I think that was pretty much it.
Andy and I were both really inspired after listening to M.A.N.D.Y At The Controls mix album (probably one of the best cd’s I’ve bought, definitely in the top 5) and we were going for that kind of minimal tech house kind of style. I don’t know if the dub delay crowded the mix too much but either way I’m pleased with the results. Check the track below and let us know what you think.
Homebrew midiDAC with integrated double bass pitch and amplitude tracker.
After having built a x0xb0x this summer which I fitted with Brian Castro’s x0xio back panel mod I decided a good project to make would be to make a midi-cv converter box. Although the x0x comes with it’s own midi in, the firmware is a bit tempremental and I was getting a lot of skipped notes and no control over slides when programming midi sequences for the x0x in Ableton. After having played for more time than I care to admit to with the x0x I’ve come to the conclusion that although the internal sequencer rocks, especially when using the SokkOS firmware (funky pattern randomise not to mention the other extra features) the midi response is a bit naff.
This formed half the motivation for building a midi-cv box, the other came from my practice as a double bass player. The double bass being fretless lends itself to slides just like the 303, with my new pitch CV in could I take the pitch and amplitude of double bass and use it as a control signal for my x0x ? More on this side of the project later. The brief I set myself for the midi-cv side was simply that it should supply at least 5 cv outs with a resolution high enough to allow for some interesting tuning options later on. I also wanted proper midi in although I knew while I was programming the firmware I’d probably just send the midi byte code over USB .
midiDAC close up, the lid contains the inputs and outputs for the pitch tracker
Having looked around the Arduino forums I found a lot of people using the PWM outputs on the Arduino and just running them through a low pass RC filter to get a smooth variable DC voltage out. This has the benefit of being quick to make but the downside of non-linearity across the domain of the duty cycly and the range of voltage out and the small portamento this approach will neccessarily come with. Having decided against using the PWM out and having recently been introduced to the analog devices catalogue by an a electronics friend I decided to get hold of one of their AD5668 DAC chips and dive into the world of surface mount chips and SPI. I’m not claiming to be the first to hook up a DAC chip to the Arduino as there’s a fair amount of evidence people have taken the same approach when building their own cv boxes but the approach worked and I’m pretty pleased with the results.
The AD5668 and an adaptor to make soldering wires on to a 5mm chip slightly easier, came to about twenty quid from Farnell. The rest of the box materialised over a period of about two weeks as I made nightly visits to my long suffering local Maplin (I swear they hate me in there, there’s only so many times you can roll in at ten to eight and ask for an opto-isolator and a bag load of assorted components).
Under the hood of the midiDAC
Although optoisolators aren’t technically neccessary for midi input I’m a bit of a stickler for standards and seeming as I’d never used one before I figured I might as well. This Arduino forum post came in handy for the midi in part of the circuitry and the midi byte parsing, I particularly enjoyed the mspaint circuit diagram. As you can see the box is packed pretty tight and the eight outputs which are on switched mini-jacks and quarter inch jacks barely fitted in the enclosure. The pitch and amplitude tracker I built for my double bass is on a circuit board blu-tacked to the inside of the lid so you can’t see it in this photo but I’ll cover that in another post.
The most time consuming part was reading the AD5668 datasheet forwards, backwards and in random access until I’d squeezed all the functionality I wanted out of it. It uses a 32 bit address space with 4 bit padding at either end, 8 bits for commands and 16 for resolution on the output which swings between 0 and 5v. There’s a fair bit of left and right shifting in the arduino source code as well as some bit masking which is kind of funky if you’re into powers of two.
There already exists a fair wealth of material (e.g. here, here and here) on how to get the Arduino to deal with midi byte code so after having successfuly hooked up the Arduino to the DAC chip (SPI really isn’t that hard given the Arduino’s built in shiftOut method, reading this helped) I just started hacking apart kuk’s midi parsing code for my own purposes. I’ve put the source code here so you can get a head start on making your own if you’re interested in using the AD5668 or just seeing a project that makes broader use of the midi specification. There’s a fair amount of code dedicated to getting pitch and amplitude data from the double bass which you’ll have to scroll past.
Having documented the insides of my midiDAC I’ll leave you with two videos showing its implementation with my x0xb0x. I cooked up a little random scale generator in Max to play on 16th notes and synched the whole thing up to my drum machine via Ableton and Rewire (Max 5’s new transport still doesn’t accept MTC as a clock source, hence Ableton and Rewire joining the party). Enjoy.
Another part of my forthcoming interactive tv installation is the hardware infrared to midi box I built for interfacing old tv remotes with max and jitter. This was a pretty simple project based around the now ubiquitous Arduino microcontroller and a rather handy i.r. receiver chip I picked up for next to nothing from Sparkfun.
The IR remote control to midi tool box.
The box plugs in to my computer using USB and a max patch takes care of churning out the midi to whatever application I fancy. As well as using it for my installation I use it for controlling Ableton while standing a.f.k practicing bass. I included a hardware reset switch on the top which I hardly ever use since the latest Arduino’s support software reset when loading firmware and seem much happier with Max’s port object.
I stuck on two LEDs to give some user feedback, green for power and red for code received. I initially tried to write my own firmware for decoding the signals but after googling around a bit I came across this guy’s code which worked much better than my own attempts and saved me about three weeks work. Basically the box just chucks out a unique hex code for any button on any remote that’s sufficiently close to the RC5 Philips standard which seems to be most of the ones in my house. Max takes care of assigning each code/button to a MIDI message, like note, program change or continous controller but I might in the future go back and shift this functionality from Max into the hardware. When I’m using it with Ableton I just route the midi back from Max to Live using midiYoke.
Under the hood of the ir2midi.
Looking inside you can see there’s not much going on here, just the Vishay TSOP85 receiver and the circuitry for the LEDs and reset switch (this is on the flip side of the vero board but it’s just some pull down resistors). The nice thing about the receiver was it came with the neccessary circuitry integrated so all I had to do was wire it up to the power and one of the digital inputs on the Arduino. I’ve recently become obsessed with socketing things so I can pull them out and swap/replace them as I see fit so I used a few of these yummy modular connectors from Maplin. That’s where I got hold of the frosted blue enclosure which lets through the i.r. signal unimpeded as well as looking quite shhhexy (as much as a blue see through box can).
Introducing the Vishay TSOP85
That pretty much covers it. I’m pretty pleased with it as it is, the whole thing only cost about £30 and took not too long to build. In the future I’ll post up the Max patch, circuit diagram and a video showing it’s integration with Ableton. Changing scene with the channel change and controlling volume, stop, start, record, etc by remote is really quite handy for me as I play double bass and constantly putting it down just to stop/start is a pain in the arse.