Home

Awesome

vibe

Cross-platform command line Tidal music streaming service client

Motivation

Note to the users

vibe is still under development and is subject to dramatic changes without prior notice.

Prerequisites

Regarding MQA

vibe can decode and render MQA streams using mqa's mqadec and mqarender binaries. It is user's responsibility to make sure those are accessible either via PATH (if using --mqa-mode=host flag) or via localhost/mqa container (using either --mqa-mode=podman or --mqa-mode=docker flags).

Installation

go get -u github.com/godsic/vibe

Authentication

vibe supports two authentication methods:

On successful login, vibe saves ~/.vibe/config/session.json file and will reuse it for authomatic login. If one needs to use vibe on a headless machine, then it is advised to perform OAuth2 authentication elsewhere and then copy session.json file to the headless client.

MQA encoded streams can only be accessed via OAuth2 authentication.

Audio quality

The main feature of vibe is absolute loudness normalization to avoid hearing damage.

By taking into account properies of the audio equipment, e.g., output voltages, gains, impedences and sensitivies, vibe can play music at requested absolute SPL (set via --loudness= flag, 75 dbC by default).

vibe resamples audio internally to the sample rate that offers the highest SINAD of the given DAC.

vibe maintains database of audio hardware and prompts users to specify their audio chain on first run. It is very limited at the moment and user contributions to the hardware database are very welcome.

Usage

Play favorite tracks

vibe

Shuffle favorite tracks

vibe --shuffle

Override default playback loudness of 75 dbC

vibe --loudness 85

Bypass PulseAudio on Linux

pasuspender -- vibe

For less common flags see

vibe --help