Synthax

Skip Navigation

TotalMix Part 1: The Hammerfall DSP Mixer - Hardware and Technology

The DSP in the FPGA

The Hammerfall DSP series includes several DSP functions - without having a DSP on board. Since our first card (the Digi24), RME goes for FPGAs (Field Programmable Gate Arrays.) Instead of working with hard-wired chips (like multimedia codecs), which offer functions implemented by the manufacturer, we use our own circuits, that are completely designed by us. This is possible with the FPGA, which is, in contrast to an ASIC (chip manufactured according to a customer's demands), even re-programmable. In the past, it was necessary to change an EPROM on our cards for this. The Hammerfall DSP's hardware configuration inside the FPGA can even be updated by a software / driver update.

FPGAs have become more powerful during the years. The newest generation used for the Hammerfall DSP (Xilinx Spartan 2) allows for computations in an FPGA (provided the designer is clever), that could only be performed by DSPs before. Even better: Again we have been able, thanks to optimal adaptions, to surpass the performance of pre-configured devices (Motorola, Sharc etc.) in the functions needed! Our mixer, for instance, processes up to 1456 channels internally with 100MHz and uses far more than 500MByte/s memory bandwidth - with this alone, a Motorola DSP is completely busy. Our FPGA on the other side, calculates the peak and RMS levels of 52 channels at the same time! Only as a side note, we may point towards the also included 3 ADAT receivers and transmitters and a completely digital SPDIF receiver and transmitter ...

In the following, the basic technology behind the Hammerfall DSP mixer is being described, including its realization in hardware with bits and bytes. Information regarding the software user interface, which presents all features easily overseeable and manageable, can be found in the Tech Info TotalMix: Software, features, operation.

What for ...

... do I need a mixer in an I/O-card? There are several scenarios:

  • setting up delay-free submixes (headphone mixes)
  • unlimited routing of inputs and outputs (free utilization, patchbay function)
  • distributing signals to several outputs at a time
  • simultaneous playback of different programs over only one stereo channel
  • mixing of the input signal to the playback signal (complete ASIO Direct Monitoring)

The last point was most important for us at the beginning. Our present hardware (DIGI96 and Hammerfall series) were only working in replace mode because of the missing mixer, i. e. on the track just being routed input to output, you could only hear the input signal, but not the playback signal. This 'tape recorder mode' was a big step forward at the time, but it requires an additional external mixing console. With increasing computing power and improved software, more and more users want to use the 'mixer' provided with the software though. In order to hear the input signal together with the playback signal during monitoring, there are only two ways to achieve this: either the latency / buffer size of the card is so small (ideally under 6ms) that the software can completely calculate the data, or the card mixes input and playback signals on its own, so that monitoring can be latency-free (because the signal goes directly from input to output inside the hardware.)

In principle, a mixer being able to mix every input to any playback track once would have been sufficient - perfect ASIO 2.0 Direct Monitoring. After some thinking, however, this was way too little for us. If at all, it should be possible to mix any input channel into any number of playback channels - more flexibility has never been a drawback.

From this point, it was not far to the next demand: The playback tracks should be entirely mixable and routable in the mixer. This would allow for creating several completely independent submixes and freely routing the playback channels. Finally, when summing several tracks onto one, there will soon be too high a level: digital overload. Therefore, the levels of the physical outputs must be reducible. And because the playback tracks always pass the mixer, there must be a transparent 'unity gain' setting, guaranteeing bit-accurate playback. You can see already: even without effects and EQ, a mixer can become quite demanding ...

Internal

The essential criteria for the power of a digital mixer are the number of channels that must be processed simultaneously, and the internal resolution. Example Digiface: 26 inputs plus 26 playback tracks can be mixed to 28 physical outputs in any order. This means (26 + 26) x 28 = 1456 combinations simultaneously possible. The mixer must be able to calculate 1456 channels!

As long as monitoring would have been the only point for this concept, one would have got away with 16-Bit resolution. Including the playback tracks, this is no longer possible. Because they are always routed through the mixer, it does not only have to have higher resolution than 24-Bit in order to avoid rounding errors for gain changes, but it also has to supply additional headroom for gain rises and the summing of several channels.

Extremely high resolution does not make sense and causes a high consumption of resources within the FPGA. We have therefore decided to have a basic fixed-point arithmetic with the following values:

  • The multiplier has 40 bit resolution. This comes from a maximum audio resolution of 24-Bit, that can be altered in gain with a resolution of 16-Bit (65563 steps) with a fader (24 + 16 = 40.)
  • The adder has 36 bit resolution. From these, 7 bit are used for the necessary headroom (up to 52 channels with 6 dB gain can be mixed to one channel.) The audio signal has again 24-Bit resolution, the other 5 bit are used for the LSB to decrease rounding errors.
  • The output signal is truncated to 24-Bit without dither.
  • Faders: 16-Bit resolution, equals 65536 steps, which are provided following a special function for correct perception. Gain change input and playback channels: +6 dB down to maximum attenuation. Outputs: 0 dB down to maximum attenuation. Because of the screen display, the number of values that can be set with the mouse is dependant on the number of pixels. This is 137. In fine-mode (shift key), this value is multiplied by 8 for 1096 different gain values.
  • Pan: pan law 6 dB. This means, the signal is attenuated by 6 dB in center setting. From center to left and right, there are 50 steps on either side. Linearly processed and displayed, from L 1.00 via 0.50 (C) to R 1.00.

Total Overload

As mentioned before, the mixer has two fundamental properties: It can not be overloaded and offers bit-accuracy at unity gain, i. e. it passes 24-Bit CRC tests.

In order to avoid internal overloads when summing (of 52 channels with +6 dB gain each in this case), the 24-Bit resolution of the input signals is not enough. Mixing of signals means adding, i. e. the new signal generally has a higher level than the single input signals. The worst case is completely correlated, in other words identical signals: already for two signals, the output level is twice as high (+6 dB.) With every further addition this factor is decreasing though.

The overload safety of TotalMix can be demonstrated easily even without truck loads of external hardware. The following examples were made using the software HpW Works (to generate and analyze the test signal), a Digiface and a DIGI96/8. The oscilloscope used is a Tektronix TDS 210, connected to the analog output of the Digiface.

First, we digitally generated an interesting test signal (gotta have some fun ...), consisting of several sines with 0dBFS altogether, highest possible digital level in other words. In an application, the recorded signal was then sent to all 26 tracks of the Hammerfall DSP and still played back unaltered. The inputs and outputs of the Digiface used in this test were connected together, applying the played back signal also to all 26 inputs.

 

Mix 0 dB

By means of TotalMix, all playback and input channels were now routed to the left channel of ADAT 1 (1+2.) This way, 52 channels sum up into one. For analysis, the output signal ADAT1 was routed through a DIGI96/8. As can be seen in thisScreenshot, output channel 1 is of course totally overloaded, but after attenuation of the output level with the fader by ca. 40 dB, the signal presents itself unaltered.

 

Mix 52 Channels

This test is easy to follow up, but in fact not completely correct, because the signals at the inputs are delayed by two samples, which is the reason for the addition not being ideal. By the way, the addition of identical signals follows simple mathematical laws: log(10) of the number of channels, multiplied by 20 (same procedure as other dB-calculations in the audio field). This leads to some 34.3 dB, plus 6 dB max. gain, equals 40.3 dB. The overload headroom of TotalMix is 7 bit, translating to 7 x 6 dB = 42 dB, and is thus covering the theoretical maximum. In real life, the level rise is much less, because the added signals have less in common (correlation.)

 

Signal Quality

Besides, the signal quality is of course very important when making gain changes. The source signal should ideally not be changed, no matter how strong the level may be changed. This is only possible within limits though. For decreasing levels, the lowest components of the signal get lost automatically because of the limited resolution at the ports. In this case, we speak about 24-Bit, meaning levels below -144 dBFS.

As can be seen in the figure below, with 24-Bit it is well possible to create and display levels below -144 dBFS. The 2nd harmonic of the test signal e. g. is at -160 dBFS. By attenuation by 10 dB it can be shown without effort that TotalMix leaves the original signal unaltered (no visible distortions, no change of the level relations.) Even the 2nd harmonic shows cleanly at -170 dBFS.

 

Mix -10 dB

Attenuating by 30 dB lets the signal dive under the measurement limit of the FFT, i. e. the noisefloor. This noisefloor - in reality quantization distortions - is generated by truncation at 24-Bit, in this case caused by outputting the test signal via an ADAT port.

In conclusion, or 'Summing up', we can say: TotalMix causes practically no signal degradation thanks to simple fixed point arithmetic. Signal-to-noise ratio (SNR) and total harmonic distortion (THD) of the original signal are left practically unchanged.

But what happens, if the user does not see the overload display and the signal is clipped in spite of the headroom at the output? With a bad design, this may lead to calculation errors that can show as folding down of the original waveform in the anti-phase direction for the whole duration of the clipping. Even shortest impulses, which could be clipped inaudibly otherwise, cause dreadful and loud distortions.

 

tmscope1

Again TotalMix works exemplarily and limits the signal as clean as a precision brickwall limiter, without causing further disturbances. The left picture shows a full scale sine of several inputs mixed on one output. The right picture shows TotalMix limiting peaks in music, performing like a digital peak-clipper.

Software

All further functions necessary for easy and practical use are not determined by the hardware, but the software, which controls the hardware functions. This includes:

  • storing of all settings
  • special functions by hot keys: fader to 0, pairwise configuration, fine-mode etc.
  • mute and solo functions
  • different display modes

More information on this topic can be found in the Tech Info TotalMix: Software, features, operation.

Glossary

16-Bit: 65,536 level steps or 96 dB theoretical dynamic range

24-Bit: 16,777,200 level steps or 144 dB theoretical dynamic range

ADAT optical: TOSLINK interface using the Alesis protocol. Allows for up to 8 channels at 24-Bit resolution and 48 kHz sample rate

Audio word length:: Resolution of the digital signal in bit

Bit: Smallest digital unit. With respect to resolution, 1 bit translates to 6 dB of dynamic range

dB: Decibel, logarithmic value for easier display of relations

dBFS: dB Full Scale. Logarithmic level value relative to digital maximum level

DR: Dynamic Range. Relation of maximum level to noise level with a stimulating signal at -60 dB

FFT Analysis: Fast Fourier Transform. Spectral decomposition of any given signal

LSB: Least Significant Bit

Sample rate: Number of samples / probes being taken of the audio signal within 1 second

SNR: Signal-to-noise ratio. Relation of maximum level and noise level.

THD Total Harmonic Distortion. sum of 2nd to 10th harmonic in relation to 1st harmonic.

Truncation: Cutting off the less significant bits of an audio signal.

Top

TotalMix Part 2: The Hammerfall DSP Mixer - Software, Features, Operation

Having introduced the hardware design in the Tech Info TotalMix: Hardware and Technology, this Tech Info describes the software aspect. We have tried to render all functions of the hardware mixer in a simple and effective way via a practically oriented user interface. See for yourself...

The Concept

As explained in detail in Part 1, TotalMix hardly knows any limitations. When mixing all channels simultaneously with each other while being able to mix one channel several times differently onto other channels, bus and inline structures customarily found on analogue consoles won't suffice. The mixer surface, however, should of course appear in a known way in order to shorten the time needed to get used to it. Conventional designs with batteries of subgroup and routing buttons? With analogy to analogue consoles, channel routing would be doubled, the master section would then have 28 subgroup faders. The usual appearance of a mixing console would still be missing, because TotalMix doesn't have either EQ nor aux sends - what remains are faders, pan-pots and the many many buttons ...

After dismissing numerous concepts, we ended up exactly where the company Steinberg has been with Cubase for a long time. Actually, the well-known Cubase mixer is the (almost) perfect answer for unlimited routing possibilities. And because something (almost) perfect can hardly be done better, TotalMix looks like a simplified variant of the Cubase mixer (no effects, no inserts etc.) - anyway, at first sight. Beneath the surface, we have chosen different ways though, we'll come back to this later. Another important condition was the maximum size: the whole mixer should fit into a 1024 screen, which has determined the appearance significantly.

Elements of the Surface

The visible design of the mixer is mainly determined by the architecture of the HDSP system:

  • Upper row: hardware inputs. The level shown is that of the input signal, i. e. Fader independent. Per fader and routing window, any input channel can be routed and mixed to any hardware output (third row.)
  • Middle row: playback channels (playback tracks of the software.) Per fader and routing window, any playback channel can be routed and mixed to any hardware output (third row.)
  • Lower row: hardware outputs. Because they refer to the output of a subgroup, the level can only be attenuated here (in order to avoid overloads), routing is not possible. This row has two additional channels, the analog outputs.

TM Channel Strip

The two additional outputs in the lower row cause some free space above on the right side, used for a Quick Access Panel.

Every single channel has various elements:

Input and playback channels each have a mute and solo button.

Below each there is the panpot, realized as indicator bar (L/R) in order to save space.

In the window below this, the present level is displayed in RMS or Peak, being updated about every half a second. Overs are indicated here by an additional red dot.

Then comes the fader with a level meter. The meter shows both peak values (zero attack, 1 sample is enough for displaying full scale) by means of a yellow line and mathematically correct RMS values by means of a green bar. The RMS display has a relatively slow time constant, so that it shows the average loudness quite well.

Below the fader, the current gain and panorama values are shown.

The white area shows the channel name, the black area shows the current routing target.

 

Tour de TotalMix

TM Select

Join us for a Tour de TotalMix, where we will explain all functions of the surface step by step. Starting up TotalMix, the last settings are recalled automatically. When executing the application for the first time, a default file is loaded, sending all playback tracks 1:1 to the corresponding hardware outputs with 0 dB gain. The faders in the upper row are set to maximum attenuation (called m.a. in the following), so there is no monitoring of the input channels.

We will now create a small submix for the analogue headphone output. Please start a multitrack playback and connect your headphones to the analogue output. In playback channel 1 (labeled 'Out 1'), click onto the routing window below the label. A list pops up, showing a checkmark in front of '1+2'. Click onto 'Analog'. The list disappears, the routing window no longer shows '1+2', but 'Analog'. Now move the fader with the mouse. As soon as the fader value is unequal m.a., the present state is being stored and routing is activated. Move the fader button to around 0 dB. The present gain value is displayed below the fader in green letters. In the lower row, on channels 27 and 28 (AN.L. and AN.R.), you can also see the level of what you are hearing in the phones. The level meter of the hardware output shows the outgoing level. Click into the area above the fader and drag the mouse in order to set the panorama, in this case the routing between channels 27 and 28. The present pan value is also being displayed below the fader.

Please carry out the same steps for 'Out 2' now, in order to route it to the analogue output as well.

Often signals are stereo, i. e. a pair of two channels. It is therefore helpful to be able to make the routing settings for two channels at once. Press the Ctrl-key and click into the routing window of 'Out 3' with the key pressed. The routing list pops up with a checkmark at '3+4'. Click onto 'Analog'. Now, channel 4 has already been set to 'Analog' as well.

When you want to set the fader to exactly 0 dB, this can be difficult, depending on the mouse configuration. Move the fader close to the 0 position and now press the Shift-key. This activates the fine-mode, which stretches the mouse movements by a factor of 8. In this mode, a gain setting accurate to 0.1 dB is no problem at all.

Advanced users will probably have only cross-read this section, because this implementation is both intuitive and common. But now it's getting interesting. Please set 'Out 4' to a gain of around -20 dB and the pan close to center. Now click onto the routing window. You'll now see two checkmarks, one at '3+4', the other one at 'Analog'. Click onto 'SPDIF'. The window disappears, fader and panpot jump to their initial values, the signal can now be routed to the SPDIF output. You can continue, until all entries have got a checkmark, i. e. you can send the signal to all outputs simultaneously. This is one of several differences to the Cubase mixer, which does not allow for multiple selections.

You will certainly have noticed that the headphone mix has not changed, while you were routing the channel to other outputs and setting different gain values. With all analogue and most digital mixing desks, the fader setting would affect the level for every routed bus - not so for TotalMix. TotalMix allows for setting all fader values individually - a feature owners of many expensive digital consoles would like to see on their desks. Therefore the faders and the panpots jump to the appropriate setting as soon as another routing is chosen.

Back to 'Out 4'. How to get rid of the checkmark, that is to say the routing? Just by moving the fader to m.a. This setting deactivates the routing...why route if there is no level?...Click onto '3+4' in the routing window, pull the fader down, open the routing window again - the checkmark is gone.

 

Such a wide range of possibilities make it difficult to maintain the overview. Because practically all hardware outputs can be used for different submixes, as shown. And when opening the routing windows you might see an army of checkmarks, but you don't get an overview, i.e., how the signals come together and where. This problem is removed by the (truly ingenious) view mode 'Submix'. In this mode, all (!) routing windows jump to the routing pair just being selected. As can be seen in the picture, you can then see immediately, which channels, which fader and pan settings make a submix (here 'Analog'.)

 

Mute works pre-fader, thus mutes all active routings of the channel. As soon as any Mute button is pressed, the Master Mute button lights up in the quick access area. It can switch all selected mutes off and on again. You can comfortably make mute groups to activate and deactivate this way. The same holds true for the Solo and the Master Solo buttons. Solo is working as a solo-in-place. As soon as one Solo button is pressed, all other Mute buttons are activated and light up. But TotalMix would not be an Intelligent Audio Solution, if it didn't behave as you'd expect from a mixing console. If you, for instance, mute 'Out 1' to 'Out 4' and press Solo for 'Out 5', of course all Mute buttons will light up. If you deactivate Solo, the Mute buttons for 'Out 1' to 'Out 4' light up as before. And if you chose Solo for a channel of this Mute group, mute will be deactivated, but immediately activated again, if Solo is released. Exactly as it should always be (but hardly anywhere is....)

Hotkeys

TotalMix knows only a few, but very effective key combinations, that make work (read: setting the mixer up) considerably easier and faster. The Shift-key for the fine-mode for faders and panpots has already been mentioned. But the Ctrl-key can do far more than changing the routing pairwise:

  • Clicking anywhere into the fader area with the Ctrl-key pressed, sets the fader to 0 dB, -6 dB for the hardware outputs.
  • Clicking anywhere into the pan area with the Ctrl-key pressed, sets the panorama to meaning 'Center'.

The faders can also be moved pairwise, corresponding to the stereo-routing settings. This can be achieved by pressing the Alt-key and is especially comfortable when setting the SPDIF and analogue output level. At the same time, TotalMix also supports combinations of these keys. If you press Ctrl and Alt at the same time, clicking with the mouse makes the faders jump to 0 dB pairwise, and they can be set pairwise by Shift-Alt in fine-mode.

Also very useful: the faders have two mouse areas. The first area is the fader button, which can be grabbed at any place without changing the position. This avoids unwanted changes when clicking onto it. The second area is the whole fader setting area. Clicking into this area makes the fader jump to the mouse at once. If you want to set several faders to m.a. for instance, it is sufficient to click onto the lower end of the fader path. Which happens pairwise with the Alt-key pressed.

The Quick Access Area ...

TM Scroll

... really justifies its name. You can find some options here, which make using TotalMix child's play and almost revolutionize monitoring. We have already described the Master Mute and Solo buttons, they allow for group-based working with these functions.

In the View section the single rows can be made visible or invisible. If the inputs are not needed for a pristine playback mix, the whole upper row falls out of the picture after a click on the input button. If the hardware outputs don't interest you either, the surface can thus be reduced to the playback channels to save space. All combinations are possible.

Submix sets all routing windows to the same selection as described before. Deactivating Submix automatically recalls the previous view.

By the way, the mixer can also be made smaller horizontally, and, scrolled. TotalMix can be made substantially smaller and space-saving on the desktop/screen, if you have to monitor or set only a few channels.

The Presets are one of the mightiest and most useful features of TotalMix. Behind the 8 buttons, 8 files are hidden. These contain the complete mixer state. Just try it: all faders and other settings follow the changing of preset(s) in real-time, just by a single mouse click. The Save button allows for storing the present settings in the present preset. You can change back and forth between a signal distribution, complete input monitoring and various submixes without any problem.

 

TM Fast

Also here, RME's love for details can be seen. If any parameter is being altered after loading a preset (e. g. moving a fader), the preset display flashes in order to announce that something was changed, still showing, which state the present mix is based on.

If no preset button is lit, another preset had been loaded via the File menu and 'Open file'. Mixer settings can of course be saved the usual way, and with long file names.

Up to three Hammerfall DSP systems can be used simultaneously. The Card buttons switch between the systems. Systems, because card 1 can be a Digiface, but card 2 can also be a Multiface.

It remains to mention that the number of ADAT channels is reduced to half automatically when choosing double speed operation (88.2 or 96 kHz). The display is adjusted accordingly, fader settings remain stored via a complex algorithm.

The Level Meter

Having set a new standard with the level meters of DIGICheck, we could of course not compromise for Hammerfall DSP. However, this time the level meters should be realized in hardware, in order to be capable of using them independent of the software in use. Besides, the CPU load for calculating the RMS values for 52 channels with a decent display would not have been unproblematic.

The level meters integrated in TotalMix - considering their size - cannot be compared with a pure meter bridge (available later). Nevertheless, we have integrated all our know-how and many useful functions already here.

Peak and RMS is displayed for every channel. 'Level Meter Setup' makes various options available:

  • Display range 40 or 60 dB
  • Peak Hold time adjustable
  • Numerical display selectable either Peak or RMS
  • Number of consecutive samples for Overload display (1 to 15)
  • RMS display absolute or relative to 0 dBFS

TM ADI8

The latter is a point often overlooked, but nonetheless important. RMS shows 3 dB less for sine signals. This is mathematically correct, but not very reasonable for a level meter. Therefore, we had corrected DIGICheck's RMS display by 3 dB, a full scale sine signal shows both 0 dBFS Peak and RMS. This setting also yields directly readable signal-to-noise values, while other applications (like WaveLab) will show a value 3 dB better than actual (because the reference is not 0 dB, but -3 dB.)

The value displayed in the text field is independent of the setting 40/60 dB, it represents the full 24-Bit range of the RMS measurement, thus making possible a SNR measurement 'RMS unweighted', which you would otherwise need extremely expensive measurement devices for. An ADI-8 DS connected to the Digiface will therefore show around -113 dB on all 8 channels.

We are aware of the fact that this level display might cause some alarm, constantly bringing the reduced dynamic range of your equipment, maybe of the whole studio, in front of your eyes. Nice to have everything 24-Bit - but still noise and hum everywhere in the range around -90 dB or worse ... sorry, but this is hard reality. The up-side about it is that TotalMix allows for constantly monitoring the signal quality without effort.

Thus it can be a valuable tool for sound optimization and error removal in the studio.

Conclusion

With a file size of only 200 kB (despite all bitmaps, graphic elements and elaborate functions), TotalMix sets its mark also regarding the need of resources. We are absolutely sure: TotalMix will make you enthusiastic, our competitors unsure, and set a new standard even in the area of typical DSP-based I/O-cards - a standard others will have to compete with. And this is only version 1.0 ...

Copyright © Matthias Carstens.

All entries in this Tech Infopaper have been thoroughly checked, however no guarantee for correctness can be given. RME cannot be held responsible for any misleading or incorrect information provided throughout this document. Lending or copying any part or the complete document or its contents is only possible with the written permission from RME.