Files
flac2ogg/README.rst
T
gryf e41ba097ef Fix issue with providing arguments for check_call.
All arguments for subprocess.check_call() must be list of strings.
2026-10-16 10:17:15 +02:00

2.5 KiB

flac2ogg

Flac2ogg is an automated Audio file converter.

At the beginning, aim of flac2ogg was to produce high quality ogg Vorbis files out of (preferably) lossless formats like FLAC/WAVE/WavePack. Over time it evolved of ability to produce small-sized mp3 files and ogg Opus which become the default encoder.

Of course there is no constraints on what source files would be and what output format will be, so there is a possibility to create ogg from low quality mp3 files, nevertheless it doesn't make any sense :) This script automate conversion between different type of audio formats.

Requirements

  • python 3

  • mutagen python library for tag read/write

  • vorbis tools for ogg files encode/decode

  • opus tools for opus files encode/decode

  • lame for mp3 files encode/decode

  • flac for flac files decode

  • mac for Monkey audio codecs/ape files decode

  • wavpack for wavpack files decode

  • mplayer for m4a files decode

  • shntool and cuetools for splitting monolithic CD dump files

Supported formats

Conversion can be performed from the following formats:

  • FLAC

  • MP3

  • MP4

  • WAVE

  • WavePack

  • Ape

  • Ogg Vorbis

  • Ogg Opus

Currently supported encoders:

  • Ogg Vorbis

  • Ogg Opus

  • MP3 (lame)

There is an option to set the quality for the encoders - for Vorbis files there would be used an -q option for oggenc command, for the mp3 format -V option would be used for lame command and --bitrate for opusenc for the Opus files. Consult corresponding encoder man pages for details.

Usage

Given that there are couple of music files, simplest usage is as follows:

$ flac2ogg.py directory_of_music_files/*

All files from that directory will be encoded to opus by default. If there are already some opus files, new files would have _encoded_ added into the filename. Note, that output files will be placed next to the original files.

License

This work is licensed on 3-clause BSD license. See LICENSE file for details.