ACX Audiobook Mastering

Overview

Here are the requirements for formatting and mastering an audiobook for ACX as well as the process for verifying and correcting any audio requirement.

Full requirements at https://help.acx.com/s/article/what-are-the-acx-audio-submission-requirements.

Requirements checklist

General requirements:

  • Opening credits have book title, authors, and narrators.
  • Closing statement indicates end, “You have been listening to.. The End”
  • Provide first 5 minutes as sample
  • Each file is less than 120 minutes
  • One chapter per file. Opening and closing credits separate.
  • Each file labeled with chapter name

Audio requirements:

  • All mono or all stereo files
  • No plosives, pops, or other noises
  • Volume is between -23dB and -18dB RMS
  • No peak over -3dB
  • Noise floor is less than -60dB RMS
  • 1-5 seconds of room tone at beginning and end of each file
  • File format is constant bit rate MP3 at 192kbps, 256kbps, or 320kbps.

How to meet audio requirements

All mono or all stereo files.

To verify:

Use the Finder to inspect or open the file in Audacity and inspect number of channels.

Using Python, use the mutagen library to get file info.

To convert Stereo to Mono (combine channels):

  • In Audacity, select track, then Tracks → Mix → Mix Stereo Down to Mono.
  • In Audacity, select the stereo audio file, then go to File → Export Audio and choose  Mono in the options.
  • In Izotope RX, go to Mixing tool and choose preset Mix to Mono and render. Then select the whole file, then select only one channel, and go to File → Export Selection.
  • In Logic, to merge both channels, in mixer, switch two circles to one circle, then bounce the audio to bake the conversion.

To convert one Mono track to Stereo (One audio track in both channels):

  • In Audacity, File → Export Audio and choose Stereo option. Audio will play equally in both channels.
  • In Logic, in mixer track, click one circle to change it to two circles, then bounce the audio to bake the conversion. Audio will play equally in both channels.

To convert two Mono tracks to Stereo (Separate audio track in each channel)

  • Given two audio tracks, pan one hard-left and one hard-right then bounce together.

File format is constant bit rate MP3 at 192kbps, 256kbps, or 320kbps.

To verify:

Open file in Apple Music, and in the track area up top, select the ellipsis menu and Get Info. Then go to the File tab to view bit rate.

Using Python, use the mutagen library to get bitrate info.

To export in correct format:

In Audacity, go to File → Export Audio, pick the desired output format, sample rate, and channels. Choose Multiple Files to export each track separately.

