We are trying to convert text to an artist's voice. For example, we want input text in Justin Bieber's voice. We are converting text to mp3 files in Python using gTTS (Google Text-to-Speech). We can then change the pitch or speed to some extent.

How can we convert gTTS's mp3 file to Justin Bieber's voice? Any pointers will be helpful. Thanks :)

  • $\begingroup$ Exactly how do you know that gTTS's voice isn't Mr. Bieber's? Maybe his voice acting is good enough to imitate or be the basis of Google's? $\endgroup$
    – hotpaw2
    Oct 14 '17 at 22:09

How we should go about from converting Google Text to Speech's m3 file to Justin Bieber's voice?

Ask Mr. Bieber to repeat what your MP3 says.

I think letting one speech synthesizer first speak something and then hoping to convert it is a bad approach (as you can see if you consider how complicated that would be – first, you need to recognize in some low-level way the things that the speech synth said, then re-synthesize them with a Bieber voice synth).

Instead, "just" implement a Bieber voice synth. That will "only" require you to have a model of the target voice, instead of another model for utterance recognition.

I'm not deep enough into voice synthesis, but common voice models have a metric ton of parameters that you can tweak – maybe you can tweak a male voice model until it resembles Mr. Bieber's voice?

I honestly think you might be widely underestimating the nuances and number of parameters that human voice has.

For example, record you saying something, and then record someone from two generations older than you (or younger than you, whichever is easier to find) say the same thing. Compare rhythm, compare amount of pauses, compare stress on syllables and words – you can't just go ahead and convert your voicing into someone else's voicing just by means of simple transformation.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.