Terrassenfest 2013

This post will be about my third time at the Terrassenfest (Facebook). It’s an annually held 3-day event organized by volunteers of the senior technical college in the city of Osnabrück. Every night there are 2 bands and a DJ afterwards. We are doing the stage for the third year now and I guess it’s the right time to go a little more into detail than the years before.

This is the 38th year this event takes place. Last year my former boss visited me when I was working there and told me he had been organizing this event ~25 years ago himself.

It all begins at home in Hamburg. I am in charge of lights and visuals and I will be using VDMX for the first time. I already created some footage and am working on the basic screen setup.

The stage-setup will contain 10 units of 42 inch monitors. 6 being twisted by 90 degress, hanging overhead in the truss, 4 being packed together in a somewhat classical 2*2 matrix-style stetup. The monitors themselves are configured in 3*3 matrix mode. This means every monitor gets the same input data but only displays 1/9th of the actual picture depending on the position that was set in its configuration.

Codec shootout based on visual impression and CPU usage. VMDX’s new HAP codec won.

Packing my stuff for staying out of Hamburg for 5 days (sat – thur).

This is only the technical stuff i’m carrying:

MacBook pro, Lenovo Thinkpad, Akai APC20…. to name just a bit of the stuff i took with me. It’s important to know that I will be meeting friends of mine there and I’m planning to play arround with different stuff so I am taking way more than I’d need to.

Entering a 4-day mayhem.

The foh (front of house) will be by new home from now on. The most important thing (the fridge) is already there. Though the Terrassenfest is organized by volunteers it doesn’t lack professionality at all. We get the best support one could think of. Including a never-ending amount of energy-drinks, beer and grilled food.

By the way: It’s one of the better ideas to use an extra cable only for the fridge at the foh. Trust me.

Working for the company doing the stage for me as the guy for lights and visuals also means: Bringing up the complete stage! From zero.

Well…. it IS that much. It took us Sunday to build up the stage.

Yes, this is a friggin’ huge PA-System. It IS way too much for such a tent. But it DOES sound incredibly good.

Part of the monitor setup. 4 Monitors are hanging in the back truss, one is hanging at each side.

That might be me…

And that might be another pile of cables

Slowly growing

Oh… and by the way: we’re also doing the trussing and lights for the bar…

And YES: we are going full pro on this one.

First impressions at night. All lights on 100% to check whether we calculated our energy consumption correctly. We did.

Getting a little bit into detail. The dmx data for the lights are transmitted via lumenradio. The video is transmitted via ethernet cabling based on Kramer technology.

Signals arriving at Dimmerland, Amptown city. From here the DMX data are fed back into cable and the video data are sent to various multiplexers to reach the monitors.

This is the final stage setup. The DJ booth will be put aside as long as the bands are playing. One aspect of this setup is to be able to change from band to DJ as quick as possible. It took us ~5 minutes each time.

For the videos I created two main groups in VDMX. The ‘Truss-Group’ and the ‘DJ-Group’ (guess which is which). The Truss-Group consists of three layers: Background, Center and Front. The Background layer spans over the 6 monitors completely and the visuals will be twisted by 90 degrees. That’s okay since this layer is intended for blurry-motioned video backgrounds. The Center and Front Layer are twisted by 90 degrees within VDMX so they will be ligned up correctly on stage. Both layers are cropped and resized so the whole video of the layer will be shown on every screen.

The DJ-Group only consists of two layers: Background and Center but the configuration is similar – without the 90 degree twist.

I could have done more but I wasn’t too sure about overall CPU usage and stability so I decided to better be safe than sorry. Next time I guess I will be doing 8 layers each since VDMX showed no problems at all.

Everything that I wanted to have control of was connected with a custom control interface which was then connected to different midi inputs. That way everything stayed clear and easy to handle… just in case…

Everything is controlled via an APC20 from Akai

The buttons on the right select the page in the media bin (‘Chroma’, ‘Ballern’, ‘Stuff’, ‘Strahl’ and ‘Atmo’). The butons above the big stripe of yellow duct tape select the layer the video clip is played on and the 40 main buttons finally select the video clip itself. The faders from left to right control each layer’s opacity.

Btw.: The duct tape is the expensive type which is used by professional painters. Not the cr*p you get in your ordinary hardware-store. It’s 3 or 4 times as expensive but absolutely worth the money. You can stick it on, leave it there for a year or more and remove it without leaving just one bit of ugly residue. Try this with your Gaffa-Tape.

