GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - GeiserX/audio-transcode-watcher: Automated multi-format audio transcoding service with real-time file watching and lyrics fetching

BranchesTags
Open more actions menu

Latest commit

 

History

90 Commits
90 Commits

Folders and files

NameName
Last commit message
Last commit date
.beads
.beads
 
 
.claude
.claude
 
 
.github
.github
 
 
docs
docs
 
 
src/audio_transcode_watcher
src/audio_transcode_watcher
 
 
tests
tests
 
 
tools
tools
 
 
.coderabbit.yaml
.coderabbit.yaml
 
 
.gitignore
.gitignore
 
 
AGENTS.md
AGENTS.md
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CLAUDE.md
CLAUDE.md
 
 
Dockerfile
Dockerfile
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
SECURITY.md
SECURITY.md
 
 
codecov.yml
codecov.yml
 
 
config.example.yaml
config.example.yaml
 
 
pyproject.toml
pyproject.toml
 
 
uv.lock
uv.lock
 
 

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.
  • Copies lossy sources (MP3, M4A, Ogg, Opus, WMA) unchanged instead of inflating them into a lossless output.
  • Fails loudly on a source that does not decode cleanly, and writes no output for it.
  • Keeps ReplayGain, MusicBrainz ids, ISRC, label and sort tags in ALAC and AAC copies.
  • Optionally measures every file and writes ReplayGain 2.0 track gain into the source and every output, so the whole library plays at one volume.
  • Fetches synced .lrc lyrics, and writes nothing when no real lyrics are found.
  • 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.7.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
  • Changelog

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

aacalacaudioaudio-converteraudio-transcodingdockerffmpegfile-watcherflaclosslesslossylyricsmedia-managementmp3musicmusic-convertermusic-libraryopusself-hostedtranscoding

Resources

Readme
GPL-3.0 license

Security policy

Security policy
Activity

Stars

3 stars

Watchers

1 watching

Forks

0 forks
Report repository

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.