For reasons only the BBL MV can explain, several building of the University of Rostock have been equipped with Dynacord P64 digital mixers. They have only one drawback: They come only with a PC interface. Which is something you do not want to use in some situations. Instead, you start wishing for a physical mixer console, which is nothing, Dynacord offers (ATM and AFAIK). Please be aware that this page is an artifact, i.e., I never finished the project. However, after having it sit on my desk for 4 years, I'm pretty sure this is about it. And it's still too insightful to toss it, at least in terms of knowledge regarding the P64.

The situation

When new lecture halls are equipped, the question of PA infrastructure rises. Lately, those who decide seem obsessed with digital mixers. Those surely work fine, but they have one major drawback: They have no classic mixer console interface. Instead they come with a rather complicated Windows Program (e.g. Iris-Net) resembling a mixer on the (touch-) screen. Steering a mixer using a click-and-point device such as a mouse is no problem if there is no need for quick use.
Imagine the following situation: You are lecture hall technician for a rather big event. Your task is mixing signals from microphones (one at the lecturer's desk and a wireless one) and two computers which may be used during the event. Extra challenge: You have no idea, what exactly will happen. You follow the happening -- and react. Quickly. Opening a microphone two seconds late is something noted by everyone in the room. Thus, you need to coordinate the following sequence as fast as possible:

As you may have noticed: Changing an input level is a foreground task, meaning you cannot do this while keeping your visual attention at something else. This is a major difference in comparison to a classic console with pots at your fingertips -- starting with the possibility of controlling multiple input levels at a time compared to a GUI in which you have only one mouse pointer and thus cannot modify more than one setting at a time. Oh and the application cannot be controlled by keyboard, of course.

Yeah, thay may totally be a question of training. I do not have it. And I do not know anyone who has.

What about using a touchscreen? It is an option, of course. But it suffers from such severe backdraws that you cannot really use it, too: First, to allow modification of multiple settings at once, the application (and the underlying system) need to support multi-touch. Seccond, there is still no taktile feedback, i.e. the user needs to touch the screen exactly where he wants the slider to slide to. Third, there is a good chance to modify the wrong setting by accident (since my fingertip is not shaped like a pencil). Finally, I still need to focus myself on a screen instead of keeping my attention where it belongs -- the stage (or in my scenario: the lecture event).

The solution

The solution is to build a physical input device resembling a classig mixer console. The solution can be divided in three sub-problems:

We will start with the last subproblem since it is the first to be solved: The P64 serial interface. We then will take a look at possible input devices and finally will deduce the necessary data processing.

The serial interface

The P64 features two serial interfaces (by default configured to 19200 Baud, 8N1) which can be switched to a communication parser mode using Iris net. In this mode, you can conect via serial console and have complete control over the P64 -- including firmware updates and low level settings such as network addresses and the like (you may thus want to install the P64 at a safe place where you can control physical access). Anyway, you get a command line interface. After booting, it shows a prompt.

The input is read line based. The command ? provides a list of possible input in the current context. You can switch to e.g. the param context:
> param
You can switch one level up using ...
PARAM > ..
You may also provide deep-links to contexts:
> param/dsp
Now, we want to modify the settings of the digital sound processing (DSP). In the DSP context, you can select the components known from the Iris net software. In our case, we want to change settings of mixer 5, as it is connected to analog ouput 7 -- the local PA.
> param/dsp/mixer_5
The folks at dynacord decided to group the settings according to semantics, not to channels. Thus, you select a property and then a channel. The channels are identified as IDX_1, IDX_2 and so on.
The sub-mixer has multiple settings which can be modified. To build a remote, the most important are To change a value, you have to send it. Either as one-token-command in a suitable context or as seccond token following an absolute context specification.
Specification within context navigation:
> param
PARAM > dsp
PARAM/DSP > mixer_5
PARAM/DSP/MIXER_5 > mutein
Absolute specification:
> /param/dsp/mixer_5/mutein/idx_5 0
Note that the context is changed, too.

This is basically it, this is all we need to remote control the P64 mixer. We only need to know which mixers, but these informations can be acquired easily using a serial terminal emulation and the Iris net software. By now, we are able to build a software mixer. But accidentially this is not what we want. We want more. We want a physical input device. That's next.

Keep in mind that you are root when accessing the P64 via serial line. You can not only change settings but also delete or destroy the complete setup which may cause not only pain but also money for re-setup.

The input device

Once you know how to change parameters, you start phantasizing at once. Building a remote seems very feasible -- a nice metal chassis, mixers, switches, AD-converters and a microcontroller -- done. Yeah, but then you start calculating. A good fader is about 20 Euros. A good, LED-lit switch about 2 Euros. Ouchey. There should be an easier way... and yes, there is: You can always abuse other devices. My eyes fell onto some cheap lighting equipment. They use physical consoles, too. And they do have a standartized protocol -- DMX. A 6-channel DMX-controller is available for 35 Euros! Ok, it has 60mm-faders and not the desired 100mm-faders but for a proof of concept it's still great.
If we find a way to read DMX from a PC, all we need to build is some program. Which is somewhat great as it reduces the hardware building process to buying well-tested and known equipment. Yay!

First approach: Getting the DMX into the computer. There are plenty of DMX-to-USB-converters around but that seems overkill. I mean, we do not need a fancy virtual lighting console (were did we just come from... ah, right). We just want to read DMX datagrams and process them. So, a converter to classic rs232 would be perfectly fine.

The software

The software's purpose is roughly clear, there is only one further challenge: In DMX, values range from 0 to 255. On the P64, we need dB-values, ranging from -70 to either 0 or +20 (if the channel supports gain as inputs and outputs do but not submixers). And, there's more: Since our hearing is quite non-linear, we will want a non-linear mapping, too. The difference between -65dB and -60dB is quite hard to hear. But the difference between -5dB and 0dB is the difference between talking or needing to scream into the ears of a person sitting next to you. Thus, I suggest the use of a hard-wired mapping, as it is a) fun and b) allows much faster access to dB-values than calculation when present as an array.

... and that's it.

... and this is where this article stub ends. It's been sitting on my todo-stack for 4 years now and it's highly unlikly to be going anywhere. If I can help someone by publishing the non-openly documented details on the P64s serial control, you're welcome.

Have a nice day.