samtصمت

Check Arabic audio quality before shipping. Silence gaps, clipping, noise, sample rate — all caught.

14 checks across 5 categories. Quality score 0-100 per file. Zero dependencies — pure Python stdlib.
$ pip install samt

Chapter I
The Problem
Arabic TTS is booming — but who checks the quality?

13+ models competing on the Arabic TTS Arena. Teams ship audio with silence gaps, clipping, low volume, background noise, and wrong sample rates. Everyone builds ad-hoc scripts to catch the same problems. samt runs 20 checks on any WAV file and gives you a single quality score. Offline. No API. Pure Python stdlib.


Chapter II
20 Checks
Five categories. Every audio problem caught.

Silence (4)

  • Leading silenceDead air at the start of the file
  • Trailing silenceDead air at the end of the file
  • Internal gapsLong silence gaps mid-utterance
  • Silence ratioToo much total silence relative to audio length

Quality (4)

  • ClippingSamples hitting max amplitude — distorted peaks
  • Low volumeAudio too quiet to be usable
  • Noise floorBackground noise level too high
  • Dynamic rangeAudio too compressed or too dynamic

Format (2)

  • Sample rateNon-standard rates (expects 16/22.05/44.1/48 kHz)
  • Bit depthUnusual bit depths (expects 16-bit or 24-bit PCM)

Arabic (2)

  • Duration rangeUtterances too short or too long for TTS
  • Timing densitySpeech-to-silence ratio outside normal Arabic patterns

Timing (2)

  • Click detectionPops and clicks from bad edits or recording artifacts
  • DC offsetWaveform not centered on zero

Chapter III
Quality Score
One number. 0 to 100. Weighted across all 20 checks.
ScoreRatingMeaning
90-100ExcellentShip it
75-89GoodMinor issues, likely fine
50-74FairReview before shipping
25-49PoorSignificant quality problems
0-24BadDo not ship

Demo
See It
samt demo

Chapter IV
Commands
5 commands. Zero config.

Chapter V
Zero Dependencies
Only Python stdlib. No librosa, no numpy, no scipy.

samt uses only wave and struct from the Python standard library. No heavy audio processing frameworks required. Install and run anywhere Python runs.


Chapter VI
Get Started
# Install $ pip install samt # Check a single file $ samt check recording.wav Score: 87/100 (Good) WARN Leading silence: 1.2s PASS No clipping detected # Scan a directory $ samt scan audio/ # Compare two outputs $ samt compare tts1.wav tts2.wav # Learn about the checks $ samt explain

artok · bidi-guard · arabench · majal · khalas · safha · raqeeb · sarih · qalam · naql · samt