I have a voice recording. I want to modify it to have a different voice but to keep the intonational shifts and the pauses between the words. I want to be sure that the original voice cannot be recovered from the modified recording (sort of like a cryptographic hash function). How to achieve this?
1 Answer
I'm curious about why you would need/want to do this as opposed to getting a voice actor to speak your lines.
There are a couple of approaches you can take to this.
The simplest is probably to apply some serious mangling to the voice using things like ring modulators or vocoders. These will change the voice so much that recovering the original voice from a recording becomes such a mammoth task that it's just not worth doing. The downside here is that you lose intelligibility: the more you mangle the voice, the less understandable it becomes.
The more complex solution is to use AI/DeepFake technology: The AI is trained to understand the original voice, then given a different voice to pull phonemes from. The new phonemes are used to reconstruct the original phrase in the new voice. DeepFake voices take around a week to construct and are still detectable as fakes. Twenty Thousand Hertz has a great explanation of the DeepFake process. With this solution, you retain maximum intelligibility, but it's very expensive in terms of time and effort.