A DSP Toolkit
Project description
Software for HiFiBerry boards equipped with DSP. This package can be used to read/write data to HiFiBerry DSP boards using the Beocreate TCP server.
sigmatcpserver
This server runs in background and provides a TCP interface (port 8089) to access DSP functions. It is compatible with SigmaStudio. That means you can directly deploy DSP programs from SigmaStudio and change parameters online.
The server automatically dumps the so-called parameter RAM to the file system when it terminates. On startup, it checks for a parameter RAM file and if it exists it writes it back to the parameter memory. This ensures that parameters like volume controls, filter parameters, switch settings will be automatically restored even if they are not saved in the EEPROM.
Command line utility
dsptoolkit is a tool that is used to directly access functions of the DSP via the TCP server. This means it can run on another system.
The general usage pattern is
$ dsptoolkit command parameter
The following command are supported. Note that some command need specific parameters in the DSP profile. If the DSP profile does not support these, the command won’t have any effect.
store
saves the current parameter RAM to the file system. This is recommended if you have deployed new filters or changed other settings that should be re-activated after a system reboot
restore
restores the parameter RAM from the file system
reset
Resets the DSP. The program will be loaded from the EEPROM. The parameter RAM won’t be stored and/or recovered from the file system.
install-profile
writes a DSP profile to the DSP EEPROM and activates it. A profile installed with this command will be automatically started after a reset
set-volume volume
set the volume. Volume values can be defined in real values (0-1), percent (0% to 100%) or decibels (use need to use negative values to reduce the volume)
get-volume
gets the current setting of the volume control register.
set-limit
sets the volume limit. The effect is the same as setting volume. The idea of this setting is having a volume control that can be changed between 0 and 100% (or -inf dB to 0dB) and the limit setting to set the maximum volume of the system.
set-rew-filters|set-rew-filters-left|set-rew-filters-right filename
Deploys parametric equaliser settings calculated by REW to the equaliser filter banks (left, right or both). Not all DSP profiles will support this setting To make sure the filters are still active after a system reboot, make sure you use teh store command.
set-fir-filters|set-fir-filters-left|set-fir-filters-right
Deploys a FIR (finite impulse response) filter to the left, right or both FIR filter banks. A FIR filter file is a simple text file with one real number per line. Not all DSP profiles will support this setting To make sure the filters are still active after a system reboot, make sure you use teh store command.
clear-iir-filters
Resets the IIR filter banks to default values. This is helpful if you deployed filters to the DSP that do not perform as expected
read-dec|red-int|read-hex address
Reads a memory word from the given address and interprets it as a decimal value, integer value or just displays it as a HEX value Addresses are 2byte long and they can be defined as integers or hex values. Hex values are defined by the prefix 0x (e.g. 0x01aa)
loop-read-dec|loop-read-int|loop-read-hex address
Works exactly like the read-xxx command. However, it reads the values in a loop. This is often useful when debugging DSP programs as you can easily see if and how parameters change
write-reg address value
Writes a value to a 2-byte register. This command should be used to write the DSP register addresses. While it will also accept DSP RAM addresses, these are 4 bytes long and the command will only set the first 2 bytes of a RAM cell
write-mem address value
Writes a 4 byte value to a memory cell. The value can be given as an integer or hex value. When using this command on register addresses, the command will write to 2 consecutive register addresses as addresses have a length of only 2 bytes.
mute|unmute
Mutes/unmutes the output. This only works if the profile supports a mute register
REW integration
The software can be used to push filters created by Room Equalisation Wizard (REW) to the DSP.
DSP profile format
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.