Audience mute

This tutorial shows how to control the audience mute experience for Nureva® HDL310, HDL410 and HDX systems over the local control API. Adaptive Voice Amplification allows a presenter’s voice to be amplified in the room and lets the presenter control the microphone pickup of the in-room audience. For more information, see this article.

Supported devices

  • HDL310 and HDL410 (firmware v1.9 or later)
  • HDX

What can be controlled with the API?

The local control API exposes a dedicated audienceMute attribute inside the audio settings model. You can read the value to determine if the audience is muted or unmuted for remote participants and toggle it at any time while Adaptive Voice Amplification is active.

📘

It is recommended to set the microphoneMute attribute to false so audienceMute will have the expected effect. If microphoneMute is set to true, follow the Microphone Mute tutorial to disable microphone mute.

Minimum role required: general

The Get audio settings and Set audio settings endpoints accept the general role (recommended) or any higher role that already has access to the device on the local network. Follow the Authorization tutorial to authenticate with a general role and obtain YOUR_GENERAL_AUTHPARAMETERS which is required for the requests below.

Overview

  1. Confirm Adaptive Voice Amplification is enabled:

    • For HDL310 or HDL410 systems, call Get audio settings to read the current audio state and confirm that voiceAmplificationEnabled is true.
    • For HDX systems, call Get devices to confirm that an external microphone is registered.
  2. Call Set audio settings with the audienceMute attribute set to true (mute audience) or false (unmute audience).

  3. Call Get audio settings again to verify that the updated audienceMute value has been applied.


Instructions

Step 1 - HDL310 and HDL410: Make a request to get the current audio settings

Audience mute is available only when Adaptive Voice Amplification is enabled. For HDL310 or HDL410 systems:

  1. Set the path with the IP address of the Nureva device followed by /api/v1/audio.
  2. Update the headers to include Authorization as key and the value being Nureva followed by the authParameters received from the login endpoint using the general account.
  3. Update the headers to include Nureva-Client-Id as key and integration_app_name as the value.
  4. Update the headers to include Nureva-Client-Version as key and 0.0.1 as the value.
  5. Call Get audio settings so you can inspect both voiceAmplificationEnabled and audienceMute.
curl --request GET \
     --url https://10.0.0.1/api/v1/audio \
     --header 'Authorization: Nureva <YOUR_GENERAL_AUTHPARAMETERS>' \
     --header 'Nureva-Client-Id: integration_app_name' \
     --header 'Nureva-Client-Version: 0.0.1'
  1. If voiceAmplificationEnabled is set to false, follow the Adaptive Voice Amplification tutorial to enable Adaptive Voice Amplification.
  2. If the call is successful, an HTTP status code of 200 OK will be returned.

Example response with the audience unmuted:

{
  "voiceAmplificationEnabled": true,
  "microphoneMute": false,
  "audienceMute": false,
  "microphoneDuckingEnabled": true
}

Step 1 - HDX: Make a request to get all peripheral configurations

Audience mute is available only when Adaptive Voice Amplification is enabled. For HDX systems, a registered external microphone enables Adaptive Voice Amplification.

  1. Set the path with the IP address of the Nureva device followed by /api/v1/room/devices.
  2. Update the headers to include Authorization as key and the value being Nureva followed by the authParameters received from the login endpoint using the general account.
  3. Update the headers to include Nureva-Client-Id as key and integration_app_name as the value.
  4. Update the headers to include Nureva-Client-Version as key and 0.0.1 as the value.
  5. Send the GET request. The code sample below is a request to retrieve the peripherals for the Nureva device with the IP address of 10.0.0.1.

Example of request

curl --request GET \
    --url https://10.0.0.1/api/v1/room/devices \
    --header 'Authorization: Nureva <YOUR_GENERAL_AUTHPARAMETERS>' \
    --header 'Nureva-Client-Id: integration_app_name' \
    --header 'Nureva-Client-Version: 0.0.1' \
  1. If the call is successful, an HTTP status code of 200 OK and the Nureva device details together with all its peripherals will be returned.

Example of HDX response

{
  "devices": [
    {
      "deviceId": "MK072S69M025060",
      "deviceType": "nu-audio-device",
      "audioDeviceType": "HDX",
      "deviceStatusColor": "green",
      "hardwareComponents": [
        {
          "portNumber": 1,
          "connectionStatus": "Connected",
          "hardwareId": "AAFDE9C1E2E7",
          "model": "HDX_AudioBar"
        },
        {
          "portNumber": 5,
          "connectionStatus": "Connected",
          "hardwareId": "XXXXX0X0X0X5",
          "model": "HDX_MicPod"
        }
      ]
    },
    {
      "deviceType": "adaptive-voice-amplification",
      "deviceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "customName": "External microphone",
      "channelNumber": 1,
      "signalLevelGain": 0,
      "voiceAmplificationLevelInPercentage": 0,
      "microphoneDuckingEnabled": false,
      "voiceAmplificationGateThreshold": 0,
      "voiceAmplificationUsbOutputGainLevel": 0,
      "isMuted": false
    }
  ]
}
  1. Look for "deviceType": "adaptive-voice-amplification" in the response body to verify an external microphone is registered. If this line is not present, register an external microphone by following Step 1 - Make a request to register new peripheral to Nureva system.

Step 2 - Make a request to mute or unmute the audience

Set the audienceMute attribute using the Set audio settings endpoint.

  1. Set the path with the IP address of the Nureva device followed by /api/v1/audio.
  2. Update the headers to include Authorization as key and the value being Nureva followed by the authParameters received from the login endpoint using the general account.
  3. Update the headers to include Nureva-Client-Id as key and integration_app_name as the value.
  4. Update the headers to include Nureva-Client-Version as key and 0.0.1 as the value.
  5. Send a PATCH request with body "audienceMute": true to mute the in-room audience or false to unmute the in-room audience.
curl --request PATCH \
  --url https://10.0.0.1/api/v1/audio \
  --header 'Authorization: Nureva <YOUR_GENERAL_AUTHPARAMETERS>' \
  --header 'Nureva-Client-Id: integration_app_name' \
  --header 'Nureva-Client-Version: 0.0.1' \
  --header 'Content-Type: application/json' \
  --data '{"audienceMute": true}'
  1. If the call is successful, an HTTP status code of 200 OK will be returned.

Tip: Audience mute automatically returns to false when a conferencing session ends, so integrations should set the value before or at the start of the next meeting.

Step 3 - Check that the change has been applied successfully

Issue another Get audio settings request so that your application reflects the live state and logs when the audience is muted.

{
  "voiceAmplificationEnabled": true,
  "microphoneMute": false,
  "audienceMute": true,
  "microphoneDuckingEnabled": true
}

Tutorial complete!

You can now mute or unmute the in-room audience through the local control API while Adaptive Voice Amplification is active.


Did this page help you?