A tool that automates the measurement of dynamics in publicly available music sources.
It can be used to find new music albums that are less affected by the effects of the loudness war.
Most modern music has an enormous amount of compression and limiting applied. This often causes fatigue when listening to it for longer periods of time. In addition, the compressed music sounds flat and lifeless compared to music that has some (micro-) dynamics retained. This is the result of the so called Loudness War.
It is not easy to find music that is not that much affected by this problem, since music is not publicly tagged with it’s dynamic characteristics.
There are sources where information about the characteristics of dynamics for some music can be obtained. They are
Volume / Normalized), orUsing these sources works, but
(Preferring and searching for dynamic music doesn’t automatically mean to abandon overcompessed and overly limited music - having the possibility to search for more dynamic music though, is an advantage for some people.)
This tool is made to hopefully fill the gap mentioned above and automate the manual process of filtering the available music by its dynamics.
It does so by measuring publicly available music previews, which are available today from the official web pages of music providers (like YouTube, Spotify or download stores).
The measured results are available in the app and can be filtered by genre. They also provide a direct link to open the music source in a browser for listening to the music right at the provider source.
Already scanned albums that exist in the archive are not scanned
again. They are instead identified through their source link and
directly fetched from the archive and therefore don’t consume
computation power and time.
Duplicate results are shown in black and white in the results list.
The retrieved result data is stored in a human and machine readable text file (json) on the machine running the software.
Results folder:
~/.local/share/org.topas-rec.loudless-lib/results
The files can be be used to build a personal database of music
dynamics.
In addition those files can be exchanged with others (to build up
something like the Dynamic Range Database).
The distribution of results is out of scope of this app. The app uses files as a universal interface to other tools, for example to exchange the results with the community.
This section is controversial - people might have different opionions regarding this topic.
To detect how dynamic a piece of music is (or how much compression and limiting is used) this software currently uses the crest factor.
To calculate the average loudness and the (true) peak values, which are required for calculating the crest factor, this software uses the EBU R 128 (ITU-R BS.1770) standard.
The tool might be extended for example by using the * the DR score (defined by the Pleasurize Music Foundation in 2009), too.
The music currently trims the music previews down to a duration of 60
seconds.
To skip the intro present in most music, which is often very dynamic and
might bias the result, the software skips the first 30 seconds of a
music preview, if its length allows for it.
This software is currently created for linux only, but with some changes it should be buildable for Windows, too.
The software follows broader parts of Semantic Versioning for releases.
This software consists of two parts:
Given this architecture, the tool can be extended for example by * a terminal executable that can be used on headless servers to continously scan music sources
The software was developed with the GNOME Human Interface
Guidelines in mind and therefore uses libadwaita
and GTK.
It is developed on and for the GNOME desktop.
This is the first project in Rust for the author of this software.
Thanks goes out to the following projects and people:
gtk-rs through contributionsstylesheet template from MingFei2001