Command line interface

The CLI allows you to view and change DSP settings. If you've installed through the debian package, a local service has been enabled and will expose local and network devices through a unix socket. minidsp automatically detects and uses the local service if it is running

Use minidsp probe in order to list the detected device:

$ minidsp probe
Found 2x4HD with serial 91234 at ws://localhost/devices/0/ws [hw_id: 10, dsp_version: 100]

It's possible to use a specific device using the --url option, or by setting the MINIDSP_URL environment variable.

Status summary

Running the command without any parameters will return a status summary, in this form:

$ minidsp 
MasterStatus { preset: 0, source: Toslink, volume: Gain(-8.0), mute: false, dirac: false }
Input levels: -61.6, -57.9
Output levels: -67.9, -71.6, -120.0, -120.0

If calling this programmaticallly (and not using the HTTP API), the -o json and -o jsonline option will output a machine parsable status.

$ minidsp -o json
{
  "master": {
    "preset": 0,
    "source": "Toslink",
    "volume": -8.0,
    "mute": false
  },
  "input_levels": [
    -131.36298,
    -131.36298
  ],
  "output_levels": [
    -140.21962,
    -139.85617,
    -120.0,
    -120.0
  ]
}

Attention

The changes done through this command will not be visible from the minidsp app, as it cannot read the settings back from the device. The following settings will be visible after changing them from any source:

  • Master Gain
  • Master Mute
  • Configuration preset
  • Active Source
  • Dirac Live status

The rest of the settings (filters, delays, routing) will not be reflected in the app.

Running multiple commands at once

For the purposes of organizing configurations, a file can be created with commands to run sequentially. It's an easy way to recall a certain preset without changing the device config preset.

Lines are using the same format at the command line, without the minidsp command.

Example:

# Comments are allowed and skipped
# So are empty lines

mute on
config 3
input 0 peq all bypass off
output 0 peq all bypass off
gain -- -30
mute off

The command list can be ran using minidsp -f ./file.txt

Usage

$ minidsp --help
minidsp 0.1.2

Mathieu Rene <mathieu.rene@gmail.com>

USAGE:
    minidsp [OPTIONS] [SUBCOMMAND]

OPTIONS:
        --all-local-devices            Apply the given commands to all matching local usb devices
        --daemon-sock <DAEMON_SOCK>    Discover devices that are managed by the local instance of
                                       minidspd [env: MINIDSP_SOCK=]
        --daemon-url <DAEMON_URL>      Discover devices that are managed by the remote instance of
                                       minidspd [env: MINIDSPD_URL=]
    -f <FILE>                          Read commands to run from the given filename (use - for
                                       stdin)
        --force-kind <force-kind>      Force the device to a specific product instead of probing its
                                       hardware id. May break things, use at your own risk
    -h, --help                         Print help information
        --log <LOG>                    Log commands and responses to a file [env: MINIDSP_LOG=]
    -o, --output <OUTPUT_FORMAT>       Output response format (text (default), json, jsonline)
                                       [default: text]
        --tcp <tcp>                    The target address of the server component [env:
                                       MINIDSP_TCP=]
        --url <URL>                    Directly connect to this transport url [env: MINIDSP_URL=]
        --usb <usb>                    The USB vendor and product id (2752:0011 for the 2x4HD) [env:
                                       MINIDSP_USB=]
    -v, --verbose                      Verbosity level. -v display decoded commands and responses
                                       -vv display decoded commands including readfloats -vvv
                                       display hex data frames
    -V, --version                      Print version information

SUBCOMMANDS:
    config    Set the current active configuration,
    debug     Low-level debug utilities
    dirac     Sets whether Dirac Live is enabled
    gain      Set the master output gain [-127, 0]
    help      Print this message or the help of the given subcommand(s)
    input     Control settings regarding input channels
    mute      Set the master mute status
    output    Control settings regarding output channels
    probe     Try to find reachable devices
    server    (deprecated) Launch a server usable with `--tcp`, the mobile application, and the
              official client
    source    Set the active input source
    status    Prints the master status and current levels