That’s my setup at the front of house. From left to right: MacBook pro 13″ running VDMX being controlled by an APC20 from Akai. Some earplugs and a Korg Kontrol 49 Keyboard for controlling GrandMa onPC running on a Panasonic Toughbook. If you look carefully you’ll spot a Wiimote as well. This was used to control two effects in VDMX. Pixelate and Strobe. Though I am generally not too much into using video-fx this sure was huge fun, especially for the people hanging around at the foh.

(click for a larger image)

The way the lights are connected with the keyboard has grown over the years. It evolved from the very first show that I used when working in a discotheque. It has become so intuitive even my mom can do it:

By the way: I was staying with my parents for the time which was quite a lot of fun. I moved out ~15 years ago and haven’t slept there more than 6 nights since. They brought me to the event every day and my dad was totally eager to carry my bag:

Considering the amount of bullsh*t (a.k.a infurious pain) he is going through with all his back this has to be accepted as one of the coolest things a dad can do for his son.

That’s part of what the setup is capable of:

This is one bad mobile-phone photo giving a glimpse of what it looked like when the bands played. During their set I brought their logos on the screen together with some background videos colour-fitted to the rest of the lights. This always looks amazingly cool and it shows that you don’t need an LED-Wall in the back to do a good show.

I will add more and better photos with overall impressions within the next days.

By the way: We intentionally didn’t use an LED-Wall. Right now I see LED-Walls on every yet-so-small village-party-stage. What’s wrong with the people out there? Is an LED-Wall the new huge phallus-symbol in stage design? Does every average top40-band really need hi-res image processing in the background? Wake up guys: It’s about the band and the music! Not about what you are able to dry-hire …..

Some hours into the first night (bands were done, DJ was playing) the event got into some trouble with local authorities because of noise. Fact is: we couldn’t get more silent than ~80 decibel just because of the people themselves making this amount of noise purely by being there. Anyways, It was on us to turn the music down. This ended in the situation that we needed the Master-Out on a headphone in order to -literally- hear anything from the music.

The second night we caught a glimpse of the music because the DJ turned his monitor speaker up enough so we could hear him through the tent. Foh seemed to be a good place to catch some … sleep. Cool thing: Nevertheless people stayed there until the end at 3’o clock in the morning. I was told there were ~3500 patrons every night.

Growing chaos at the second day.

Oh and by the way…..this is a f*cking NON SMOKING TENT….damnit

Revenge of a non-smoker

I learned from past events that it is important to NOT drink all the energy drinks that are available but only so many you really need to. Last time it took my body 5 days to  come back to normal digestion…intervals….

This is the event ground at the dawn after the last day. the event left its marks.

This is me going to bed after dawn after the last day after taking down the complete stage. Being all comfy and stuff. I guess the event also left its marks on me.

I am writing this right now so probably I’m not dead by Terrassenfest.

Harddisk Turntable

This is my attempt to build a Midi turntable (a.k.a. Jogwheel) from an old harddrive.

Some time ago I came across this (rather famous) article:

A hard drive hacked into a turntable

What they basically did here is to take an old harddrive and connect the motor via a set of op-amps to a microcontroller. When the platter is moved the motor (now actring as a generator) will produce signals that can be analysed by the µC and used for generating Midi out.

So far so excellent. But the deeper I got into the topic the more it became clear that this wasn’t the best solution for me since the article states that very small and slow platter-motion isn’t detected reliably.

That’s why I started building my own version of a harddisk turntable using the optical sensor of an old mouse.

Here we go, it all starts with an old harddisk

I have been dealing with computers for more than 20 years now but this is the only harddisk I had ever problems with. And this probably wasn’t caused by one of those “ooh my god…my harddisk suddenly crashed”-moments ismply but due to accidentally dropping it while moving to another flat.

So – this is the first time ever that I’m taking apart a harddisk….

I figured out that I had to get rid of two platters because it would make the construction too heavy an dull-feeling.

In order for the optical sensor to be able to detect the platter being moved I taped the edge of the platter to give it some structure.

Fortunately the harddrive motor could completely be detached from the housing. This way I can use it in another case

The mouse was a Logitech RX250 that I had lying around

