flac2ogg
Flac2ogg is an automated Audio file converter.
At the beginning, aim of flac2ogg was to produce high quality ogg files out of (preferably) lossless formats like FLAC/WAVE/WavePack. Over time it evolved of ability to produce small-sized mp3 files out of anything.
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 form 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
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.