I am really enjoying playing mono tracks on a single Altec speaker. As a result, I would like to
automatically tag my digital albums to identify which are stereo and which are mono. This is something I have been meaning to do for a long time. Unfortunately, it is not so simple...
You can listen to tracks, but it is not always so simple to decide whether it is true mono or not (see below).
There are a number of tools that can help.
With Audacity, or other audio processing software, you can check by inverting one channel and adding it to the other. This is a manual process.
This command line utility is interesting:
https://indiscipline.github.io/post/zrtstr-eliminate-faux-stereo/
If the stereo WAV file is identified as Mono, then you can generate a WAV file containing a single channel - there is no real advantage to doing this, aside for reducing the space (by half) occupied by your music files. Single channel files will be played on two channels by most, if not all, commercial players.
You can also write scripts with FFMPEG - see this discussion, for example:
https://superuser.com/questions/1635775/how-do-i-check-if-a-2-track-wav-file-is-really-in-stereo
But the real difficulty in identifying mono is due to the fact that there are always small discrepancies between the left and right channels. So how do we decide at what threshold a track is really mono?
I analyzed that Sun Ra track, "Possession", which I linked to in a previous post. It was recorded in 1956. The original album "Jazz by Sun Ra" was issued in 1957, and there is no indication as to whether it is a mono or stereo album:
https://www.discogs.com/release/517197-Sun-Ra-Jazz-By-Sun-Ra-Vol-1
You could purchase the original LP (pehraps there is some mention of the recording in the booklet), but you will have to spend at least 1000$ (up to 3000$) and none of the currently listed items are sold with the original booklet...
Subsequent versions, both on LP and CD, were issued in either stereo or mono. Were the original master tapes mono, and some stereo effect added during mixing on later re-issues?
Listening to the track either with headphones or speakers, it is not obvious to decide whether it is truly Mono.
Looking at the waveforms on Audacity you can see small discrepancies if you look carefully:
Running that FFMPEG script (ffmpeg -i Possession.wav -filter:a "pan=1c|c0=c0-c1,astats=measure_perchannel=none:measure_overall=RMS_level" -f null /dev/null), results in an average
difference between left and right channels of -35db. That is very low.
I inverted and summed the tracks in Audacity and here is the result:
Here is the resulting track if you want to listen to it:
https://storage.googleapis.com/cloudplayer/Possession Diff.wav
I would assume, at this point, that the original track was recorded in Mono, but that some messing around was done afterwards to issue it as stereo.
Running that FFMPEG script on the Mono version of Miles Davis' "Kind of Blue" reports a difference of -178 dB.
Running that same script on a 1937 Andy Kirk track, from the Chronological Classics CDs, results in a difference of -48db. The recording in 1937 was definitely mono!
A threshold around 40db may be sufficient to identify true Mono?
Anyway, I think I will use that method (FFMPEG script) to identify mono tracks. I will first store in my tags the db Difference calculated by FFMPEG, and then decide on the threshold for which I consider the files to be mono, and add an additional tag to identify them.
That Sun Ra album, by the way, was produced by Tom Wilson - interesting guy - you can read about him here:
https://en.wikipedia.org/wiki/Tom_Wilson_(record_producer). There is also a website dedicated to him:
https://www.producertomwilson.com/