https://github.com/ludelafo/panosse
panosse is a CLI tool to clean, encode, normalize, and verify your FLAC music library.
https://github.com/ludelafo/panosse
audio clean cobra encode flac golang metaflac normalize replaygain verify viper
Last synced: about 1 year ago
JSON representation
panosse is a CLI tool to clean, encode, normalize, and verify your FLAC music library.
- Host: GitHub
- URL: https://github.com/ludelafo/panosse
- Owner: ludelafo
- License: agpl-3.0
- Created: 2016-04-23T09:59:31.000Z (almost 10 years ago)
- Default Branch: main
- Last Pushed: 2024-06-17T15:52:47.000Z (almost 2 years ago)
- Last Synced: 2025-03-23T22:37:33.085Z (about 1 year ago)
- Topics: audio, clean, cobra, encode, flac, golang, metaflac, normalize, replaygain, verify, viper
- Language: Go
- Homepage:
- Size: 354 KB
- Stars: 10
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: COPYING.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# panosse
[](https://github.com/ludelafo/panosse/releases)
[](https://github.com/ludelafo/panosse/blob/main/COPYING.md)
[](https://github.com/ludelafo/panosse/issues)
[](https://github.com/ludelafo/panosse/pulls)
[](https://github.com/ludelafo/panosse/discussions)
## What is panosse?
panosse is a CLI tool to clean, encode, normalize, and verify your FLAC music
library.
It is merely a wrapper around
[flac](https://xiph.org/flac/documentation_tools_flac.html) and
[metaflac](https://xiph.org/flac/documentation_tools_metaflac.html) and uses
[Cobra](https://github.com/spf13/cobra) and
[Viper](https://github.com/spf13/viper) under the hood.
```text
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!
## What panosse is not
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](https://beets.io/),
[MusicBrainz Picard](https://picard.musicbrainz.org/), or
[foobar2000](https://www.foobar2000.org/).
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.
## Usage
panosse can be used as a standalone binary or with Docker.
For detailed information, see the dedicated [Usage](./docs/01_USAGE.md)
documentation.
## Commands and flags
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](./docs/02_COMMANDS_AND_FLAGS.md) documentation.
## Configuration
Configuration can be set using environment variables, flags or a configuration
file.
The order of precedence is:
1. Flags
2. Environment variables
3. Configuration file
Display the current configuration with `panosse config`.
For a commented version of the example file, check the
[`config.yaml`](./config.yaml) file.
For detailed information, see the dedicated
[Configuration](./docs/03_CONFIGURATION.md) documentation.
## Development
To build panosse, [Go](https://go.dev/) must be installed and configured .
Once Go is installed, build panosse with the following command:
```sh
# Build panosse
go build
```
Once panosse is built, run it with the following command:
```sh
# Run panosse
./panosse
```
## What does panosse mean?
panosse (`/pa.nɔs/`) is a Swiss-French word meaning mop. The idea is that a mop
cleans a floor, panosse cleans FLAC files.
## Contributing
If you have interested in contributing to panosse, check the
[Contributing](https://github.com/ludelafo/panosse/blob/main/CONTRIBUTING.md)
guide.
Thank you in advance!
## License
panosse is licensed under the
[GNU Affero General Public License (GNU AGPL-3.0)](https://github.com/ludelafo/panosse/blob/main/LICENCE.md).