Automated audio language verification tool using Whisper AI to detect incorrect video metadata
2.0K
AI-powered audio track language detection and automatic tagging for video files using OpenAI Whisper.
# Analyze single file
docker run --rm \
-v /path/to/movies:/data \
chryses/audiomedia-checker:latest \
--file "/data/Movie.mkv"
# Recursive folder analysis
docker run --rm \
-v /path/to/library:/data \
chryses/audiomedia-checker:latest \
--folder "/data" \
--recursive
# GPU-accelerated (10x faster)
docker run --rm --gpus all \
-v /path/to/library:/data \
chryses/audiomedia-checker:latest \
--gpu \
--folder "/data" \
--recursive
This Docker container automatically:
--check-all-tracks)| Argument | Description | Example |
|---|---|---|
--file | Single file path | --file "/data/Movie.mkv" |
--folder | Directory to process | --folder "/data/Movies" |
--recursive | Search depth (0=unlimited) | --recursive 0 |
--confidence | Detection threshold (0-100) | --confidence 70 |
--model | Whisper model size | --model base |
--gpu | Enable GPU acceleration | --gpu |
--dry-run | Test without modifications | --dry-run |
--force-language | Override detection | --force-language ita |
--check-all-tracks | Analyze all tracks | --check-all-tracks |
--verbose | Detailed logging | --verbose |
| Model | Size | Speed | Accuracy | Use Case |
|---|---|---|---|---|
tiny | 39MB | โกโกโก | โญโญ | Quick tests |
base | 74MB | โกโก | โญโญโญ | Default |
small | 244MB | โก | โญโญโญโญ | Better accuracy |
medium | 769MB | ๐ | โญโญโญโญโญ | High accuracy |
large | 1.5GB | ๐๐ | โญโญโญโญโญ | Maximum accuracy |
.mkv - Metadata updates applied.mp4, .avi, .mov, .m4v, .flv, .wmv, .webmdocker run --rm \
-v /media/downloads:/data \
chryses/audiomedia-checker:latest \
--file "/data/MyMovie.mkv" \
--verbose
docker run --rm \
-v /media/library:/library \
chryses/audiomedia-checker:latest \
--folder "/library" \
--recursive \
--confidence 75 \
--model small
docker run --rm \
-v /media/italian:/data \
chryses/audiomedia-checker:latest \
--folder "/data" \
--force-language ita
โ ๏ธ Warning:
--force-languageapplies to ALL untagged tracks. Use with caution!
docker run --rm --gpus all \
-v /media/library:/data \
chryses/audiomedia-checker:latest \
--gpu \
--folder "/data" \
--recursive \
--model medium
Requirements: NVIDIA GPU + NVIDIA Container Toolkitโ
docker run --rm \
-v /media/test:/data \
chryses/audiomedia-checker:latest \
--dry-run \
--folder "/data" \
--check-all-tracks \
--verbose
#!/bin/bash
docker run --rm \
-v "$DOWNLOAD_DIR:/data" \
chryses/audiomedia-checker:latest \
--file "/data/$FILENAME"
0 2 * * * docker run --rm -v /media:/data chryses/audiomedia-checker:latest --folder "/data" --recursive
docker run --rm \
-v "$(dirname "$sonarr_episodefile_path"):/data" \
chryses/audiomedia-checker:latest \
--file "/data/$(basename "$sonarr_episodefile_path")"
100+ languages detected automatically using ISO 639-2 codes:
eng (English)ita (Italian)fra (French)spa (Spanish)deu (German)jpn (Japanese)kor (Korean)rus (Russian)chi (Chinese)Use --help-languages to see full list.
--dry-run first| Model | RAM | GPU VRAM |
|---|---|---|
| tiny/base | 2GB | 1GB |
| small | 4GB | 2GB |
| medium | 8GB | 5GB |
| large | 16GB | 10GB |
# Test NVIDIA runtime
docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi
# If fails, install NVIDIA Container Toolkit
# https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/
# Run as your user
docker run --rm --user $(id -u):$(id -g) \
-v /media:/data \
chryses/audiomedia-checker:latest ...
--model medium--confidence 50--force-language as fallbacklinux/amd64 (x86_64)linux/arm64 (ARM 64-bit)GitHub: Jorman/Scripts/AudioMediaCheckerโ
Complete README with advanced usage, troubleshooting, and integration examples.
GNU General Public License v3.0
Made with โค๏ธ for audio perfectionists
Auto-built via GitHub Actions | Source: GitHubโ
Content type
Image
Digest
sha256:a3bf8304eโฆ
Size
2.4 GB
Last updated
about 1 month ago
docker pull chryses/audiomedia-checker