I was reading the documentation on the SpeechSynthesize function in Mathematica 11.2 and trying out the Basic Examples. They have Normal applied to the output of SpeechSynthesize (not sure for what purpose), and this appears to distort the sound to me. I.e., the following works normally:

SpeechSynthesize["Hello Wolfram"]

And the following, taken verbatim from the docs, results in growling with barely understandable words:

SpeechSynthesize["Hello Wolfram"] // Normal

The difference between Normal and unNormal versions of the output as it is presented in the Notebook UI is that the latter lets me click the *.wav file generated and open it in external program, while the former only has an icon with a waveform and no way to refer to the file.

I'm using 32-bit Mathematica 11.2 on a Linux 4.14 system.

So, what's happening here? Why do I get growling with Normal? And what was the reason to use Normal in the docs at all for the output?

  • $\begingroup$ I can't reproduce your issue (OSX 10.14.6, WL 12), but: The Normal causes the audio to be read from memory rather than from a temporary file, explained in the Audio documentation as "Use Normal to bring the data in out-of-core audio objects into memory". View the InputForm to see the difference. It would not shock me if the read-from-file version uses some substrate to play the file, and for in-memory audio, it does something else that is slightly less bulletproof. $\endgroup$
    – Carl Lange
    Aug 3 '19 at 9:37
  • $\begingroup$ @CarlLange actually yes, in the meantime I've played with it and seen that the Normal version contains the samples in a List, while the non-Normal one just has the filename. And the growling appears to not reproduce on 64-bit version, although doesn't play there either. Only the first 10% of the sound are played, which are also played normally on the 32-bit version before growling starts. On 64-bit MMA after the first 10% the playback simply stops. On MMA 11.3 and 12 (which are 64-bit-only) the issue doesn't happen at all. $\endgroup$
    – Ruslan
    Aug 3 '19 at 9:43

Your Answer

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

Browse other questions tagged or ask your own question.