BGM source selection in a hospitality application
This system design template shows a simple audio system which uses the networking control capabilities of Tesira to control the functionality of a PMR4000RMKIII music source. This functionality is common in any application that requires multiple background music sources, and it is particularly common in hospitality environments.
Control of source selection is accomplished by programming Tesira to send Ethernet command strings to the PMR4000RMKIII to control the power status, playback source and presets. A REVAMP2060T and KUBO5 loudspeakers complete the audio system and a TEC-X 1000 wall control gives the capability of changing the music source and output volume from a simple, intuitive end user control interface.
Equipment list
Below is the list of Biamp equipment used in this project:
- 1 - Tesira server class device - of any type
- 1 - PMR4000RMKIII - multi source music player
- 1 - REVAMP2060T - amplifier
- 2 - KUBO5 - loudspeakers
- 1 - TEC-X 1000 - wall control
Networking details and commands
This application example only uses the control network interface of the Tesira but the same concept will work when using more complex network topologies using AVB and Dante capable hardware. Note that a DHCP server or static IP address is required by the PMR4000RMKIII, internet access is also required to supply the required internet radio streams to the PMR4000RMKIII. The same network is used for control of the PMR4000RMKIII from Tesira and configuration of the system from a computer.
The Tesira uses the Network Command String block to control the PMR4000RMKIII via direct TCP commands. Full details of all PMR4000RMKIII command strings can be found in the PMR4000RMKIII Control Command List.
When a command is sent to the PMR4000RMKIII from a web browser the command format is as follows:-
http://<IP ADDRESS>/fsapi/SET/netRemote.sys.mode?value=0&pin=1234
This command changes the mode to internet radio.
All of these example commands assume that the PMR4000RMKIII pin code is set to the default of 1234, if the pin code has been changed then the pin in each of the commands must also be changed to reflect this.
When sending the command from a Tesira via an Ethernet command string the commands need to be slightly reformatted to allow the PMR4000RMKIII to accept them by adding the GET prefix, carriage return and replacing spaces with tilda's, the commands which are sent from Tesira are as follows:-
- Standby ON - GET /fsapi/SET/netRemote.sys.power?value=0&pin=1234 HTTP/1.1~0d~0a~0d~0a
- Standby OFF - GET /fsapi/SET/netRemote.sys.power?value=1&pin=1234 HTTP/1.1~0d~0a~0d~0a
- Change to Internet radio mode - GET /fsapi/SET/netRemote.sys.mode?value=0&pin=1234 HTTP/1.1~0d~0a~0d~0a
- Change to Spotify mode - GET /fsapi/SET/netRemote.sys.mode?value=1&pin=1234 HTTP/1.1~0d~0a~0d~0a
- Change to DAB+ mode - GET /fsapi/SET/netRemote.sys.mode?value=4&pin=1234 HTTP/1.1~0d~0a~0d~0a
- Change to FM mode - GET /fsapi/SET/netRemote.sys.mode?value=5&pin=1234 HTTP/1.1~0d~0a~0d~0a
- Recall preset 1 - GET /fsapi/SET/netRemote.nav.action.selectPreset?value=0&pin=1234 HTTP/1.1~0d~0a~0d~0a
- Recall preset 2 - GET /fsapi/SET/netRemote.nav.action.selectPreset?value=1&pin=1234 HTTP/1.1~0d~0a~0d~0a
- Recall preset 3 - GET /fsapi/SET/netRemote.nav.action.selectPreset?value=2&pin=1234 HTTP/1.1~0d~0a~0d~0a
- Recall preset 4 - GET /fsapi/SET/netRemote.nav.action.selectPreset?value=3&pin=1234 HTTP/1.1~0d~0a~0d~0a
- Recall preset 5 - GET /fsapi/SET/netRemote.nav.action.selectPreset?value=4&pin=1234 HTTP/1.1~0d~0a~0d~0a
- Recall preset 6 - GET /fsapi/SET/netRemote.nav.action.selectPreset?value=5&pin=1234 HTTP/1.1~0d~0a~0d~0a
- Recall preset 7 - GET /fsapi/SET/netRemote.nav.action.selectPreset?value=6&pin=1234 HTTP/1.1~0d~0a~0d~0a
- Recall preset 8 - GET /fsapi/SET/netRemote.nav.action.selectPreset?value=7&pin=1234 HTTP/1.1~0d~0a~0d~0a
- Recall preset 9 - GET /fsapi/SET/netRemote.nav.action.selectPreset?value=8&pin=1234 HTTP/1.1~0d~0a~0d~0a
- Recall preset 10 - GET /fsapi/SET/netRemote.nav.action.selectPreset?value=9&pin=1234 HTTP/1.1~0d~0a~0d~0a
- Change Nav State (send first to allow a preset to be recalled) - GET /fsapi/SET/netRemote.nav.state?value=1&pin=1234 HTTP/1.1~0d~0a~0d~0a
To change the mode the change mode to xxx command can be sent directly.
To change to a new preset two commands need to be sent, they are:-
- Change nav state to on
- Change to the required preset
Between each command a 100ms delay is required so the PMR4000RMKIII can correctly interpret the commands, this is achieved by using logic delay blocks.
The IP address and port of the PMR4000RMKIII must be set in the Tesira Network Command String properties.
Please note that the above commands are valid for the PMR4000RMKIII. It is however possible to use a PMR4000RMKII version but the mode select commands need to be changed as follows:-
- Change to Internet radio mode - GET /fsapi/SET/netRemote.sys.mode?value=0&pin=1234 HTTP/1.1~0d~0a~0d~0a
- Change to FM mode - GET /fsapi/SET/netRemote.sys.mode?value=2&pin=1234 HTTP/1.1~0d~0a~0d~0a
Also note that the PMR4000RMKII does not have Spotify and DAB+ capabilities so those commands should not be used.
In the above example a TEC-X 1000 wall control is also connected to the network, this is POE powered and allows the end user to control the audio level to the loudspeakers as well as choose between internet radio and FM radio plus recalling of station presets.
Configuring Tesira
The Tesira design shown uses a simple audio path from a stereo input to a stereo output with a level control and meters.
Note that the property sheet
for the network command
string block needs to be edited to use TCP protocol, the IP address of the PMR4000R, remote port 80 and auto connect set to true.
The network command string block is programmed with the above commands which control all functions of PMR4000R.
The power on/off and mode change commands (Internet Radio, Spotify, DAB+, FM) are all sent directly to the PMR4000R.
The preset recall commands require two commands, the set nav state on command followed by the preset recall command 100ms later. This is achieved by the use of an OR gate which becomes active when any preset recall command is selected and a logic delay which applies the preset recall command 100ms later.
In this example the commands are sent from a logic selector block but could easily be linked to a source selector, external logic inputs or a wall panel such as TEC-X.
An automatic reset feature has also been added, without this there would be a possibility that the correct mode could not be selected if the front panel mode selection of the PMR4000RMKIII is used, This is done by applying all commands to another OR gate which after a 300ms delay activates a mute block which feeds a tone to a signal present meter. The logic output of the signal present meter is used to select logic selector input 17 which resets the logic selector to allow any new mode command to be sent. This workaround is needed to avoid a logic feedback loop which is not allowed in Tesira software.
The programming of the TEC-X wall control is also made within the Tesira software, this is a simple process of choosing the required layout and assigning the required functions to the available buttons on the wall control.
Example files
The example .zip file download below for this system design template includes all of the commands required to be sent to the PMR4000R and the logic design to recall these commands. This can easily be added to an existing or new Tesira design to allow control of the PMR4000R power state, mode and preset. Also enclosed in the zip file is the requqired .json file which can be uploaded to a TEC-X 1000 to control the Tesira system and change the operating mode from Internet Radio to FM and recall three station presets.
File Download: Tesira control of PMR4000R