The sensor is of type A5020E. Fortunately I found an Arduino library for this device over here. It’s a little bit old and in order to make it work under Arduino 1.0.1 you have to exchange

#include “WConstants.h”        against

#include “Arduino.h”       in the .cpp file. That’s all.

I simply desoldered the sensor and put it on a scrap piece of vector board. This will later be fixed by hotglue-influenced-technology =). the datasheet can be found here or here (if the original site will change or be offline).

During the first attempts I found out that it’s a good idea to keep the clear piece of plastic together with the mouse’s original LED in order to have the right conditions for the optical sensor’s illumination. For that reason I cut an appropriate hole into the new case.

It is pretty save to say that I am by far one of the worst craftsmen around….

Because I left away two of the three harddisk’s platters I had some space that needed to be filled up. This piece of foam comes from inside the old harddisk

Some hotglue later

At the moment the circuit only exists on an Arduino breadboard. I will fix this later

Proof of concept

Normally I try to create all my circuits as clean as possible. Proper layout, exactly the right amount of space, everything neat and tidy. Not this time. I think that from now on I don’t give a brick about that any more. It’s way more fun to just go for it with as little space left as possible. Trains your soldering skills as well.

I could’ve left the voltage regulator since it only causes problems. There isn’t even a reason for it since the device will be USB-powered and USB has relatively exact 5 Volts so why care… anyway, I didn’t want to desolder it… yet.

The USB interfacing is done via one of my all time favourite hacks. I once bought about 15 ultra-cheap USB-to-MIDI convertors (~6€ each) and I use one everytime I need USB-Midi  in one of my Projects. (Those where you only have a cable with USB on the one and two MIDI conectors on the other side. In between is a circuit taking care of all the USB stuff etc.)

While doing the finetuning I tried different approaches for the coating of the platter. An untreated harddisk platter’s motion will not be recognized by the optical sensor so you have to attach some kind of structure to it.

Using plain simple duct tape I was able to yield the best results. The rest will be handled in code.

And just as a little side gimmick i added a green led which is lit …

…when you touch the platter. Oh – and it sends out MIDI by the way =)  The poti is there to adjust the sensitivity of the touch sensor.

This picture shows the distance between the platter and the optical sensor. I tried different configurations but it turns out that my initial approach was just about perfect.

While thinking about how to actually use this thing I came across a few ideas and added a little more stuff to the circuit

Pressing the left putton will light up the left LED and make the device put out Midi CC #42 when the platter is spun. When the right button is pressed the other LED will light up and Midi CC #43 will be sent upon moving the platter. When the middle button is pressed the Midi Channel will change from 9 to 10 so you can use it for temporary pitchbending, etc. The screw above the LED on the right side is electrically connected to the platter so you have another ‘platter is touched’ contact.

The whole device came out pretty well. I still have some minor quirks when spinning the platter ~really~ fast but I will give it a test run within the next days before altering the code any further.

[Update 10.11.2013]

I added another poti which makes it possible to change the response rate of the platter (and, of course, I altered the micro controller’s code…). That way you don’t have to fiddle around within software but can easily adjust it on the fly

As a result I found a quite easy to do live video scratching within my favorite VJ-software (VDMX)

GrandMA Command Line Interface

[Update 16.11.2017] Due to request there is an updated Version of this post [/Update]

[Update 20.10.2016] This seems to be quite an active post on this website according to the wp statistics plugin. If you are a real human being (and not a clever bot) please leave a comment below so I can see whether there are real people searching for this topic. Best regards, Andy [/Update]

 

I had this lying around for years – literally.

 

(The following pieces of information might be outdated…some of the things are recovered from my memory  – some are leftovers from handwritten documentation I made while analyzing the software. The first working version of the code dates back to the beginning of 2008…. but I did a quick check and all of the things still do work so I can’t be that wrong.)

 

I have been doing lights for concerts, disco and various parties throughout the years. Most of the times I used a GrandMA lighting desk. Either a real hardware console or the cheaper onPC version.

Continue reading

DIY USB Adapter

 

My current MIDI controller has a Mini-USB connector. This has to be one of the worst possible features of the device.  I was facing a lot of garbage data and MIDI dropouts recently and it all came down to faulty contacts caused by this connector.

 

Even worse: the connector is attached on the left side of the device, drastically increasing the possibility of ripping it off unintentionally.

 

