Using Voice Fonts
Voice fonts allow participants to modify their voices in real time mainly for fun effects to improve social interaction in entertainment scenarios. The Dolby.io Communications APIs Platform offers twelve different voice fonts that imitate a variety of vocal tones and styles. If the offered voice fonts are not sufficient for you and you want to use a different voice modification effect, you can use our local audio stream pre-processing.
Available voice fonts
The following table lists audio samples for each available voice font:
Voice font | Example 1 | Example 2 |
---|---|---|
The original, unprocessed voice | ||
Abyss | ||
AM Radio | ||
Broken Robot | ||
Dark Modulation | ||
Feminine | ||
Helium | ||
Interference | ||
Masculine | ||
Nervous Robot | ||
Starship Captain | ||
Swarm | ||
Wobble |
Prerequisites
This feature is currently supported in the Android Client SDK 3.9, iOS Client SDK 3.9, and C++ SDK 2.5 and requires using the Standard [Android, iOS, C++] audio capture mode.
Enabling a voice font
To start using a voice font, select the Standard [Android, iOS, C++] audio capture mode and set the voiceFont [Android, iOS, C++] parameter to a preferred value.
VoxeetSDK.shared.audio.local.captureMode = .standard(noiseReduction: .high, voiceFont:.darkModulation)
VoxeetSDK.audio().getLocal().setCaptureMode(AudioCaptureMode.standard(StandardNoiseReduction.HIGH, VoiceFont.DARK_MODULATION));
VoxeetSDK.audio().local.setCaptureMode(AudioCaptureMode.standard(StandardNoiseReduction.HIGH, VoiceFont.DARK_MODULATION))
sdk->audio()
.local()
.set_capture_mode(dolbyio::comms::audio_capture_mode::standard{
dolbyio::comms::noise_reduction::high,
dolbyio::comms::voice_font::dark_modulation})
.then([]() { std::cout << "Setting voice font succeeded!"; })
.on_error([](std::exception_ptr&&) {
std::cerr << "Setting voice font failed!";
});
Disabling the set voice font
To stop using the set voice font and use your natural voice, set the Standard [Android, iOS, C++] audio capture mode and do not provide the voiceFont [Android, iOS, C++] parameter or set it to none
.
VoxeetSDK.shared.audio.local.captureMode = .standard(noiseReduction: .high)
VoxeetSDK.audio().getLocal().setCaptureMode(AudioCaptureMode.standard(StandardNoiseReduction.HIGH));
VoxeetSDK.audio().local.setCaptureMode(AudioCaptureMode.standard(StandardNoiseReduction.HIGH))
sdk->audio()
.local()
.set_capture_mode(dolbyio::comms::audio_capture_mode::standard{
dolbyio::comms::noise_reduction::high,
dolbyio::comms::voice_font::none})
.then([]() { std::cout << "Disabling voice font to n!"; })
.on_error([](std::exception_ptr&&) {
std::cerr << "Setting voice font failed!";
});
Troubleshooting
Be aware that using voice fonts may be disturbing during meetings and may result in decreased speech intelligibility. To have a better experience, speak naturally and avoid rushing and using filler words.
Voice fonts are designed for processing voice, so we recommend using them with high noise reduction that removes all background sounds. If you set noise reduction to low, additional sounds other than voice will be processed as well and passed to a conference.
Updated 2 days ago