Guest Blog: Stevan J. Cohen – An Audiobook Checkup Tool

Guest Blog: Stevan J. Cohen – An Audiobook Checkup Tool

2nd Opinion – An Audiobook Checkup Tool

By: Steven J. Cohen

From: Steven J. Cohen Blog

What does it do?

This program is meant to be run once you have mastered your audio but before you send it off for publication. It is not meant to be used in place of an actual engineer. As it’s name implies, this program is meant to give you a “second opinion” about the state of your audio files.

  • This program checks the following:
  • Does each file peak at or below a specified value (-3.0dB by default)?
  • Does each file have an Average RMS within a range (between -18.0dB and -23.0dB by default)?
  • Were all files recorded with the same number of channels (mono by default)?
  • Were all files recorded at the same sample rate (44.1k by default)?
  • Do all files have an acceptable length (between ½ and ¾ of a second by default) of silence (-60.0dB or less by default) at the head?
  • Do all files have an acceptable length (between 3 and 5 seconds by default) of silence (-60.0dB or less by default) at the tail?
  • Does the retail sample have a length of 5 minutes or less?
  • This program also reports the total length of the audio for all files rounded down to the last full minute (as required for direct submission to Audible).
As of Version 2.0 (July 5, 2017), all of the settings above are customizable.

When this program locates an issue, it is labelled as an ERROR.

ERROR – This piece of audio does not meet one or more of the specifications

If your audio did not pass inspection, repair your audio and re-run this program.

How do I use it?

  1. Start the application by double clicking on it
  2. Toggle settings to fit your needs (including file type: WAV, MP3, FLAC, or AIFF)
  3. Click Select & Analyse
  4. Locate a folder containing your audio files

This program expects the retail sample’s name to end _sample.filetype
(Example: Walden_sample.flac, Walden_sample.wav, etc). It treats the sample slightly differently than other files. If you have included one, please follow this naming convention.

The program writes its findings both to the window and to a file inside the folder called 2ndOpinion-Report.txt.

If the program finds no errors while it runs, it will let you know. 🙂

How much does it cost?

The program is free to use, but I always appreciate…

 A Cup of Coffee

A ridiculous amount of caffeine was consumed while researching.


Add some fuel if you would like to help keep me going!


$5   $10   $15   $20   $25


Which file should I download?

Version 5.2 released April 16, 2021

IMPORTANT: Please uninstall previous versions before updating!

What’s New?

  • Added in-depth analysis/data of heads and tails for v5.2
  • Fixed fatal error (macOS) for v5.2
  • Clarified error messages for v5.1
  • Speed Improvements for v5.1
  • Can analyze MP3s for v5.0
  • Files are processed in alphabetical (numeric) order for v5.0
  • FFmpeg replaces SoX for v5.0
  • Complete rewrite of code for speed/efficiency for v5.0
  • Finished migration to 64-bit processing for v5.0
  • Improved macOS compatibility (including M1 macs) for v5.0
  • Install simplified for v5.0
  • Error reporting improved for v5.0
  • macOS Compatibility Issues fixed (Catalina & Big Sur) for v4.0
  • Linux support added (with SoX installed on your system) for v4.0
  • Update Alert System now handles secure connections for v4.0
  • Speed Improvements for v4.0
  • macOS Catalina Compatibility (sort of) for v3.6
  • Speed Improvements for v3.6
  • Sample Detection bug fix for v3.53
  • Preferences/Permissions saving fixed for v3.52
  • File Detection bug fix for v3.51
  • More speed optimizations for v3.5
  • Remembers custom settings between sessions for v3.5
  • Saves custom settings as sharable file in your Documents Folder for v3.5
  • Compiled in 64-bit for Mac for v3.02
  • Code improvements for v3.02
  • Fixed macOS Execution Error (broken in v3.02)
  • Ability to ignore Retail Sample (added in v3.01) added!
  • Progress Bar calculation (broken in v3.0) fixed!
  • Speed improvements for v3.01
  • Rewritten from the ground up using LiveCode (was TCL/TK) for v3.0
  • Choose Directory and Analyze combined into a single button for v3.0
  • Support for more OS versions (Mac & Windows)
  • Automatic New Version Checking (always stay up to date)
  • Max Noise Floor detection error (broken in v2) fixed!
  • Licensing updated (see below)

