Voicemod Extension
About Voicemod
Voicemod adds real-time voice changing and custom sound effects to your application. You can find the source and more information at https://www.voicemod.net/developers/
This Voicemod Extension provides the following audio nodes for a Switchboard SDK audio graph:
Node | Description |
---|---|
VoicemodNode | A processing node which applies Voicemod effects to the incoming audio. |
Available effects:
Effect name | Description |
---|---|
baby | Transforms the voice to sound like a small child, high-pitched and youthful. |
blocks | Alters the voice to have a digital, block-like quality, reminiscent of retro video game characters. |
cave | Creates an echo effect as if the voice is coming from within a large, empty cave. |
deep | Lowers the pitch of the voice, giving it a deep, resonant quality. |
magic-chords | Adds musical, harmonious undertones to the voice, creating a melody-like effect. |
out-of-range | Distorts the voice to sound as if it's breaking up, simulating a poor connection or signal loss. |
pilot | Modifies the voice to resemble a pilot speaking through an aircraft's communication system. |
speechifier | Converts the voice into a more formal, oratorical tone, suitable for speeches or announcements. |
trap-tune | Applies autotune and rhythmic alterations to the voice, creating a musical, trap-style effect. |
Integration
Android
Download the Voicemod extension from the downloads page and add the SwitchboardVoicemod.aar
file to your module's build.gradle
file:
dependencies {
implementation(files("libs/SwitchboardVoicemod.aar"))
}
iOS
Download the Voicemod extension from the downloads page and add the SwitchboardVoicemod.xcframework
file in Xcode under Frameworks, Libraries and Embedded Content.
Usage
Initialize the extension:
- Kotlin
- Swift
VoicemodExtension.initialize(context, "voicemod client key")
SBVoicemodExtension.initialize(withClientKey: "voicemod client key")
Load an effect:
- Kotlin
- Swift
val voicemodNode = VoicemodNode()
voicemodNode.loadVoice("baby")
let voicemodNode = SBVoicemodNode()
voicemodNode.loadVoice("baby")