AudioVoodoo — The Telegram Bot That Reads Your Audio

AudioVoodoo is a Telegram bot built by ROminimal.club that analyses audio files in DJ groups — spectrogram, BPM, quality check, preview. All automatic.

Someone drops a 300MB FLAC in the group. Maybe it’s genuine lossless. Maybe it’s a transcoded MP3 someone ran through dBpoweramp and retagged. You can’t know without downloading it, opening it in something that shows you the spectrum, and looking for the shelf. AudioVoodoo does that automatically, the moment the file lands.

The Problem It Solves

In active DJ Telegram groups, audio files arrive constantly. FLACs, WAVs, AIFFs — sometimes dozens a day. The scene that rominimal.club serves, and the wider underground communities around it, runs largely on this informal exchange. Tracks that haven’t been released. White labels. Rips from vinyl. DJ tools. The group chat became the distribution channel.

The fake lossless problem followed it there. A transcoded file is one that started life as an MP3 or AAC — a lossy encode — and was then converted to FLAC or WAV. The conversion doesn’t recover the lost frequency information. It can’t. What it does is wrap a degraded file in a container that looks lossless from the outside. The filename says FLAC. The bitrate looks right. But above the cutoff frequency — typically around 16kHz for a 320kbps MP3, lower for lesser encodes — there’s nothing. Just silence above a shelf that a real lossless file never has.

The spectrogram shows this immediately. The shelf is unmistakable once you’ve seen it once. The problem is that running a spectrogram requires downloading the file, opening it locally in something like Sonic Visualiser or Spek, and generating the image. In a busy group, with files arriving from multiple members throughout the day, that’s not something anyone does consistently. The files get trusted at face value. The transcoded files accumulate.

AudioVoodoo closes that gap. It watches for audio files and responds before anyone has to ask.

What It Does

The bot is passive by default. It doesn’t need to be invoked. Drop an audio file in a group where it’s active and within moments it replies with the full analysis.

The spectrogram comes first — a 1920×960 pixel frequency map of the entire file. The visual makes the quality question answerable at a glance. A clean lossless file shows energy across the full frequency range. A transcoded file shows the shelf. No download required. No local tools.

Alongside the image: a 60 to 120 second preview clip, extracted as M4A at 64kbps. Enough to hear what the track actually does before committing to a full download. For groups sharing hour-long DJ tools or multi-gigabyte WAVs, this matters more than it might sound.

BPM detection runs via madmom — a Python library built on neural network beat tracking rather than simple peak detection. It handles tracks with shifting tempos and live recordings considerably better than basic tempo estimation. The number it returns can be trusted.

The LAC quality assessment classifies each file into one of four categories: Clean (the file is genuinely lossless), Transcoded (a lossy encode converted to lossless format), Upsampled (sample rate inflated without genuine high-frequency content), or Upscaled (bit depth inflated similarly). The category appears alongside the spectrogram. No ambiguity.

Metadata — bitrate, format, codec, duration — is extracted and posted with everything else.

Three commands exist for group management. /stats shows how many files a user has uploaded to that specific group. /top with an optional day parameter generates a leaderboard of the most active uploaders, with medals for the top positions, filterable by time window. /status returns system health: CPU load, memory, database state. Useful for anyone running their own instance.

The Spectrogram as a Tool

A spectrogram maps frequency against time. The horizontal axis is time — the full length of the track, left to right. The vertical axis is frequency — bass at the bottom, high end at the top. Brightness or colour represents energy: where the music is loud at a given frequency at a given moment.

For assessing audio quality, you’re mostly looking at one thing: whether the energy continues all the way to the top of the image, or whether it stops at a horizontal line somewhere in the upper half. That line is the cutoff. Everything above it was discarded when the file was first encoded as MP3 or AAC. The frequency information is gone. Converting to FLAC afterward doesn’t restore it.

A clean lossless recording from tape or from a DAW at 24-bit/96kHz looks open at the top. The energy tapers naturally as it approaches the hearing threshold — music simply contains less energy in the extreme highs — but it doesn’t stop abruptly. The transcoded file does. The shelf is flat and clear.

Once you’ve seen the difference, you can’t unsee it. DJs who start using spectrograms regularly tend to develop a quick visual read that takes seconds. The spectrogram AudioVoodoo generates is large enough to read easily on a phone screen without zooming. That was deliberate.

Where to Find It

AudioVoodoo is built and maintained by ROminimal.club — the same project behind the 24/7 rominimal radio, the track discovery platform, and the wider tools the rominimal community uses. It’s already running in several groups including the Overabstracted community.

The bot is public. Anyone can add it to a group or use it in a direct message. The Telegram handle is @AudioVoodooBot. If you run or moderate a DJ group and want it active there, that’s all it takes.

The rominimal artist directory covers the scene’s key figures — many of whom are in the kinds of groups where this tool is most useful. The overlap between people who care about audio quality and people who care about rominimal is not accidental.