Skip to main content

Audio Checks Reference

TroupeIT automatically analyzes every uploaded audio file for playback issues and encoding authenticity. Analysis runs in the background immediately after upload (via the ulprocessor upload service) and results appear in the file manager, act editor, show download page, and live view.

There are 12 user-facing warning types (6 playback quality + 6 authenticity), backed by 20+ distinct analysis steps on each audio upload.

Where results appear

  • File manager — open a file’s detail panel to see loudness metrics, warnings, stereo info, and authenticity verdict
  • Act editor — compact badges on attached music files
  • Show download page — per-cue audio status when preparing a show
  • Live view — warning indicators on assets in the cue list

While a file is still processing, analysis fields may be empty. Refresh or wait for processing to complete.


Playback quality checks

These checks answer: “Will this file sound good in a live venue?”

Analysis uses FFmpeg (astats for levels/dynamics, silencedetect for silence, and a stereo sample for channel utilization). Results are stored on each file and surfaced as warning badges when thresholds are exceeded.

Warning codeWhat TroupeIT showsWhat we checkDefault threshold
low_volumeLow VolumeOverall RMS level is too quietRMS below −24 dB
leading_silenceLeading SilenceLong silence at the start of the trackMore than 3 seconds below −50 dB
trailing_silenceTrailing SilenceLong silence at the end of the trackMore than 3 seconds below −50 dB
low_dynamicsLow DynamicsAudio is heavily compressed (limited dynamic range)Crest factor below 6 dB
clippingClipping DetectedSamples flattened at the digital ceiling (distortion risk)Flat factor above 0 dB and peak above −3 dB
mono_in_stereoMono in StereoStereo file contains mono or single-channel contentSee Stereo utilization below

Stereo utilization

Stereo files are sampled (~10 seconds, starting ~60 s in or 5% into the file) and checked for:

  1. Identical channels — left and right are nearly the same signal (correlation ≥ 0.98 or identical-sample ratio ≥ 0.95)
  2. Single-channel content — signal on only the left or right channel (one channel’s RMS is less than 1% of the other)

Either condition triggers the mono_in_stereo warning. This wastes bits and can produce a poor playback image in a PA system.

Quality score

In addition to individual warnings, ulprocessor computes a sound quality score from 0–100. The score starts at 100 and is reduced for warnings, extreme loudness/quietness, excessive silence, and mono-in-stereo (which halves the remaining score). This score is visible in file metadata for staff users.

Metrics recorded (playback)

Even when no warning is raised, these values are stored:

FieldMeaning
audio_rms_dbAverage loudness (RMS) in dB
audio_peak_dbPeak level in dB
audio_crest_factorPeak-to-RMS ratio in dB (dynamic range indicator)
audio_leading_silenceSeconds of silence at the start
audio_trailing_silenceSeconds of silence at the end
audio_stereo_channelsChannel count from the file
audio_stereo_correlationLeft/right correlation (0–1)
audio_stereo_identical_ratioFraction of samples where L == R
audio_stereo_single_channelWhether only one channel carries signal
audio_stereo_active_channelleft or right when single-channel
sound_quality_scoreComposite 0–100 quality score

Authenticity checks

These checks answer: “Is this file honestly encoded, or upscaled / mislabeled?”

Authenticity analysis runs by default on every audio upload. It uses ffprobe for stream metadata, splits the file into analysis segments, measures spectral frequency cutoffs, and applies format-specific validators.

Verdicts

VerdictLabel in UIMeaning
genuineAuthenticNo upscaling or fake encoding detected
suspectSuspectSome segments could not be verified; review recommended
fakeUpscaled / FakeLikely upscaled, re-encoded, or misrepresented

The verdict is accompanied by a confidence score (0–100%) based on how many analysis segments voted “fake.”

Warning types

Warning codeWhat TroupeIT showsWhat we check
spectral_cutoff_mismatchSpectral CutoffMeasured high-frequency cutoff is lower than expected for the declared bitrate/format
bitrate_bandwidth_mismatchBitrate MismatchDeclared bitrate exceeds what the measured audio bandwidth supports
overencoded_low_sourceLow Source UpscaledFile appears re-encoded from a lower-quality source (stream bitrate exceeds inferred source by >32 kbps)
fake_hires_upsampleFake Hi-ResSample rate ≥ 88.2 kHz but effective bandwidth ≤ 24 kHz
lossy_in_lossless_containerLossy in LosslessLossy spectral signature inside a lossless container (FLAC, WAV, etc.)
fake_dsdFake DSDDSD file (.dsf, .dff) lacks expected ultrasonic noise-shaping signature

