Maxine Audio Effects Microservice
Audio effects microservice constitutes ready-to-use containerized packages of cloud applications that are built from Maxine algorithms. These containers contain all end-to-end applications with necessary dependencies, which can be easily deployed on public and private clouds and enable client applications to provide the benefits of NVIDIA Maxine algorithms via cloud-based GPU computing. For example, mechanisms described in this document can be used to easily launch the audio effects microservice in a public/private GPU-based cloud for the purpose of using Maxine background denoiser, room echo canceller, and other Maxine Audio effects algorithms. The microservice instance receives and processes the audio stream from a client and returns the processed audio stream to the client.
The microservice offers the following GPU-accelerated AI-based audio effects:
Ensure the following prerequisites are available on your system for running the container:
Docker at least version 19.03 or later.
Refer to nvidia-docker for more informaiton about the latest nvidia-container-toolkit
.
Nvidia driver: 535+
Driver dependency is aligned to CUDA version at least 11.8 or later.
Fetch Command
section and run it to download the chart.Denoiser (Background Noise removal)
feature enabled.values.yaml
file in the extracted helm directory.- name: GST_DEBUG
value: '1'
- name: GLOG_v
value: '3'
- name: GLOG_logtostderr
value: '1'
- name: GRPC_WORKER_THREADS
value: '2'
- name: USE_DENOISER
value: 'true'
- name: USE_DEREVERB
value: 'false'
- name: USE_SUPERRES
value: 'false'
- name: USE_STUDIO_VOICE_PERF
value: 'false'
- name: USE_STUDIO_VOICE_QUALITY
value: 'false'
- name: ENABLE_BNR_V2
value: 'false'
- name: NUM_PIPELINES
value: '1'
- name: AUDIO_CHUNK_DURATION
value: '10'
- name: INPUT_SAMPLE_RATE
value: '48000'
- name: OUTPUT_SAMPLE_RATE
value: '48000'
- name: MAX_UDP_PORTS_PER_STREAM
value: '2'
- name: MAX_STREAMS
value: '200'
- name: INPUT_IO_TUNING_CONFIG
value: /opt/configs/input_io_props.json
- name: OUTPUT_IO_TUNING_CONFIG
value: /opt/configs/output_io_props.json
- name: NUM_OF_UDP_PORTS
value: '400'
- name: INTERNAL_UDP_PORT_START
value: '3308'
- name: EXTERNAL_UDP_PORT_START
value: '3308'
- name: MY_POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
service
as per requirementvalues.yaml
.ucf-maxine-audio-multistream-default-service.
ClusterIP
to NodePort
in values.yaml, line 114.type: ClusterIP
kubectl get svc
to connect to service.You will need to setup the NGC secret for the container image to be succesfully pulled. Follow the steps below to setup the NGC secret:
echo -n '$oauthtoken:<YOUR API KEY>' | base64 -w0
Replace <YOUR API KEY>
with your NGC API key.
config.json
with following content:{
"auths": {
"nvcr.io": {
"auth": "<NGC_REG_KEY>"
}
}
}
Replace <NGC_REG_KEY>
with the base64 value from the previous step.
kubectl create secret generic ngc-docker-reg-secret --from-file=.dockerconfigjson=config.json --type=kubernetes.io/dockerconfigjson
This will create a secret named ngc-docker-reg-secret
.
helm install maxine-audio-effects {{PATH TO EXTRACTED HELM}}
The server can support upto 600 concurrent streams for each of the individual effects. This number might vary if chaining of effects is performed.
Exceptions:
Machine with GPU of any of below architectures is supported:
NodePort
is not supported with UDP streaming type. It is only supported with GRPC streaming type.Please refer the Audio Effects User Guide under resources for a more detailed documentation.
sudo wget https://us.download.nvidia.com/tesla/525.60.13/NVIDIA-Linux-x86_64-525.60.13.run -c -P /usr/bin
sudo chmod +x /usr/bin/NVIDIA-Linux-x86_64-525.60.13.run
sudo init 3
sudo systemctl stop nvidia-persistenced
sudo systemctl stop nvidia-persistenced.service
sudo /usr/bin/NVIDIA-Linux-x86_64-525.60.13.run -s --no-x-check
helm repo add nvidia https://helm.ngc.nvidia.com/nvidia
helm repo update
helm fetch nvidia/gpu-operator --version v22.9.0--untar --untardir {fetch_directory}
helm upgrade --install {name} {fetch_directory } --values {parameter_override_file_path}
driver:
enabled: false
toolkit:
enabled: false
migManager:
enabled: false
dcgmExporter:
serviceMonitor:
enabled: true
By pulling and using Maxine Audio Effects software, you accept the terms and conditions of the corresponding License.