Command-line audio player and converter for MP3, FLAC, WAV, OGG, and Opus files. Built with audiokit and PortAudio.
# macOS
brew install portaudio flac mpg123 libvorbis opus
# Linux
sudo apt-get install portaudio19-dev libflac-dev libmpg123-dev libvorbis-dev libopus-dev
# Build
make buildPlay a single audio file.
musictools play song.mp3
musictools play -d 1 song.flac # select audio device
musictools play -v song.wav # verbose logging
# pipe from stdin
some-tool --stdout | musictools play -Play multiple files sequentially.
musictools playlist track1.mp3 track2.flac track3.wav
musictools playlist *.mp3
musictools playlist -d 0 -v music/*.flacResample audio and convert to WAV.
musictools transform input.mp3 --new-samplerate 48000 --out output.wav
musictools transform input.flac --new-samplerate 44100 --mono --out output.wavExtract a time segment from an audio file.
musictools samplecut --in song.mp3 --start 1m30s --duration 30s --out clip.wav| Format | Extensions |
|---|---|
| MP3 | .mp3 |
| FLAC | .flac, .fla |
| WAV | .wav |
| OGG Vorbis | .ogg, .oga |
| Opus | .opus |
- audiokit -- audio player, decoders, ringbuffer
- go-portaudio -- PortAudio bindings
- resample -- SoXR sample rate conversion
- go-wav -- WAV file I/O
- cobra -- CLI framework
MIT