About the Studio Voice Effect#
Speech recorded with low-end microphones in less-than-ideal acoustic environments can contain distortions such as reverberations or static noise. The Studio Voice effect can enhance and recover degraded speech recorded using low-end microphones in non-ideal acoustic environments (for example, with reverb and static). This effect also recovers speech degraded by noise-reduction filters or beamforming algorithms. The resulting audio sounds better than the original because of the removal or reduction of degradation and artifacts, making the audio sound more like a recording in a professional studio setup.
This effect has two variations:
Studio Voice High Quality
Studio Voice Low Latency
Studio Voice High Quality#
This effect is intended for offline use cases, such as post-processing video and audio files.
For a batch of recordings, create and load one effect instance, process all recordings with that instance, call NvAFX_Reset between unrelated audio sources, and destroy the effect after the batch. Avoid starting a new process or reloading the model for every file; effect creation and model loading are initialization costs, not per-frame latency.
This effect supports the following configurations:
16-kHz degraded speech to 16-kHz enhanced speech.
48-kHz degraded speech to 48-kHz enhanced speech.
Acquire the Windows feature files once from the SDK features directory:
powershell -ExecutionPolicy Bypass -File .\download_features.ps1 -Effects studio_voice_high_quality-16k,studio_voice_high_quality-48k -Version 3.0.0 -Output_Directory .
Run from an existing package without network access. The x64 helper directory
is shown; on NVIDIA N1X, use samples\build-arm64\Release\scripts:
Set-Location $env:AFX_SDK_ROOT\samples\build\Release\scripts
.\run_effects_demo.bat -e studio_voice_high_quality -isr 16k -osr 16k
.\run_effects_demo.bat -e studio_voice_high_quality -isr 48k -osr 48k
Note
For more information, see Use the Helper Script to Run the Sample Application.
Acquire the Linux models once from the SDK models directory:
./download_models.sh --gpu <gpu> --effects studio_voice-16k,studio_voice-48k
Run locally from the built Linux effects_demo sample directory:
./run_effect.sh -g t4 -s 16 -e studio_voice_high_quality
./run_effect.sh -g t4 -s 48 -e studio_voice_high_quality
Note
For more information, see Use the Helper Script to Run the Sample Application.
Note
This effect is not optimized for real-time use cases or for optimal GPU usage. Outputs might have extra latency (up to 6 seconds) and, depending on your system specifications, are not guaranteed to be generated in real time.
This effect uses large input/output chunk sizes (6 seconds per inference, which can be queried using NvAFX_GetU32) and currently does not support multiple batches or delayed streams.
Studio Voice Low Latency#
This effect is intended for online or real-time use cases (for example, online voice conferences or broadcast apps).
This effect supports the following configuration:
48-kHz degraded speech to 48-kHz enhanced speech.
Microphone Profiles#
Studio Voice Low Latency can optionally apply a microphone profile to its enhanced output. The default is passthrough, which leaves the Studio Voice output unchanged.
The following profiles are available:
Profile |
Character |
|---|---|
Passthrough |
Microphone profile disabled. |
Bright |
Clear and sharp, with audible detail. |
Vibrant |
Rich sound with added character. |
Flat |
Natural, balanced sound. |
Full |
Rich, deep, clear sound. |
Thin |
Light sound with less depth. |
Warm |
Soft, smooth, bass-heavy sound. |
Note
This effect is optimized specifically for real-time use cases, where input audio is provided in small chunks and output audio is expected back with minimal delay.
This effect should not be used for offline use cases (such as post-processing) because it processes audio in very small input chunks. Use the high-quality effect for offline cases. Do not compare the two variants by API-call time alone: they use different frame sizes and target different latency requirements. Compare end-to-end throughput for offline work and frame latency against the real-time budget for interactive work.
Acquire the Windows low-latency feature once from the SDK features directory:
powershell -ExecutionPolicy Bypass -File .\download_features.ps1 -Effects studio_voice_low_latency-48k -Version 3.0.0 -Output_Directory .
Run from the existing package without network access:
Set-Location $env:AFX_SDK_ROOT\samples\build\Release\scripts
.\run_effects_demo.bat -e studio_voice_low_latency -isr 48k -osr 48k
Note
For more information, see Use the Helper Script to Run the Sample Application.
Acquire the Linux Studio Voice models once from the SDK models directory:
./download_models.sh --gpu <gpu> --effects studio_voice-16k,studio_voice-48k
Then run the low-latency effect locally from the built sample directory:
./run_effect.sh -g t4 -s 48 -e studio_voice_low_latency
Note
For more information, see Use the Helper Script to Run the Sample Application.
Note
This effect is not optimized for optimal GPU usage. Outputs might have extra latency (up to 110 ms) and might not be generated in real time on lower-end GPUs. Also, this effect does not currently support multiple batches or delayed streams.