I want to generate human voice using fft. For this, I analyzed a fft of my mother saying "e" and the result was that the points are in a normal distribution. Then I created a fft using a normal distribution, but the sound is a hissing.

On this site https://murilos.pythonanywhere.com/ are the two ffts, one with my mother voice and the other randomly generated.

  • $\begingroup$ Hi Eleno, and welcome to SE.SP! I don't understand the question. Are you asking what the characteristics of human voice frequency content is? As is, your question reads "why does a recording of my mother sound like my mother?" $\endgroup$
    – Jdip
    Jan 14, 2023 at 9:07
  • 1
    $\begingroup$ Are you assuming that things with the same PDF of discrete PSD amplitudes need to sound the same? Why? $\endgroup$ Jan 14, 2023 at 10:42
  • $\begingroup$ @Jdip I edited my question. $\endgroup$
    – Eleno
    Jan 14, 2023 at 14:07
  • $\begingroup$ @Marcus I don't know what PDF and PSD are. $\endgroup$
    – Eleno
    Jan 14, 2023 at 14:08
  • $\begingroup$ To clarify, are you only seeking to generate "e", or a full word / sentence? And should it sound like a particular speaker (e.g. you), or any human-sounding "e"? $\endgroup$ Jan 15, 2023 at 14:13

1 Answer 1


generate human voice using fft

Can't do. The FFT is too primitive for anything but simplest audio generation: different voices, instruments, etc. will all have similar or identical-looking FFT. It's not much more useful than manually drawing a raw signal.

FFT could synthesize an "e". It could synthesize a piano keystroke. Where it stops is sentences and music. Or even a single word spoken in your own voice.

Speech pieced together one independent letter at a time is iron screeching. The principal challenge is in "temporal coherence" - making realistic-sounding speech, accounting for tone and speaker - which introduces nonlinear interdependencies between any individual block that FFT could generate.

The FFT is brittle to noise, local time shifts, and time warps. It's a necessary, but not sufficient, stepping stone - the next step is time-frequency, see "Modulation Model vs Fourier Transform" here - and the next step is feature engineering, see this post.

As for how to synthesize an "e"... dunno, I'll let others answer, but it's simple enough for FFT.

  • $\begingroup$ I'm working with the signal now. $\endgroup$
    – Eleno
    Apr 24, 2023 at 21:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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