Jack plug as logo for the webpageFabian S. Klinke

Lippo: Audio File Management for Mixing Engineers

Motivation

Audio engineers and, more specifically, in the context of this project, mixing engineers, receive many files from clients on an almost daily basis. This exchange of files happens in different ways, ranging from exchanging already prepared Pro Tools sessions to sending a folder with separate audio files for each channel or instrument.

In the latter case, the engineer first has to import the files into their DAW and organise them in a way that makes sense for the project and their workflow before being able to start the actual mixing process. This process can be very time consuming and tedious, especially if the client sends a large number of files. This is where Lippo comes in, a software that aims to help audio engineers be more productive when importing and organising large sets of files.

So what does it mean to "clean" the files before they are ready to be imported? Some of the main issues that I came across when working with files from clients are:

  • Repeating file names: the same pattern (like the name of the project) is repeated in every file name, making it hard to distinguish between the files.
  • Inconsistent file formats: different formats, sample rates, and bit depths.
  • Stereo Files that only contain a panned mono signal. This makes it hard to change the panning in DAWs like Pro Tools, while also increasing the file size.
  • Empty Files that contain no audio data, but are still present in the folder.

Features

Processing View with overall settings
Processing View with overall settings

Stereo Analysis and Panning Reversal

Lippo introduces an innovative feature that analyses stereo files to detect if they contain a panned mono signal. If a file is found to be a mono signal panned to one side, Lippo can reverse the panning and convert the file into a true mono file. This process not only saves valuable storage space but also provides more flexibility in mixing by allowing engineers to decide the panning themselves.

Stereo View with analysis of panning inside steoreo files
Stereo View with analysis of panning inside steoreo files

Basic Level Analysis and Gain Compensation

Another key feature of Lippo is its ability to analyse the basic level of audio files and apply gain compensation. This ensures that all files are at a consistent level before mixing, greatly reducing the preliminary work required to balance the tracks in a session.

Even more so it computes a gain compensation for each panned mono signal with the computed panning value. This way we can ensure that the gain of the signal is exactly the same as before it was originally panned.

Levels View with all level matrics and resolved gain
Levels View with all level matrics and resolved gain

File Renaming with Pattern Detection

To tackle the issue of repetitive and unhelpful file names, Lippo employs a smart pattern detection algorithm that identifies and removes unnecessary patterns from file names, such as the project name repeated in every file. This leaves behind a clean, concise name that makes it easier to identify and organise tracks.

Renaming View with detected repeating pattern
Renaming View with detected repeating pattern

Implementation

In the development of Lippo, I sued SwiftUI to create a modern and user-friendly interface that is both intuitive and visually appealing. The app is built using the MVVM architecture, which separates the data and logic from the view, making it easier to maintain and extend the codebase.

The core-audio engine is built in C++ and uses the JUCE framework to handle audio processing tasks such as stereo analysis, panning reversal, and gain compensation. This allows for efficient and high-performance audio processing that can handle large sets of files with ease. However, I am currently in the process of reimplementing the core-audio engine without JUCE, to make the app more lightweight and easier to maintain. This also will allow for support of multi-channel audio files.

Here is an Overview of some of the algorithms and research that went into the development of Lippo:

  1. A Detailed Overview of Panning-Functions
  2. An Algorithm to Reverse Stereo Panning

Conclusion

Lippo represents a significant step forward in streamlining the workflow of audio engineers, particularly those involved in mixing. By automating the tedious process of file organisation and preparation, Lippo not only saves time but also enhances the creative potential of engineers.

As the project evolves, further improvements and features will continue to address the needs of the audio engineering community. The ideas are endless, however, currently the development of Lippo is on hold, as I am focusing on other projects - but I am looking forward to continuing the development in the future.


Read my Bachelor Thesis

Download Lippo


If you want to cite this article, you can use the following BibTeX entry, but you of course dont have to!
@misc{klinke2022:lippo,
    title = {Lippo: Audio File Management for Mixing Engineers},
    author = {Fabian S. Klinke},
    year = {2022},
    howpublished = {\url{https://www.klinke.studio/writing/lippo}},
}