Audio processing

This tutorial will show you how to view and set your audio processing settings, including echo reduction and noise reduction.

Nureva® audio devices continuously auto-calibrate for optimal audio quality. Audio processing settings for echo reduction and noise reduction are available, but they should only be adjusted with the API if users are experiencing problems.

Echo reductionNoise reduction
LowLow
Medium (recommended)Medium (recommended)
HighHigh

What can be controlled with the API?

The local control API provides the ability to adjust echo reduction and noise reduction on the Nureva audio device.

Minimum role required: general

The Get Audio Settings endpoint and Set Audio Settings endpoint can be accessed with the general role or any role of a higher level.

Overview

  1. Use Get Audio Settings to make a request to get the current audio processing settings on the audio device.

  2. Use Set Audio Settings to make a request to adjust the echo reduction setting.

  3. Use Get Audio Settings to check that the change has been applied successfully.

  4. Use Set Audio Settings to make a request to adjust the noise reduction setting.

  5. Use Get Audio Settings to check that the change has been applied successfully.


Instructions

Step 1 - Make a request to get the current audio processing settings

Use the Get 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.
  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 settings for the device with the IP address of 10.0.0.1.
curl --request GET \
     --url https://10.0.0.1/api/v1/audio \
     --header 'Authorization: Nureva Z2VuZXJhbDo=' \
     --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 will be returned.
  2. Check the values of the echoReductionLevel and noiseReductionLevel attributes.

The example response below indicates that both are currently on the Medium level.

{
  "microphoneMute": false,
  "microphonePickupState": "Mono",
  "microphoneGain": 3,
  "speakerTrebleLevel": 90,
  "speakerBassLevel": 16,
  "echoReductionLevel": "Medium",
  "noiseReductionLevel": "Medium",
  "auxiliaryOutputState": "LineLevel",
  "voiceAmplificationEnabled": false,
  "voiceAmplificationLevel": 25,
  "voiceAmplificationAuxInLevel": "Mic",
  "dynamicBoostEnabled": false,
  "microphoneDuckingEnabled": false
}

Step 2 - Make a request to set the echo reduction level

Use 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.
  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. Update the headers to include Content-type as key and application/json as value.
  6. Add the property "echoReductionLevel" to the body property.
  7. In this example, we will adjust the setting by increasing the echo reduction level. Give "echoReductionLevel" a value of High to increase or Low to decrease from the current Medium level. The code sample below is a request to increase the echo reduction level.
curl --request PATCH \
  --url https://10.0.0.1/api/v1/audio \
  --header 'Authorization: Nureva Z2VuZXJhbDo=' \
  --header 'Nureva-Client-Id: integration_app_name' \
  --header 'Nureva-Client-Version: 0.0.1'\
  --header 'Content-type: application/json' \
  --data '{"echoReductionLevel":"High"}'
  1. Send the PATCH request.
  2. If the call is successful, an HTTP status code of 200 OK will be returned.

Step 3 - Check that the change has been applied successfully

Use the Get 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.
  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 settings for the device with the IP address of 10.0.0.1.
curl --request GET \
     --url https://10.0.0.1/api/v1/audio \
     --header 'Authorization: Nureva Z2VuZXJhbDo=' \
     --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 will be returned.
  2. Check the value of the echoReductionLevel attribute.

The example below indicates that the change (set echo reduction level to High) was successfully applied.

{
  "microphoneMute": false,
  "microphonePickupState": "Mono",
  "microphoneGain": 3,
  "speakerTrebleLevel": 90,
  "speakerBassLevel": 16,
  "echoReductionLevel": "High",
  "noiseReductionLevel": "Medium",
  "auxiliaryOutputState": "LineLevel",
  "voiceAmplificationEnabled": false,
  "voiceAmplificationLevel": 25,
  "voiceAmplificationAuxInLevel": "Mic",
  "dynamicBoostEnabled": false,
  "microphoneDuckingEnabled": false
}

Step 4 - Make a request to set the noise reduction level

Use 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.
  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. Update the headers to include Content-type as key and application/json as value.
  6. Add the property "noiseReductionLevel" to the body property.
  7. In this example, we will adjust the setting by increasing the noise reduction level. Give "noiseReductionLevel" a value of High to increase or Low to decrease from the current Medium level. The code sample below is a request to increase the noise reduction level.
curl --request PATCH \
  --url https://10.0.0.1/api/v1/audio \
  --header 'Authorization: Nureva Z2VuZXJhbDo=' \
  --header 'Nureva-Client-Id: integration_app_name' \
  --header 'Nureva-Client-Version: 0.0.1'\
  --header 'Content-type: application/json' \
  --data '{"noiseReductionLevel":"High"}'
  1. Send the PATCH request.
  2. If the call is successful, an HTTP status code of 200 OK will be returned.

Step 5 - Check that the change has been applied successfully

Use the Get 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.
  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 settings for the device with the IP address of 10.0.0.1.
curl --request GET \
     --url https://10.0.0.1/api/v1/audio \
     --header 'Authorization: Nureva Z2VuZXJhbDo=' \
     --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 will be returned.
  2. Check the value of the noiseReductionLevel attribute.

The example below indicates that the changes were successfully applied.

{
  "microphoneMute": false,
  "microphonePickupState": "Mono",
  "microphoneGain": 3,
  "speakerTrebleLevel": 90,
  "speakerBassLevel": 16,
  "echoReductionLevel": "High",
  "noiseReductionLevel": "High",
  "auxiliaryOutputState": "LineLevel",
  "voiceAmplificationEnabled": false,
  "voiceAmplificationLevel": 25,
  "voiceAmplificationAuxInLevel": "Mic",
  "dynamicBoostEnabled": false,
  "microphoneDuckingEnabled": false
}

Tutorial complete!

You now know how to view and make changes to the audio processing settings.