I already thought about attaching another type of USB connctor when I hacked the controller itself but somehow I forgot about it (or was too lazy or …).

 

Anyways… the problems I had were big enough  and I wanted to test this kind of hack for quite a long time so it’s finally enough to start thinking about it:

 

If you look very closely you see that there are 5 spring-loaded contacts inside a female Mini-USB connector. Right below every contact is a small hole. I guess that’s where the contact is stuffed into the plastic. My plan was to use these holes with a very thin wire so the wires would touch the contacts ‘from below’. In order to keep the wires from falling out I wanted to apply some pressure to the contacts via a thin piece of plastic.

I had this one lying around and it turned out to have just the correct thickness. Only needed to cut a bit out of it.

 

Excellent

 

Here it all comes together (you only need 4 of the 5 contacts):

 

The wires are held in place surprisingly well so I built a small breakout-board with a somewhat sturdy USB B-Type connector:

 

Don’t forget to cut the coppertraces so the shield is not shortenend with any of the 4 pins. Of course I forgot that and only realized it after applying the first ton of hotglue …

 

The board is attached to the side of the controller using hotglue, the wires are soldered to the corresponding pins. The wire itself is insulated by a clear coating which gets off as soon as you start soldering. As long as you don’t torture them too much there is no problem with shortcuts caused by touching wires.

 

After i made sure everything is working fine I attached … slightly … more hotglue to make it ready for some rough handling:

 

Looks fine, doesn’t it? I am not facing any faulty data or dropouts anymore, the connector is sturdy as hell and it is now pointing to/ from the back side of the device making it less prone to accidental pull-outs. Furthermore I now have to carry only one kind of USB cable with me whenever I’m out making music.

Adding 24 Buttons to the Numark DJ2GO

Digital Dj’ing has become too clean.

 

When I was an early adopter of M-Audio’s Torq there were no usable controllers at all (let’s not even think about the xponent, never saw such an ugly piece of plastic).

At first I used a Berhinger BCR together with Bome’s Midi Translator.

 

Later I built my own Controller specifically taylored for my workflow with Torq. Technically those solutions were far from being perfect, mainly caused my a lack of feedback possibilites of the software and by mechanical imperfections that occur when you build a controller without paying enough attention for the necessary precision.

 

Nowadays the situation has changed drastically. There’s a huge amount of great Midi controllers out on the market. You only have to plug them in and that’s it. Most of the DVS-packages even come with pre-configured tepmplates ready for you to start dj’ing without any worries.

 

I don’t like it.

 

I just can’t help myself but for me digital djing always includes the need and the passion for some amount of own development.

This surely can only be done in an area where errors can occur and you are not a stadium-filling super-paid person, but then … this isn’t djing…that’s a concert.

anyways.

 

When I went out making music I normally took this with me.

(yes… a wooden board)

I really like playing around with timecode vinyls. Mixing is pure fun with these things. Unfortunately there is a rather high potential for errors and stepstones. A broken ground wire on a turntable, faulty contact fields for the needle, dirty electricity (when the hot water boiler is in the same circuit as the p.a.  …).  Furthermore Torq’s very own soundcard -the conectiv- is higly prone to errors because of voltage hickups….

 

There’s absolutely no fun in carrying all this stuff around town just to realize you forgot one fr*ggin cable.

That’s why i tried to slim down my equipment as much as possible.

 

(Meanwhile I switched to Torq Version 2 and fortunately there are no limitations to using the conectiv (or any other torq hardware) as a dongle for copy protection so I could get rid of this easily.)

 

I don’t want to stop mixing and beatmatching myself (not using auto-sync or other helpers) but scratching and cutting in most cases is nothing for the places I play music. That’s why I still need some sort of jogwheels but can happily get rid of timecode vinyls.

I could have bought anything like the vci-380 or any common controller with usable jogwheels but even that is too much for me to carry. Leave alone the missing space behind a small bar’s dj ‘booth’.

 

I came across the Numark dj2go a while ago and gave it a try. And even though it takes some trial-and error the Jogwheels can somehow be used for ‘platter emulation’ (don’t expect too much). Interestingly there are ~zero videos around where the jogdials of the controller are used. Maybe noone really took the time…

 

Only backdraw of this solution is the fact that the controller is missing a few buttons for the workflow I developed. I’d like to have some buttons to jump to cuepoints, set (and release) loops and maybe trigger a few effects.