How authenticity analysis works

  1. Stream inspection — ffprobe reads codec, sample rate, bitrate, channels, and duration
  2. Format classification — file is categorized as lossy, lossless, hi-res (≥ 88.2 kHz), or DSD
  3. Segmentation — for files longer than 60 seconds, up to 5 segments (~30 s each) are extracted from the middle and end of the file
  4. Spectral analysis — each segment’s frequency cutoff is measured by scanning band energy (5 bands for standard audio; additional bands for hi-res)
  5. Segment voting — per-segment results are aggregated; strict majority “fake” votes produce a fake verdict
  6. Format-specific validators (when applicable):
    • Lossless containers — HF/mid energy ratio heuristic to detect lossy content
    • DSD files — ultrasonic band signature check for genuine DSD-to-PCM conversion

Expected spectral cutoffs (lossy)

When comparing measured cutoff to declared bitrate:

Declared bitrateMinimum expected cutoff
≥ 256 kbps (e.g. “320k”)19,500 Hz
≥ 192 kbps18,500 Hz
≥ 128 kbps17,500 Hz
≥ 96 kbps15,500 Hz

Metrics recorded (authenticity)

FieldMeaning
audio_authenticity_verdictgenuine, suspect, or fake
audio_authenticity_confidenceConfidence ratio (0.0–1.0)
audio_authenticity_warningsArray of warning codes (see table above)
audio_stream_codecCodec name from ffprobe (e.g. mp3, flac)
audio_stream_sample_rateSample rate in Hz
audio_stream_bitrateBitrate in bits/sec
audio_spectral_cutoff_hzMedian measured cutoff across segments
audio_inferred_source_bitrate_kbpsEstimated true source bitrate from spectral cutoff
audio_segment_countNumber of segments analyzed

Full analysis pipeline (20+ steps)

For reference, each audio upload runs roughly these analysis steps:

Playback quality (11 steps)

  1. RMS level measurement
  2. Peak level measurement
  3. Crest factor (dynamics) calculation
  4. Flat factor (clipping indicator) measurement
  5. Leading silence detection
  6. Trailing silence detection
  7. Stereo channel count probe
  8. Stereo correlation analysis
  9. Identical-channel ratio check
  10. Single-channel-in-stereo detection
  11. Composite quality score calculation

Authenticity (10+ steps)

  1. ffprobe stream metadata extraction
  2. Format classification (lossy / lossless / hi-res / DSD)
  3. Multi-segment spectral cutoff analysis
  4. Per-segment verdict classification
  5. Segment vote aggregation
  6. Spectral cutoff vs. bitrate expectation
  7. Bitrate vs. bandwidth mismatch detection
  8. Overencoding / upscaled-source detection
  9. Fake hi-res detection
  10. Lossy-in-lossless container validation (lossless formats only)
  11. DSD signature validation (DSD formats only)

Not every step applies to every file (for example, DSD checks only run on DSD files, and lossless validation only on lossless containers).


What to do when warnings appear

Playback quality

WarningTypical fix
Low volumeNormalize or gain-stage the track to a healthy RMS (around −14 to −18 dB for music)
Leading / trailing silenceTrim silence in your DAW or editor before export
Low dynamicsUse less aggressive limiting/compression; export from the original mix rather than a heavily limited master
ClippingRe-export from a source that is not hitting 0 dBFS; leave headroom
Mono in stereoExport as true mono (single channel) or ensure stereo content has distinct left/right information

Authenticity

Authenticity warnings usually mean the file’s declared quality does not match its actual content — for example, a “320 kbps” MP3 that was upscaled from a 128 kbps source, or a “96 kHz hi-res” file with no content above 24 kHz.

Re-export from the original high-quality source, or use honestly encoded files from your mastering engineer or music library.


Limitations

  • Analysis runs on audio files only (MIME types starting with audio/).
  • Files must finish upload processing before results are available (processed = 1).
  • Authenticity analysis skips files longer than 30 minutes (playback quality still runs).
  • Very short files (< 60 s) are analyzed as a single segment rather than multiple segments.
  • Results are cached by file content hash — identical re-uploads may return cached authenticity results.
  • Warnings are advisory; TroupeIT does not block uploads based on analysis results.