diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f56ea99 --- /dev/null +++ b/LICENSE @@ -0,0 +1,24 @@ +Copyright (c) 2018, Roman Dobosz +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the organization nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL ROMAN DOBOSZ BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..a60cdce --- /dev/null +++ b/README.rst @@ -0,0 +1,78 @@ +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 in version 2.7 or 3 +- `mutagen`_ python library for tag read/write +- `vorbis tools`_ for ``ogg`` 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 + +Currently supported encoders: + +- Ogg Vorbis +- MP3 (lame) + +There is an option to set the quality for the encoders - for *Ogg* files there +would be used an ``-q`` option for ``oggenc`` command, and for the *mp3* +format, ``-V`` option would be used for ``lame`` command. Consult corresponding +man pages for details. + +Usage +===== + +Given that there are couple of music files, simplest usage is as follows: + +.. code:: shell-session + + $ flac2ogg.py directory_of_music_files/* + +All files from that directory will be encoded to *ogg* by defaults. If there +are already some *ogg* 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. + + +.. _mutagen: https://mutagen.readthedocs.io/en/latest/ +.. _vorbis tools: http://www.vorbis.com/ +.. _flac: http://www.vorbis.com/ +.. _lame: http://lame.sourceforge.net/ +.. _mac: http://www.deb-multimedia.org/dists/testing/main/binary-amd64/package/monkeys-audio.php +.. _wavpack: http://www.wavpack.com/ +.. _mplayer: http://www.mplayerhq.hu/ +.. _cuetools: https://github.com/svend/cuetools +.. _shntool: http://www.etree.org/shnutils/shntool/