On the other hand side the controller has some things I never use since I’m using an external mixer: Channel volume A and B, master- and headphone volume on a midi controller are just unnecessary for me. That’s why I sacrificed them for some buttons.

So, here we go.

 

The 4 potentiometers on the top half will be exchanged for buttons. This way there are no continous messages of the corresponding CCs any more. Instead every press of a new button will create a somewhat unique CC-vlaue ‘click’ (more on that later). This is done by some simple ladder of resistors. The resistors’ sizes are calculated to fit different needs:

I wanted this to be as simple to rebuild as possible. One resistor for every button should be easy enough.

Furthermore these are the most common resistor values. No problem on getting these anywhere. I also wanted to be on the safe side and select the resistors in a way that the corresponding voltage drops (the midi outputs) are as far away from eacht other as possible. That way the circuit will even work -at least some kind of- stable in rough surroundings (very hot/ cold temperatures that make every resistor change its value to a certain degree).

(All resistors are 5% tolerance.)

The resistors form a simple voltage divider. The supply voltage is 5v. Since everything in the controller is handled with 3.3v the values of the resistors make sure the output voltage never goes above 3.3v (see below).

 

There is one major disadvantage, however: Simultaneous button-presses will not be able to be realized due to the nature of the construction. Keep this in mind when slaughterig your controller for this.

First up, the case needs to be opened and the poties have to be removed. Avanti warranty! Interestingly, I don’t feel any kind of shiver any more when doing things like this. Voiding the warranty and taking the risk of destroying a basically new and unused controller I just bought seems to be the most normal thing in life. Good. It took me long enough for this =)

 

The SMD capacitors below the poties don’t have to be removed. I tested the results with the parts being removed and it’s better to keep them soldered. Never soldered SMD before but I got the two caps back in place at 1 o’clock in the night with 2 big glasses of beer in my …headstomach. Seems normal.

 

Otherwise: If it didn’t want to be treated that a way it shouldn’t have become a Midi-controller. Damnit.

 

Next the buttons are soldered together. Every potentiometer is exchanged for six buttons. 2 Groups of buttons (12, that is) are fitted onto one stripe of vectorboard. That makes 24 new buttons overall which not only is a somewhat insanely high amount of buttons but which also is the maximum number of buttons that can physically be fitted on top of the controller.

 

 

Every button has one pair of contacts which opens and one which closes upon buttonpress. Make sure to get the correct one (the one which closes).

 

 

One thing I found out is that the controller uses 3.3 volt internally. To make the voltage drops on the resistors as big as possible I took 5 volts as a supply logic for the buttons. Stole it from a little pin I soldered to the board. The spot is easy to find since it’s situated next to the 3.3v voltage regulator. And because it’s labeled.

 

 

As mentioned before the resistorvalues make sure that the maximum output voltage never exceeds 3.3v.

Btw: did you realize the light barriers? This might be the cheapest possible solution ever to easily get some feedback from the jogwheels… should keep this trick in mind for later use.

 

 

The case needs a little dremel action for the cables to connect.

 

And everything needs….hotglue! yeee-haw!

 

 

And here we go: 24 shiny new buttons attached to the Numark DJ2GO:

 

 

That was the hardware part. Now we have to take care the buttons send useable MIDI-values.

When the original potentiometers were attached every poti sent a continuous stream of CC-values when it was twisted. Now that we exchanged them for buttons we still get CC values when the buttons are pressed. They are, however, not continous any more but somewhat stepped.

There are three problems with this. First up, most DVS systems can’t handle the same Midi-CC for different software-commands. When you map the first button to “cue 1” it will map “CC #8” to it. The difference of the CC value between button 1 and 2 isn’t recognized. That’s why we have to convert different values of the same CC to different MIDI Notes.

Second problem: The buttons are bouncy as hell. Even though I bought the extra-expensive ones to NOT face this problem they create quite some nasty bouncing when pressed and released.

Third problem: the controller’s internal logic seems to do some even-out-processing in this area. This makes sense when poties are attached but isn’t very helpful when we have buttons. Even when the controller gets some perfect bounce-free signal the controller spits out something between 2 and 6(!) CC values.

Problem 2 and 3 make it we have to do some external software debouncing.

 

Using a Macbook I found Midipipe to be the best tool for the job and wrote a little script for it.

