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
Usage: minidsp [OPTIONS] [COMMAND]
Commands:
probe Try to find reachable devices
status Prints the master status and current levels
gain Set the master output gain [-127, 0]
mute Set the master mute status
source Set the active input source
config Set the current active configuration,
dirac Sets whether Dirac Live is enabled
input Control settings regarding input channels
output Control settings regarding output channels
server (deprecated) Launch a server usable with `--tcp`, the mobile application, and the official client
debug Low-level debug utilities
help Print this message or the help of the given subcommand(s)
Options:
-v, --verbose...
Verbosity level. -v display decoded commands and responses -vv display decoded commands including readfloats -vvv display hex data frames
-o, --output <OUTPUT_FORMAT>
Output response format (text (default), json, jsonline) [default: text]
--log <LOG>
Log commands and responses to a file [env: MINIDSP_LOG=]
--all-local-devices
Apply the given commands to all matching local usb devices
-d, --device-index <device-index>
Use the given device 0-based index (use minidsp probe for a list of available devices) [env: MINIDSP_INDEX=]
--usb <usb>
The USB vendor and product id (2752:0011 for the 2x4HD) [env: MINIDSP_USB=]
--tcp <tcp>
The target address of the server component [env: MINIDSP_TCP=]
--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
--url <URL>
Directly connect to this transport url [env: MINIDSP_URL=]
--daemon-url <DAEMON_URL>
Discover devices that are managed by the remote instance of minidspd [env: MINIDSPD_URL=]
--daemon-sock <DAEMON_SOCK>
Discover devices that are managed by the local instance of minidspd [env: MINIDSP_SOCK=]
-f <FILE>
Read commands to run from the given filename (use - for stdin)
-h, --help
Print help information
-V, --version
Print version information