General commands
GTPS Get type 5
SOGx Set output gain 5
GOGx Get output gain 5
DAB/DAB+ & FM Tuner commands (DSP40 & DMP40)
SFREQx Set frequency 6
SFSUPx Set frequency search up 6
SFSDNx Set frequency search down 6
SELPRx Select preset 6
SPRESx Set preset 7
GPRESx Get preset 7
SSTSEx Set stereo state 7
SSBNDx Switch band 7
GPRGNx Get program name 8
GPRGTx Get program text 8
GFREQx Get frequency 8
GCHx Get DAB channel 8
GBNDx Get band 9
GSIGSx Get signal strength 9
GSTSTx Get stereo state 9
FM Tuner commands (TSP40 & TMP40)
SFREQx Set frequency 6
SFSUPx Set frequency search up 6
SFSDNx Set frequency search down 6
SELPRx Select preset 6
GPRGNx Get program name 8
GPRGTx Get program text 8
GFREQx Get frequency 8
GSIGSx Get signal strength 9
GSTSTx Get stereo state 9
Internet audio player commands (ISP40 & IMP40)
GSONx Get song name 9
Page 2
2
GSTNx Get DB station name 10
GFAVx Get favourites 10
DWSESTx Select station 10
Media player / recorder commands (MSP40 & MMP40)
SPPLAYx Start play 10
SPSTOPx Stop play 10
SPPAUSx Pause 11
SPGTSTx Go to start of song 11
SPNEXTx Next track 11
SPPREVx Previous track 11
SPFFWx Fast forward track 11
SPFRWx Fast rewind track 12
SPRPx Set repeat 12
SPRNDx Set random 12
GPSIx Get playing song info 12
GPSTATx Get player status info 13
GRRMx Get recorder mode 13
SRRMx Set recorder mode 13
SRSTAx Start recording 14
SRSTOx Stop recording 14
SRPAUx Pause recording 14
SRCANx Cancel recording 14
Bluetooth receiver commands (BMP40)
GBMPIx Get general BMP40 info 15
GPAIRSx Get pairing state 16
SPAIRx Set pairing on (1) / off (0) 16
GPAIRLx Get paired devices list 16
GCONNLx Get connected device list 16
SDISCx Disconnect device 17
SFORGETx Forget (unpair) device [1-8] 17
GPSTATx Get player status info 13
SPPLAYx Start play 10
SPSTOPx Stop play 10
SPPAUSx Pause 11
SPNEXTx Next track 11
SPPREVx Previous track 11
GPSIx Get playing song info 12
SOGx Set output gain 5
GOGx Get output gain 5
PPTIx Broadcast played time in s 17
Page 3
3
Audio streamer commands (NMP40)
SPPLAYx Start play 10
SPSTOPx Stop play 10
SPPAUSx Pause 11
SPNEXTx Next track 11
SPPREVx Previous track 11
GPSIx Get player song info 12
GPSTATx Get player status info 13
GPNAMEx Get player name 17
SPNAMEx Set player name 17
GPIPx Get player IP adress 18
Introduction
Welcome to the commands user manual of the Audac audio players. This manual describes
the commands whereby the range of audac audio players can be controlled using their remote
control ports. Depending on the model of audio player (and/or the type of main unit where
connected when using SourceCon™ modular technology), the supported control interfaces
might be different. The supported models including their available control interfaces are
listed in the table below.
MODELAVAILABLE CONTROL INTERFACES
XMP44TCP/IP & RS-232
TMP40TCP/IP & RS-232 (when inserted to supporting main unit)
TSP40RS-232
DMP40TCP/IP & RS-232 (when inserted to supporting main unit)
DSP40RS-232
IMP40TCP/IP & RS-232 (when inserted to supporting main unit)
ISP40RS-232
MMP40TCP/IP & RS-232 (when inserted to supporting main unit)
MSP40RS-232
FMP40TCP/IP & RS-232 (when inserted to supporting main unit)
BMP40TCP/IP & RS-232 (when inserted to supporting main unit)
Page 4
4
Using the commands
Depending of the type of device the different kinds of communication ports are:
Each command is followed by an ‘x’ character, which represents the number of the slot whereto
the command is sent. If the audio player doesn’t support multiple slots, the number ‘1’ shall always
be used.
Example: Set output gain to -20 dB for module 1
ASCII: #|D001|web|SOG1|28|U|return
HEX: 237C443030317C7765627C534F47317C32387C376666617C0D0A
Notes
• The address of the audio player is fixed at ‘D001’
• The checksum is CRC-16 excluding the ‘#’. The checksum can always be replaced by
‘U’, which is always accepted.
• Return in ASCII : <CR> <LF> HEX : 0x0D 0x0A (carriage return & line feed)
• Source address has a maximum length of 4 characters and cannot contain ‘|’ or ‘#’
Command flow
1) The client sends a command to the audio player (Command)
2) The audio player acknowledges the command by returning the same
command and a ‘+’ as Argument. (Acknowledge)
3) The audio player updates all client’s with the new information (Update)
For modular audio players featuring both RS-232 and TCP/IP communication ports, the update
feedback is only available on the TCP/IP command port (not on RS-232).
Page 5
5
GTPS
Gives feedback about the type of audio player and/or installed modules and their software versions
Command: GTPS
Arguments: None (0)
Feedback: DMP40/DSP40 = 1
TMP40/TSP40 = 2
MMP40/MSP40 = 3
IMP40/ISP40 = 4
FMP40 = 6
BMP40 = 8
No module installed = 15
Not supported = 255
Example:
Get info about the type of audio player and/or installed modules:
Command: #|D001|web|GTPS|0|U|return
Answer: #|ALL|D001|TPS|4^1^15^6^IMP40 V 1.0.4^DMP40 ^No Module ^
FMP40 V1.4.29|a3f8|return
SOGx
Set the output gain level
Command: SOGx (with ‘x’ the number of slot)
Arguments: Output gain in dB (range depending of the module type)
Remark: Max output gain is +8 dB, which corresponds with argument ‘0’.
Always increment negative output gain in dB with 8
Set gain to +8 dB -> Argument = ‘0’
Set gain to 0 dB -> Argument = ‘8’
Set gain to -20 dB -> Argument = ‘28’
Example:
Set output gain for slot 1 to -20 dB
Command: #|D001|web|SOG1|28|U|return
Acknowledge: #|web|D001|SOG1|+|U|return
Update: #|ALL|D001|OG1|28|1b88|return
GOGx
Get output gain level
Command: GOGx (with ‘x’ the number of slot)
Arguments: None (0)
Example:
Get output gain for slot 1 (-20 dB)
Command: #|D001|web|GOG1|0|U|return
Answer: #|ALL|D001|OG1|28|9dd8|return
Page 6
6
SFREQx
Set tuning frequency for FM tuner
Command: SFREQx (with ‘x’ the number of slot)
Arguments: Tuning frequency in integers
Example:
Set tuning frequency to 104.10 MHz for slot 1
Command: #|D001|web|SFREQ1|10410|U|return
Acknowledge: #|web|D001|SFREQ1|+|U|return
Update: #|ALL|D001|FREQ1|10410|927c|return
SFSUPx
Automatic tuning frequency search up
Command: SFSUPx, (with ‘x’ the number of slot)
Arguments: None (0)
Remark: Multiple frequencies will be given as update while searching. The last
given update is the finally tuned station.
Example:
Automatic tuning frequency search up for slot 1
Command: #|D001|web|SFSUP1|0|U|return
Acknowledge: #|web|D001|SFSUP1|+|U|return
Update: #|ALL|D001|FREQ1|10410|927c|return
SFSDNx
Automatic tuning frequency search down
Command: SFSDNx, (with ‘x’ the number of slot)
Arguments: None (0)
Remark: Multiple frequencies will be given as update while searching. The last
given update is the finally tuned station.
Example:
Automatic tuning frequency search down for slot 1
Command: #|D001|web|SFSDN1|0|U|return
Acknowledge: #|web|D001|SFSDN1|+|U|return
Update: #|ALL|D001|FREQ1|10410|927c|return
SELPRx
Select tuner frequency preset (stored radio station)
Command: SELPRx, (with ‘x’ the number of slot)
Arguments: Number of preset (1 to 10)
Example:
Select tuner frequency preset 4 for slot 1
Command: #|D001|web|SELPR1|4|U|return
Acknowledge: #|web|D001|SELPR1|+|U|return
Update: #|ALL|D001|FREQ1|10410|927c|return
Page 7
7
SPRESx
Set tuner frequency to preset
Command: SPRESx, (with ‘x’ the number of slot)
Arguments: Number of preset (1 to 10)
Example:
Set tuner frequency to preset 1
Command: #|D001|web|SPRES1|1|U|return
Acknowledge: #|web|D001|SPRES1|+|a9b4|return
Update: #|web|D001|PRES1|1^10360^103.60 ^1^10000^100.00
^1^10000^100.00 ^1^10000^100.00 ^1^10000^100.00
^1^10000^100.00 ^1^10000^100.00 ^1^10000^100.00
^1^10000^100.00 ^1^10000^100.00 |0a26|return
GPRESx
Get tuner frequency
Command: GPRESx, (with ‘x’ the number of slot)
Arguments: All stored frequencies will be given for this slot
Toggle band between FM and DAB
Command: SSBNDx, (with ‘x’ the number of slot)
Arguments: None (0)
Feedback: DAB = 0
FM = 1
Example:
Toggle band between FM and DAB for slot 1
Command: #|D001|web|SSBND1|0|U|return
Acknowledge: #|web|D001|SSBND1|+|U|return
Page 8
8
Update: #|ALL|D001|BND1|1|927c|return
GPRGNx
Get station / program name of the currently playing station
Command: GPRGNx, (with ‘x’ the number of slot)
Arguments: None (0)
Feedback: Currently playing station / program name in string
Example:
Get station / program name for radio tuner on slot 1
Command: #|D001|web|GPRGN1|0|U|return
Answer: #|ALL|D001|PRGN1|<<program name in string>>|checksum|return
GPRGTx
Get station / program additionally carried text information of currently playing station
Command: GPRGTx, (with ‘x’ the number of slot)
Arguments: None (0)
Feedback: Currently playing station / program text in string
Example:
Get station / program text for radio tuner on slot 1
Command: #|D001|web|GPRGT1|0|U|return
Answer: #|ALL|D001|PRGT1|<<program text in string>>|checksum|return
GFREQx
Get tuning frequency for FM tuner
Command: GFREQx (with ‘x’ the number of slot)
Arguments: None (0)
Feedback: Currently tuned frequency in integers
Example:
Get tuning frequency for FM tuner on slot 1
Command: #|D001|web|GFREQ1|0|U|return
Answer: #|ALL|D001|FREQ1|10410|927c|return
GCHx
Get tuning channel for DAB tuner
Command: GCHx (with ‘x’ the number of slot)
Arguments: None (0)
Feedback Currently tuned channel in integers
Example:
Get tuned channel for DAB tuner on slot 1
Command: #|D001|web|GCH1|0|U|return
Answer: #|ALL|D001|CH1|5|460e|return
Page 9
9
GBNDx
Get band info (FM or DAB) for FM & DAB tuner
Command: GBNDx, (with ‘x’ the number of slot)
Arguments: None (0)
Feedback: DAB = 0
FM = 1
Example:
Get status for band for FM & DAB tuner on slot 1
Command: #|D001|web|GBND1|0|U|return
Answer: #|ALL|D001|BND1|1|927c|return
GSIGSx
Get signal reception strength
Command: GSIGSx, (with ‘x’ the number of slot)
Arguments: None (0)
Feedback: Signal reception strength (percentage) in integers
Example:
Get signal reception strength for tuner on slot 1
Command: #|D001|web|GSIGS1|0|U|return
Answer: #|ALL|D001|SIGS1|85|360a|return
GSTSTx
Get stereo output state
Command: GSTSTx, (with ‘x’ the number of slot)
Arguments: None (0)
Feedback: Mono = 0
Stereo = 1
Example:
Get stereo output state for audio player on slot 1
Command: #|D001|web|GSTST1|0|U|return
Answer: #|ALL|D001|STST1|1|56c1|return
GSONx
Get name of currently playing audio track
Command: GSONx, (with ‘x’ the number of slot)
Arguments: None (0)
Feedback: Currently playing track name text in string
Example:
Get name of currently playing audio track on slot 1
Command: #|D001|web|GSON1|0|U|return
Answer: #|ALL|D001|SON1|<<track name text in string>>|checksum|return
Page 10
10
GSTNx
Get station name (from database) of the currently playing station
Command: GSTNx, (with ‘x’ the number of slot)
Arguments: None (0)
Feedback: Currently playing station name text in string
Example:
Get name of currently playing station on slot 1
Command: #|D001|web|GSTN1|0|U|return
Answer: #|ALL|D001|STN1|<<station name text in string>>|checksum|return
GFAVx
Get favourite stored stations (10 stations will be given)
Command: GFAVx, (with ‘x’ the number of slot)
Arguments: Index in favourites list
Feedback: Favourites station index + name + pointer (for 10 subsequent stations)
Example:
Get favourite stored stations on slot 3, starting with index ‘0’ (10 stations will be given)
Command: #|D001|web|GFAV3|0|U|return
Answer: #|ALL|D001|FAV3|0^<<station0 name in string>>^<<pointer 0>>
^1^station1 name in string>>^<<pointer 1>>^2^station2 name in
string>>^<<pointer 2>> ...
DWSESTx
Select favourite stored stations
Command: DWSESTx, (with ‘x’ the number of slot)
Arguments: Pointer of the selecting station
Feedback: Selected station name text in string
Example:
Select favourite radio station in slot 3 with pointer 4741
Command: #|D001|web|DWSEST3|4712|U|return
Acknowledge: #|web|D001|DWSEST3|+|U|return
Update: #|ALL|D001|STN3|Studio Brussel|7e6b|return
SPPLAYx
Start audio track playing
Command: SPPLAYx, (with ‘x’ the number of slot)
Arguments: None (0)
Example:
Start audio track playing on slot 1
Command: #|D001|web|SPPLAY1|0|U|return
Acknowledge: #|web|D001|SPPLAY1|+|U|return
SPSTOPx
Stop audio track playing
Command: SPSTOPx, (with ‘x’ the number of slot)
Arguments: None (0)
Page 11
11
Example:
Stop audio track playing on slot 1
Command: #|D001|web|SPSTOP1|0|U|return
Acknowledge: #|web|D001|SPSTOP1|+|U|return
SPPAUSx
Pause audio track
Command: SPPAUSx, (with ‘x’ the number of slot)
Arguments: None (0)
Go to begin of audio track
Command: SPGTSTx, (with ‘x’ the number of slot)
Arguments: None (0)
Example:
Go to begin of audio track on slot 1
Command: #|D001|web|SPGTST1|0|U|return
Acknowledge: #|web|D001|SPGTST1|+|U|return
SPNEXTx
Browse to next audio track
Command: SPNEXTx, (with ‘x’ the number of slot)
Arguments: None (0)
Example:
Browse to next audio track on slot 1
Command: #|D001|web|SPNEXT1|0|U|return
Acknowledge: #|web|D001|SPNEXT1|+|U|return
SPPREVx
Browse to previous audio track
Command: SPPREVx, (with ‘x’ the number of slot)
Arguments: None (0)
Example:
Browse to previous audio track on slot 1
Command: #|D001|web|SPPREV1|0|U|return
Acknowledge: #|web|D001|SPPREV1|+|U|return
SPFFWx
Fast forward audio track
Command: SPFFWx, (with ‘x’ the number of slot)
Arguments: None (0)
Feedback: Fast forward speed (1 = 1x; 4 = 4x; 16 = 16x)
Remark: If multiple fast forward commands are given, the speed will be increased in
following sequence: 1x (play) > 4x > 16x
Page 12
12
Example:
Fast forward audio track on slot 1
Command: #|D001|web|SPFFW1|0|U|return
Acknowledge: #|web|D001|SPFFW1|+|U|return
Update: #|ALL|D001|PFFW1|4|db13|return
SPFRWx
Fast rewind audio track
Command: SPFRWx, (with ‘x’ the number of slot)
Arguments: None (0)
Feedback: Fast rewind speed (1 = 1x; 4 = 4x; 16 = 16x)
Remark: If multiple fast rewind commands are given, the speed will be increased in
following sequence: 1x (play) > 4x > 16x
Example:
Fast rewind audio track on slot 1
Command: #|D001|web|SPFRW1|0|U|return
Acknowledge: #|web|D001|SPFRW1|+|U|return
Update: #|ALL|D001|PFRW1|4|da47|return
SPRPx
Set repeat mode
Command: SPFRWx, (with ‘x’ the number of slot)
Arguments: Repeat one = 0
Repeat folder = 1
Repeat x times = 2
Repeat off = 3
Repeat all = 4
Example:
Set repeat mode to ‘Repeat all’ on slot 1
Command: #|D001|web|SPRP1|4|U|return
Acknowledge: #|web|D001|SPRP1|+|U|return
Update: #|ALL|D001|PRP1|4|acab|return
SPRNDx
Set random mode
Command: SPRNDx, (with ‘x’ the number of slot)
Arguments: Random off = 0
Random on = 1
Example:
Set random mode on for slot 1
Command: #|D001|web|SPRND1|1|U|return
Acknowledge: #|web|D001|SPRND1|+|U|return
Update: #|ALL|D001|PRND1|1|01c0|return
GPSIx
Get playing song info from currently playing audio track
Command: GPSIx, (with ‘x’ the number of slot)
Arguments: None (0)
Feedback: Currently playing song info
(songname, artist, album, length seconds, seconds played, image available)
Page 13
13
Example:
Get playing song info of playing audio track on slot 1
Command: #|D001|web|GPSI1|0|U|return
Answer: #|ALL|D001|PSI1|<<songname^artist^album^length seconds^seconds
played>>|checksum|return
GPSTATx
Get player status info
Command: GPSTATx, (with ‘x’ the number of slot)
Arguments: None (0)
Feedback: Currently player status info (playing, paused, stop, recording)
Playing = 0^1^0
Paused = 1^0^0
Stopped = 0^0^0
Recording = 0^0^1
Remark: The player status feedback command (PSTAT) is continuously given when
changed the player status
Example:
Get player status info for audio track on slot 1
Command: #|D001|web|GPSTAT1|0|U|return
Answer: #|ALL|D001|PSTAT|<<paused^playing^recording>>|checksum|return
GRRMx
Get player / recorder mode
Command: GRRMx, (with ‘x’ the number of slot)
Arguments: None (0)
Feedback: Currently configured player / recorder mode
Player = 0
Recorder = 1
Example:
Get player / recorder mode on slot 2
Command: #|D001|web|GRRM2|0|U|return
Answer: #|web|D001|RRM2|1|checksum|return
SRRMx
Set player / recorder mode
Command: SRRMx, (with ‘x’ the number of slot)
Arguments: Player = 0
Recorder = 1
Example:
Set mode to recorder on slot 2
Command: #|D001|web|SRRM2|1|U|return
Acknowledge: #|web|D001|SRRM2|+|U|return
Update: #|ALL|D001|RRM2|1|7a67|return
Page 14
14
SRSTAx
Start recording
Command: SRSTAx, (with ‘x’ the number of slot)
Arguments: None (0)
Feedback Currently recording track name and filesize
Example:
Start recording on slot 2
Command: #|D001|web|SRSTA2|0|U|return
Acknowledge: #|web|D001|SRSTA2|+|U|return
SRSTOx
Stop recording
Command: SRSTOx, (with ‘x’ the number of slot)
Arguments: None (0)
Feedback Finished recording track name
Example:
Stop recording on slot 2
Command: #|D001|web|SRSTO2|0|U|return
Acknowledge: #|web|D001|SRSTO2|+|U|return
SRPAUx
Pause recording
Command: SRPAUx, (with ‘x’ the number of slot)
Arguments: None (0)
Feedback Finished recording track name
Example:
Stop recording on slot 2
Command: #|D001|web|SRPAU2|0|U|return
Acknowledge: #|web|D001|SRPAU2|+|U|return
SRCANx
Cancel recording
Command: SRPAUx, (with ‘x’ the number of slot)
Arguments: None (0)
Feedback Finished recording track name
Remark: Cancel command stops and removes the recorded file
Example:
Cancel recording on slot 2
Command: #|D001|web|SRCAN2|0|U|return
Acknowledge: #|web|D001|SRCAN2|+|U|return
Page 15
15
SSTRx
Start / stop trigger
Command: SSTRx, (with ‘x’ the number of slot)
Arguments: Argument 1: trigger number (integer)
Argument 2: 1 = Start trigger
0 = Stop trigger
Feedback: Triggered event track name
Remark: Depending of the configured playback mode for the selected trigger, the play / repeat function can be configured
Get general BMP40 info
Command: GBMPIx, (with ‘x’ the number of slot)
Arguments: None (0)
Feedback: BMP40 info
(version, name, address)
Example:
Get info of BMP40 on slot 2
Command: #|D001|web|GBMPI2|0|U|return
Answer: #|web|D001|BMPI2|<<version^name^address>>|checksum|return
GPAIRSx
Get BMP40 pairing state
Command: GPAIRSx, (with ‘x’ the number of slot)
Arguments: None (0)
Feedback: BMP40 current pairing state
Pair success = 0
Pair time-out = 1
Pair failed = 2
Pair enabled = 3
Pair disabled = 4
Example:
Get pairing state of BMP40 on slot 2
Command: #|D001|web|GPAIRS2|0|U|return
Answer: #|web|D001|PAIRS2|0|checksum|return
Page 16
16
SPAIRx
Set BMP40 pairing on (1) / off (0)
Command: SPAIRx, (with ‘x’ the number of slot)
Arguments: None (0)
Feedback: Pairing state (PAIRSx) and enabled pairing time (PAIREx)
Example:
Get pairing state of BMP40 on slot 2
Command: #|D001|web|SPAIR2|1|U|return
Acknowledge: #|web|D001|SPAIR2|+|20ab|return
Answer: #|ALL|D001|PAIRS2|3|597f|return
#|ALL|D001|PAIRE2|20|f77e|return
#|ALL|D001|PAIRE2|19|a788|return
...
#|ALL|D001|PAIRE2|0|6a36|return
GPAIRLx
Get paired devices list
Command: GPAIRLx, (with ‘x’ the number of slot)
Arguments: None (0)
Feedback: Paired devices list (8 devices)
Example:
Get paired devices list of BMP40 on slot 2
Command: #|D001|web|GPAIRL2|0|U|return
Answer: #|web|D001|PAIRL2|<<1^name^address>>|checksum|return
#|web|D001|PAIRL2|<<2^name^address>>|checksum|return
...
#|web|D001|PAIRL2|<<8^name^address>>|checksum|return
GCONNLx
Get connected devices
Command: GCONNLx, (with ‘x’ the number of slot)
Arguments: None (0)
Feedback: Connected device information
(number, name, address)
Example:
Get connected devices information of BMP40 on slot 2
Command: #|D001|web|GCONNL2|0|U|return
Answer: #|web|D001|CONNL2|<<number^name^address>>|checksum|return
SDISCx
Disconnect device
Command: SDISCx, (with ‘x’ the number of slot)
Arguments: None (0)
Feedback: Connected device list (empty)
Example:
Disconnect device BMP40 on slot 2
Command: #|D001|web|SDISC2|0|U|return
Acknowledge: #|web|D001|SDISC2|+|20ab|return
Answer: #|web|D001|CONNL2|<<1^^>>|checksum|return
Page 17
17
SFORGETx
Forget paired device [1-8]
Command: SFORGETx, (with ‘x’ the number of slot)
Arguments: [1 - 8]
Feedback: Paired devices list
Broadcasts played time (from current playing track) in seconds
Command: PPTIx, (with ‘x’ the number of slot)
Arguments: None (0)
Feedback: Played time from current track (in seconds)
Example:
Broadcast played time from BMP40 on slot 2
Command: #|D001|web|PPTI2|0|U|return
Answer: #|ALL|D001|PPTI2|<<playingseconds>>|checksum|return
GPNAMEx
Get player name
Command: GPNAMEx (with ‘x’ as the slot number)
Arguments: None
Feedback: Player name
Example:
Command: #|D001|web|GPNAME2|0|U|return
Answer: #|web|D001|PNAME2|NMP40 player 1|cb91|return
SPNAMEx
Set player name
Command: SPNAMEx (with ‘x’ as the slot number)
Arguments: [New name]
Example:
Command: #|D001|web|SPNAME2|NMP40 player 1|U|return
Answer: #|web|D001|SPNAME2|+|72c7|return
Page 18
18
GPIPx
Get IP
Command: GPIPx (with ‘x’ as the slot number)
Arguments: None
Feedback: IP adress