In short: CC values coming from the controller are sent to Midipipe where they are temporarily stored.

 

In order to debounce (and in order to come across Applescript’s limitation of being single-threaded) a second script is triggered. This script does nothing  more than to wait ~40ms and tell Midipipe to continue by sending it a certain MIDI message back via a dedicated port.

 

The CC values which came within the last 40ms are then transformed into individual MIDI Notes and sent out via the IAC MIDI port into the software.

 

Both scripts are a little buggy still and need some fixing.They will be made available soon. Contact me if you urgently need them.

The whole system is far away from being perfect. Sometimes the buttons don’t become recognized … but  … that’s great – somehow. Adds some flavour. At least everyone will otice I’m not using auto-sync when things are messed up.

I love this.

 

[17.11.2012]

There has been some progress, lately. First up when I visited my parents I used my father’s toolshed to build some case out of plywood in order to be able to transport the controller without breaking it:

 

 

Secondly, I was out making music with it for the first time outside my home. This took place at the Freundlich & Kompetent in Hamburg.

And as expected the controller failed BIG TIME. Somehow there was lots of electrical shizzle around and the modified Numark controller seemed to catch it all. Showing this in the loop section for ‘Deck A’ behaving totally random without even touching the device or any of the cables around.

Well, I deactivated this function in the Midi-Editor and went without it that night. Not a big problem (The night was great, by the way…The bar has a super nice crew).

Back home I did some deeper investigation and after applying an insane amount of hotglue I realized that my midnight soldering skills (after some beer…see above) seem to have left me. One of the wires connecting the buttons to the contacts of the former poties was quite sensitive to impact. Midi data were created upon … breathing onto it… I guess that relates to one of the SMD caps I temporarilly desoldered for testing purposes got killed.

So … after a heavy research I made an educated guess and then took the first thing that came into line of sight and added an extra capacitor (47 nf for those who care) and … everything seems to be perfect now.

 

You can even see it after the enclosure has been put back together =)

 

The buttons are now a little more sturdy as well due to an improved construction of leftovers from various vectorboards. Everything is hot-glued, of course =)

 

Anyways, this is the current configuration I use (same for ‘Deck B’). I will post a video of this together with the current version of the Midipipe-script soon.

 

[tube]https://www.youtube.com/watch?v=RHNpYeziWV4[/tube]

 

[4.9.2013]

Oh man ….

to make things short: even after adding a new capacitor I experienced a faulty behaviour from time to time. This resulted in ‘phantom button presses’ (a loop or a que was triggered without touching the device) preferrably in situations when it was very hot and/or humid around. Looking at the circuit diagram above it becomes clear why: The circuit was always closed in some way. Current was flowing the hole time. Everything that might have caused even little changes in the resistors’ values (temperature being one of these things) MUST have caused a changed current and therefore some ‘phantom’ action.

Looking back that seemed to be the perfect circuit to provoke such a behaviour. Might keep this in mind for later use …

As soon as I realized that i built an … improvable … thing it became clear to me that I had to change the circuit. The new circuit now only causes current to flow when any of the buttons are actually pressed and furthermore widens the range of values that are created when a button is pressed. That way I could change the midipipe script to use a wider hysteresis to make operation even more reliable:

 

Putting it all back together I found a new way of fixing the buttons to the controller. I used scrap parts of vector board for this before but toothpicks do a much better job in my eyes

 

Looking as good as new from the store

 

[Update 10.11.2013]

The controller works like a charm now. There are only little things left to improve. One of the things is to make sure I’m not pressing the wrong button when using it without watching. So I added this little piece of plastic. (the one between the black and yellow buttons.) Doesn’t sound too impressive but it really helps preventing wrong button presses since my fingers ‘know’ where they are.

 

DMX to Kramer

I always have some problems with starting a new post about a device I built. They always seem to begin similarly. This post, anyways, describes the actions that took place for me building a DMX-to-Kramer converter.

The operation is quite straightforward: You assign a DMX-address to the device and connect it to lighting-desk/ your DMX-infrastructure. Upon receiving certain DMX values the converter sends out data via its serial port. These data being sent out are part of Kramer’s Protocol-2000 command-stack.

This way you can control any Kramer device via DMX.

