panosse is a CLI tool to clean, encode, normalize, and verify your FLAC music library.
It is merely a wrapper around flac and metaflac and uses Cobra and Viper under the hood.
Usage:
panosse [command]
Available Commands:
clean Clean FLAC files from blocks and tags
config Display panosse configuration
encode Encode FLAC files
help Help about any command
normalize Normalize FLAC files with ReplayGain
verify Verify FLAC files
Note
This is my first Go project. The code may not be idiomatic. I am open to suggestions and improvements. Criticism is welcome!
panosse is not a music player, tag editor, or a music library manager. panosse is focused on cleaning, encoding, normalizing, and verifying FLAC files.
Other tools can be used to manage your music library, such as beets, MusicBrainz Picard, or foobar2000.
As already mentioned, panosse is only a wrapper around flac and metaflac. It does not provide much more functionality. It was developed to automate and set sane defaults for my music library maintenance.
panosse tries to stay close to the UNIX philosophy of doing one thing and doing
it well. For example, panosse only proccesses one file at a time (except for
normalization), so you can easily parallelize the process using find
and
xargs
or similar tools.
panosse can be used as a standalone binary or with Docker.
For detailed information, see the dedicated Usage documentation.
Every panosse's commands have a help
command to describe the command's usage.
You can use panosse [command] --help
or panosse help [command]
to display
the help.
For detailed information, see the dedicated Commands and flags documentation.
Configuration can be set using environment variables, flags or a configuration file.
The order of precedence is:
- Flags
- Environment variables
- Configuration file
Display the current configuration with panosse config
.
For a commented version of the example file, check the
config.yaml
file.
For detailed information, see the dedicated Configuration documentation.
To build panosse, Go must be installed and configured .
Once Go is installed, build panosse with the following command:
# Build panosse
go build
Once panosse is built, run it with the following command:
# Run panosse
./panosse
panosse (/pa.nɔs/
) is a Swiss-French word meaning mop. The idea is that a mop
cleans a floor, panosse cleans FLAC files.
If you have interested in contributing to panosse, check the Contributing guide.
Thank you in advance!
panosse is licensed under the GNU Affero General Public License (GNU AGPL-3.0).