Split level meters locations (pre - post). Combined RMS / PPM meters.

It would be interesting to have independent control for the meters location. So that we can choose for example pre fader in the meter bridge, and post fader in the lower mixer channel meter.

According to what i’ve seen, the pre - post option is changing both meters at the same time.

Interesting too, be able to choose independently the meter type. For example have a PPM meter in the bridge, and an RMS meter in the lower meter.

Combined ppm/rms meter would be useful too in the mixer (same as the master meter), or an option to add a crest factor meter.

It would be nice.

This is more processing but…

Probably, this could be done efficiently with OpenCL using the GPU of the video card.

Mixer level metering are massively parallel graphic tasks with a quite low CPU to GPU communication bandwidth. Seems to be a good candidate.

When It’s difficult to use OpenCL for audio processing tasks, because of the massive communication bandwidth required, using OpenCL for such parallel graphic tasks with light CPU to GPU bandwidth should be efficient.

Amdahl’s law say that the more the tasks can be parallelized, the more there is a benefit to use OpenCL. For a mixing session with many tracks, OpenCL is certainly a good option.

OpenCL is not efficient when there is a lot of communication bandwidth between the CPU and the GPU because this involve too much context switching. But for level meters, the bandwidth is approximately only about 50 values per second (can be 8 bits values) for each meter, for a smooth 50 frames per second display. To be compared with audio where 24 bits value and 48 000 samples per second or more are needed for each track.

Another aspect is that OpenCL code can be non blocking. This seems interesting for level meters, the GPU can return control back to the the calling thread CPU prior to completing its work.

The nice thing using OpenCL and OpenGL is that as soon as the GPU receive an audio level, it can compute the corresponding display bitmap for it, and display it without touching the CPU. So the CPU loading is almost zero.

NVidia has an interesting paper to understand what can be done with OpenCL and how to do it : OpenCL best practices.