To keep operation as simple (and secure) as possible I did not implement the complete command-set of Kramer’s Protocol-2000 but only a few commands. In this example I only implemented the commands to change video-output of the Kramer device. Anything else is possible as well, of course.

 

A very early prototype on a breadboard. Most important stuff (the display…) is already working.

 

 

 

The circuitboard was developed using Fritzing. It was etched at PCBPool. I realized that I forgot to include the capacitors in the second that I unpacked the circuitboard. Afterwards it still took me ~2 hours to realize nothing was working because of those little bastards…

 

Duct tape and microcontrollers … Story of my life…

 

The last K2000-Protocol command is always displayed for debugging purposes.

 

That’s what my desk looks like during those phases.

 

Coming close to an end…

 

DMX-In, Serial-Out. DMX-address can esily be changed via the buttons next to the serial port. The next version will probably get some Serial-In as well.

 

Back side (Front side?)

As I already stated earlier I only implemented video-switching via K2000-Protocol. Switching other aspects (Audio, for example) will just be a minor change in code. It would  be possible to completely implement the K2000 protocol but I don’t think this is very sensible since it would probbly increase the chance of totally messing things up during normal operation.

[tube]http://www.youtube.com/watch?v=RvINrsS7DwI[/tube]

Sadomex

Simple A$$ DMX Over MIDI Expander

(a picture of a blue box….NOW I’ve seen it all)

As you already might have guessed this is a simple MIDI to DMX transceiver. It’s powered via USB and doesn’t need any additional drivers. On a German Windows XP it installs itself as an ‘USB Audiogerät’.

The aim of it is to have some practical solution to control lights with Ableton (any midi sequencer). In Germany we say “AEG: Auspacken, einschalten, geht” (which is a pun based on a german company’s name and means something like “unpack, switch on, enjoy”.)

There are, of course, other ways to control your lights via a midi sequencer. You could, for example, have a dedicated midi track in ableton to send out midi to your GrandMA onPC (any lighting software). This would give you the power of your lighting desk combined with the power of your midi sequencer.

On the other hand side this might be a little bit of overkill if you just want to drive some LED pars (or it might even be impossible if you never worked with a lighting software before). Furthermore you are always using your lighting software ‘blindsided’. you can just hope your midi clip triggers the correct chaser. I know from my experience that it really takes a lot of preparation to make sure every midi clip only triggers your desired lights. Many things can (and will) go wrong. Therefore it’s easy (and fun – somehow) to quickly edit your midi clip on your light-track (or group of tracks) and instantly see the changes you made. Don’t forget: If you are using midi clips you are automatically in sync with your sequencer. No need to send an extra clock signal etc.

However, you could also think about controlling your existing hardware lighting console via true DMX. Might lead to some interesting combinations if you are having a gig in a venue with a fixed lighting structure and a lightjockey who will give you control over his desk (as if that ever happened……).

Sadomex can send out DMX-signals based on incoming midi-notes or midi-CCs. The mode can be changed during usage. The communication works one way. It’s midi IN and DMX OUT.

512 DMX channels are supported. This is achieved by using different midi channels. Midi Notes/CCs 0-127 on channel 1 represent DMX channels 1-128. Midi Note/CC 0 (the first one….however you may count) on midi channel 2 represents DMX channel 129 and so on….

Naturally, the resolution is only half as precise as native DMX since midi only supports a range of 128 values and DMX supports 256. There could be different workarounds but that would only make it more complicated. This way, a midi note’s velocity of 127 (full) represents a DMX channel’s value if 255.

This video shows the device in action with an LED Par lamp. Notice how the lights stay in sync with the metronome:

This is how you configure Ableton to talk to Sadomex. In this scenario the first 128 DMX channels can be addressed due to the output channel being set to 1. If you would like to control a fixture with a start-address greater than 128 (and smaller than 256) you would set the output channel to 2. Realize Ableton’s possibilities to group tracks. This way vou could control a whole bunch of fixtures as if they were midi clips. The clips in the screenshot, by the way, are those from the video above.

A demo file for Ableton 8.2 can be downloaded here . It shows some basic patterns for controlling an RGB LED Par at DMX address 10.

I put together another example which is a little more complex. This one controls a Coemar iSpot 575 EB with a base address of 194. Notice how the output midi-channel of the iSpot’s tracks is set two ‘2’ in order to reach DMX-address 194. The pinkish coloured clips are chasers (e.g. continuously change colourwheel 2 between colour 5 and 6) whereas the blueish-green ones represent static values (gobowheel 1 set to ‘open’).

