Skip to content

Repository files navigation

audio-transcode-watcher

A containerized service that watches a source folder and automatically transcodes audio files to multiple formats simultaneously.

PyPI Tests License Docker Pulls

Keep one library in several formats: lossless for the archive, lossy for phones and cars. Drop a FLAC into the source folder and the ALAC, MP3, AAC and Opus copies appear in their own trees.

Features

  • Watches the source folder and reacts to new, changed, renamed and deleted files.
  • Writes any number of outputs in one pass, in ALAC, AAC, MP3, Opus, FLAC or WAV at the bitrate you pick.
  • Mirrors the Artist/Album folder tree in every output.
  • Fetches synced .lrc lyrics, with Whisper speech-to-text when none are found online.
  • Embeds cover art if you want it.
  • Writes atomically and removes orphaned outputs, but never deletes anything when a folder looks empty.
  • Handles Unicode file names.
  • Ships as a small container on Python 3.14-slim with FFmpeg.

Quick start

curl -fsSL -o config.yaml https://raw.githubusercontent.com/GeiserX/audio-transcode-watcher/main/config.example.yaml
docker run -d --name audio_transcoder -e CONFIG_FILE=/app/config.yaml \
  -v ./config.yaml:/app/config.yaml:ro -v /path/to/flac:/music/flac:ro -v /path/to/mp3:/music/mp3 \
  drumsergio/audio-transcoder:0.5.2

Edit config.yaml first so its outputs match the folders you mount; the example writes ALAC, MP3 and AAC. Getting started has Docker Compose and the full docker run.

Documentation

  • Getting started: Docker Compose and Docker CLI
  • Configuration: the full YAML example, supported codecs, CONFIG_JSON
  • Usage: what happens once it runs, and the verification tool
  • How it works: sync and watch mode, folder mirroring, safety guards, performance
  • Development: tests, building the image, contributing
  • Roadmap

Related projects

Project Description
slskd-transform Bulk upgrade your music library from lossy to lossless via Soulseek
telegram-slskd-local-bot Automated music discovery and download via Telegram
quality-gate-encoder (formerly jellyfin-encoder) Automatic 720p HEVC, H.264 or AV1 copies for Jellyfin

License

GPL-3.0-or-later

About

Automated multi-format audio transcoding service with real-time file watching and lyrics fetching

Topics

Resources

Security policy

Stars

3 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages