Benben
Benben is a fast and efficient command line audio player and audio converter for Linux/Unix. It supports multiple formats, and is especially suited to people who organize their music in folders, and for those who prefer to use terminals instead of GUIs. It is written almost entirely in the Crystal programming language.
- Releases, downloads, and AppImages for x86-64 Linux
- Build from source
- Full manual (also in in PDF format)
- Project Goals
- FAQ page
- Official Matrix channel
Wanna support this project? Buy Remilia a coffee on Ko-Fi, support her through Liberapay, or support her through Throne. Support is greatly appreciated for this volunteer effort ^_^
Example Videos
- Partition 36 - Overdrive (Opus)
- ZUN - 亡き王女の為のセプテット (Septette for a Dead Princess) (MP3)
- Partition 36 - Searching for My Identity (Ogg Vorbis)
- Skaven - Ice Frontier (Remix by Necros) (Module/S3M)
- SoulCalibur - Wings of Faith (Sophitia) (VGM - Namco C352)
- Partition 36 - The Mainframe (FLAC)
- Warcraft 2 - Human 2 (General MIDI)
The Partition 36 videos are songs written by Remilia. Check out her Bandcamp page.
Supported Formats
- VGM
- Uncompressed (.vgm)
- GZip compressed (.vgz)
- ZStandard compressed (.vgzst)
- BZip2 compressed (.vgb)
- MPEG-1
- MPEG-1 Layer III (.mp3)
- MPEG-1 Layer II (.mp1)
- MPEG-1 Layer I (.mp1)
- Ogg Vorbis
- Opus
- FLAC
- General MIDI (.mid)
- All module formats supported by libxmp
- RIFF WAVE (.wav)
- QOA, the Quite OK Audio format
- WavPack
- Sun Au (.au)
Notable Features
- PulseAudio, PortAudio, and libao backends.
- High-performance playback.
- Fast, multi-threaded UI via S-Lang.
- Multiple files can be specified and they will play one after the other.
- Song and playlist looping.
- Output audio over TCP.
- Support for the following formats:
- Support for XSPF and JSPF playlists.
- High quality resampling.
- Configuration file support, including support for per-song configurations.
- Rendering multiple files in parallel to WAV, Au, WavPack, or QOA format.
- Support for multiple bit depths and sample rates, and both integer and floating point WAV/AU files.
- Optional effects:
- Soft clipping.
- Parametric EQ with an arbitrary number of bands.
- Stereo enhancement effect.
- Reverb with selectable type and preset.
- Customizable VU meter.
- Keyboard control support.
- ReplayGain/RVA support.
Command Line Examples
Below are various examples of how to call Benben on the command line.
# Play a VGM file and stop after it finishes
$ benben "Cool Song.vgz"
# Play a VGM and loop twice
$ benben --loop 2 "Another Cool Song.vgz"
# Render multiple VGM files to WAVs in parallel
$ benben --render *.vgz
# Play various files and stop after it finishes
$ benben "Cool Song.vgz" spacedeb.mod "02 - E1M1.flac"
# Show the help information
$ benben --help
# Show version information
$ benben --version
# List reverb presets for "MVerb"
$ benben --reverb-type mverb --reverb-preset list
Development
Development Milestones are listed in the wiki.
How do I contribute?
- Go to https://chiselapp.com/user/MistressRemilia/repository/benben and clone the Fossil repository.
- Create a new branch for your feature.
- Push locally to the new branch.
- Create a bundle with Fossil that contains your changes.
- Get in contact with me.
Contributors
- Remilia Scarlet - creator and maintainer
- Homepage: https://remilia.sdf.org/
- Fediverse: @remilia@nanako-さめ.mooo.com
- Email: zremiliaz@postzeoz.jpz My real address does not contain Z's
Links and Licenses
Benben is under the GNU Affero General Public License version 3.