This is all done with Sadomex being in ‘Note’ mode (reacting to Midi notes and their respective velocity values…).In my eyes, Ableton’s workflow is not quite optimized for easily creating CC curves for this special scenario. Maybe it’s easy to achieve in-sync CC curves/values with other sequencers.

It surely IS a pain in the back to put together pan/tilt motion with midi notes. Furthermore you are really bound to a certain tempo when it comes to pan / tilt motion (a smooth tilt wave at 112 bpm like shown in the example won’t look as smooth at 65 bpm without being altered to a high degree).  On the other hand side it’s fun thinking about what you might be able to do with things like Ableton’s built in Midi Effects like Velocity, etc….

This time it’s being controlled via Akai’s APC20 which makes it even more fun.

Due to my 1337 computer skillz (not) it was absolutely impossible for me to convert my video -with- audio. If you look carefully you see the LED Par from the previous example in the bottom of the movie. It’s flashing in sync. At least you can get an idea of what it’s all about:

http://www.youtube.com/watch?z=0WCg3YXyItQ&feature=player_embedded

You can download the second example file here .

I’m not quite sure how to proceed with this right now. At the moment (october 2010) all my resources are tied to other things. Maybe I’m going to build a few ones when there is time and sell or swap them. Contact me if you are interested in a unit or if you have any questions regarding the device.

[Update 31.10.2010]

Oh Ableton how much I adore love like you! After playing with the above setup for a time I was not really confident with Ableton’s native possibilities for live-editing the Midi (i.e. DMX) output. For example: It’s a quite common task to make a moving head point to a certain position and make it do its motion arround this position then. This can basically all be done by simple note-to-dmx conversion but it’s not as dynamically assignable and  easy to do like you would with your dedicated lighting-controller (I guess you know I’m talking ’bout GrandMA…….). That’s why I had a look at Max 4 Live. Fortunately I have been tinkering with PureData before so the start was not that complicated for me. What came out is a nice little MAX midi effect doing all the necessary processing within one device:

(I later realized that what I built is nothing more than an ordinary MIDI-lfo.) What the effect does is that it creates a sine-envelope for the velocity values of the incoming notes (those notes which are played in the active clip). Since everything is midi-assignable the amplitude of the sine (= the size of the effect) and the offset (= the position the head is moving around) can either be selected from fixed and user-configurable presets or they can directly be controlled by a knob or a fader (assigned to the dials in the screenshot). The sine’s periodicity (=fixed multiples of the motion’s velocity) can be selected from four presets as well.

(Yes…you surely Do have to look a little bit careful to locate the mouse and its actions in the lower left corner of Ableton…)

See how the Pan/ Tilt positions can be selected by triggering one of the presets or how they can be controlled by the dial.

The output still looks a little …not perfect but I don’t care. It does the job quite well. One of the biggest advantages: It doesn’t send a ‘Note OFF’ when live’s transport is stopped. That leads to the fact that the last position is stored and the moving head does NOT reset to it’s ‘zero-position’. Good thing just in case you are in the middle of a show and need to stop live’s transport. Sure it’s a good idea to have those kind of effect on the dimmer channels too because that way lights will stay on even if you stop.

The video below shows this behaviour quite well.

http://www.youtube.com/watch?=rapt_2Bsvsk&feature=player_embedded

You can, as well, apply the Max4Live device (which doesn’t have an interesting name yet) to other channels. The colour wheel, for instance. The result is the same: You can select colours from one of the presets or apply a colour chaser or controll the position of the colour-wheel in realtime via the midi-assignable dial.

Das Ortofo Version 2

Das Ortofo V2 is a nice tool to use the Behringer BCF2000 fadercontroller with a GrandMa lighting desk. It gives you the functionality of using motorfaders and supports all the Elements of the BCF2000 to be used with GrandMA (onPC).

Here is a video to demonstrate its functionality:

I’ve built version 1 a few years ago and since then have been asked a lot of times about the possibility for USB support and whether I’m selling them.

Good news: Das Ortofo now supports native midi over USB. Furthermore did I build a batch of 10 devices which are all for sale (September 2010). Contact me if you want to get one.

The following diagram shows how everything is connected (click for larger image):

Continue reading