How do I install it?


  1. Unzip
  2. Move the application to the Applications folder (recommended)
  3. Right-click and run the application from the resulting menu.
  4. If your system asks if it is okay to run the program, allow it.
  5. Open System Preferences and go to Security & Privacy.
  6. Set Allow apps downloaded from: to Anywhere (if applicable)
OSX Install SecurityIf you do not see a setting that allows you Allow apps downloaded from Anywhere, please follow this guide from Apple.

7. Run Application 🙂


  1. Unzip
  2. Run Installer


FFmpeg must be installed on your system for 2ndOpinion to run.

These instructions are for Debian-based systems (Debian, Ubuntu, Mint, etc). To install on other flavors of linux, install SoX as you would other software.

  1. Open Terminal
  2. Install FFmpeg with a command like the following:
    sudo apt install ffmpeg ffprobe
  3. Unzip
  4. Run application

Frequently Asked Questions (FAQ)

Why doesn’t this software like my WAV files?

Though WAV files can be encoded in many ways, the most common are Linear PCM (16 or 24 bit) files. Many programs will fail when trying to analyze other types of WAV files. If you used a different encoding, please re-encode your files to this standard.

Why doesn’t this software take MP3s as input?

As of v5.0, the program does work with MP3s 🙂

However, it is better to work with lossless audio (like WAV, FLAC, or AIFF) rendered straight from your DAW (Digital Audio Workstation).

It is best practice to do all edits in a lossless format before converting to a lossy format like MP3.

I can’t select my audio file! The program is broken! What’s going on?

As the instructions at the top of this page clearly state, you are supposed to select a folder that contains audio files, not individual files. In fact, even the window where you are trying to select a file states that you should be selecting a FOLDER, not a file.

The program says the head/tail of my file(s) is/are too short, but it’s wrong. The program is broken! What’s going on?

The program starts at the beginning/end of the file and then measures the length until the audio exceeds the maximum Noise Floor (-60 dB by default). If you select your head/tail and measure it using True Peak (not samples) you will see that the program is correct. Your audio has indeed exceeded the maximum noise floor at that point (which is all that the software can check).

The software cannot tell whether the noise was a random thump, a truck driving by outside, a stomach gurgle, or you speaking. All it knows is that a sound exceeded the maximum. If, upon visual inspection of the file, you see that your head/tail seems to be of the proper length, simply normalize the head/tail to a number under -60 dB (like -65 dB), then re-run the program.

Can I change any of the other settings?

As of v2.0+ just about every setting is now customizable.  If there are other parameters that you would like to change, let me know. Trying to allow for customization without cluttering the interface is a tricky thing. But, if your suggestion adds value without being out-of-scope for this project, I will do my best to incorporate it.

It crashes when I try to run it. What’s going on?

Permission-based issues on both Windows and Mac OS X can cause problems. Try moving the program itself to your desktop and running it from there. Make certain that the folder you have selected with the audio files that you intend to analyze is writable for both you and the program itself. And, be certain that the audio files are not currently open by another program when you are attempting to analyze them.

I have an idea for a new feature! Will you implement it?

Maybe. Contact me. Let’s talk.

Licenses, Notices, & Information

This software is free for personal use.

Small Business License
This software is free for commercial use in businesses with less than 5 employees. This license also covers independent contractors supporting companies with 5 or less employees. If you are an independent contractor supporting larger businesses, you may fall under the Enterprise License and are required to contact me to discuss a license.

Enterprise License
Businesses with 5 or more employees, and independent contractors doing work for companies with 5 or more employees, are required to contact me to discuss a commercial site license.

This software is distributed under an Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0) license.

It is distributed in the hope that it will be useful, but without any warranty.

It is provided “as is” without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the program is with you. Should the program prove defective, you assume the cost of all necessary servicing, repair or correction.

In no event, unless required by applicable law, will the author be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use, or the inability to use, the program (including but not limited to loss of data or data being rendered inaccurately or losses sustained by you or third parties or a failure of the program to operate with any other programs), even if the author has been advised of the possibility of such damages.

This software is written in LiveCode and is used under a GPL-style license.

This software relies upon FFmpeg and is included under the LGPL License (LGPLv2.1).

The icon is derived from the Oxygen Icon Set which is included under the LGPL License (LGPL v2).


Leave a comment

Your email address will not be published. Required fields are marked *