In fre:ac (https://www.freac.org/), load the files and convert to the desired format.

No plosives, pops, or other noises

To verify:

Listen manually for any pops or noises.

Use a spectral view (spectogram) to visually look for unwanted noises.

  • In Reaper → Right click an audio region → Spectral Edits → Always Show Spectrogram
  • In Reaper → View → Peak Display Settings → Display mode → Spectrogram
  • In Reaper → FX → JS: Spectrograph Spectrogram Meter (Cockos)
  • In Audacity track header, right click → Spectogram
  • In FL Studio → Edison (switch between waveform/spectrum view with button in bottom right corner)
  • In Izotope RX, switch between waveform and spectogram view with slider in bottom left.
  • In Izotope Insights 2 effects plugin → spectogram view
  • Using Toneboosters free Spectrogram plugin (https://www.toneboosters.com/tb_spectrogram_v1.html)

To correct:

Use a variety of editing, restoration, spectral editing, spectral repair, and other correction tools. Isotope RX offers many tools for a variety of situations and is one of the best tools for correcting issues.

  • Spectral repairing
    • Reaper → Right click audio item → Spectral Edits → Add Spectral Edit to item
      •     Drag edges around to bound the selection as desired.
      •     Adjust fade in/out
      •     Adjust high/low frequency fade
      •     Adjust gain
      •     Adjust gate threshold
      •     Adjust compression threshold and ratio
    • Izotope RX → Spectral repair
  • De-essing
    • Logic → Desser 2
    • Logic → Audio track editor → Function → Selection based processing → Vocal Tools ‚→ [Deesser | Pop reduction | Reduce Plosives]
    • Izotope RX
    • Reaper → FX → JS De-Esser
  • De-reverb
    • FL Studio Edison
    • Izotope RX
  • Noise reduction – Covered in the noise floor section

Volume is between -23dB and -18dB RMS

To verify:

In Audacity, go to Analyze → Measure RMS. This is instant.

In Audacity, use the ACX Check plugin.

In Reaper, go to Actions (using ‘?’ shortcut) and choose “Calculate loudness of master mix via dry run render.” If it is showing results in LUFs, click the “Stats/Charts” then “Calculate Statistics when rendering” and set it to RMS. Then re-run. This is instant.

In Logic, use the Multimeter set to measure RMS and then let it play. This must be done in real-time versus the other methods that can be done in an instant.

To adjust:

In Reaper, go to Actions (using ‘?’ shortcut) and choose “Item Properties: Normalize items (Peak/RMS/LUFS)” and then set the desired RMS.

In Audacity, go to Effect → Volume and Compress → Loudness Normalization and choose LUFS or RMS and set the value.

In Logic, use the Compressor to raise or lower the average loudness.

Note:

Keep in mind that adjusting the RMS and normalization can also affect the peaks.

No peak over -3dB

To verify:

In Reaper, go to Actions (using ‘?’ shortcut) and choose “Calculate loudness of master mix via dry run render. This is instant.

In Logic, use the Multimeter and play in real time (slower).

In Audacity, use the ACX Check plugin.

To adjust:

In Logic, use the standalone Limiter or the Limiter within the Compressor set to just under -3dB.

In Reaper, go to Actions (using ‘?’ shortcut) and choose “Item Properties: Normalize items (Peak/RMS/LUFS)” and then set the desired peak.

In Audacity, Effect → Volume and Compression → Limiter.

Note:

Keep in mind that adjusting peak can also affect the RMS numbers. Especially if you use the normalization method, this can affect the entire file and not just the sections that peak.

Noise floor is less than -60dB RMS

To verify:

In Audacity, go to Analyze → Contrast.

In Audacity, use the ACX Check plugin.

In Logic, use the Multimeter set to RMS, reset every meter, and then play the section with the room noise.

To adjust:

You could lower the gain overall to reduce noise floor, but making further adjustments using normalization or compression may alter the noise floor again.

You can use noise reduction in Audacity, Reaper, or Izotope RX to quiet all the room noise in the whole file. This is the recommended way.

Noise reduction methods:

  • Izotope RX 11 → Spectral Denoise
  • Audacity → Effects → Denoise
  • Reaper → ReaFir: Mode → Subtract; Auto build noise profile (and playback noise, then disable)
  • Reaper → Right click audio item → Spectral edits → Apply Spectral edit to item → Raise gate threshold
  • FL Studio Edison denoise
  • Logic → Apple fx → Audio Units → AUSoundIsolation – Good for voice
  • Logic → Audio track editor → Function → Selection based processing → Utility → [Hum Removal | Noise Suppression | TV Noise removal]

You could apply a noise gate, but this will completely silence the room noise and can cause a jarring listening experience. This is not the recommended solution.

1-5 seconds of room tone at beginning and end of each file

To verify:

Visually or audibly verify.

To adjust:

Trim as needed or duplicate a short segment or room noise to provide 1 second.

Specialized Plugins

Audacity has a plugin available called ACX Check that specifically provides analysis in relation to the ACX requirements. This provides insight into peaks, RMS level, and noise floor.

Automation

You could automate using Python and the mutagen and pydub library, you can automate many of these checks. This is out of the scope of this write up but for large projects this kind of automated verification can save lots of time.

Audacity also has a macro system and the ability to be controlled from Python.

Reaper has an extensive scripting capability that can perform a number of these checks and adjustments in bulk.

Conclusion

You are now equipped with the tools and processes to verify and fix any audio issue to meet the requirements for ACX audiobook mastering to publish to the Audible library. For even more audio production skills and tips, see my full guide on audio production skills.