45

As many amateurs and beginners know, IPA is difficult to memorize and internalize at first. Does software exist where one can paste in IPA text and hear synthesized speech (ideally in the form of a web page converter)?

I realize that such software would have to have caveats: it would be language specific since IPA to sound mappings can vary among languages, it would sound artificial and thus not be a completely accurate compared to the real sound of a given dialect, it might not get syllable stress right without diacritics. Nonetheless, it could be helpful when one reads a IPA representation of a dialect that one does not have a recording of and has not heard in real life.

This question is similar, but not the same as it is basically asking for a text-to-text lookup table. Some of the links in this answer are good for audio of individual phonemes (fascinating in itself), but do not seem to aggregate them into words.

This online forum mentions a converter here, but it seems to be mostly discontinued and not IPA as far as I can tell.

If this does not exist, I am considering writing a crude one based on the clips from here. I wonder what I will learn through that process.

  • 2
    I did use Microsofts speech SDK once upon a time, but it didn't work as expected. I passed in Greek IPA words in their correct representation, but they did not sound good (the robot had still a slight American accent). I had to tweak a lot in order to make it sound good, but the IPA representation ended up being far from accurate. – Midas Oct 21 '14 at 6:37
  • Similar question at superuser.com/q/721036 – Greek - Area 51 Proposal May 6 '15 at 1:02
  • 2
    I don't know of a convertor but there are websites that exemplify pretty well every IPA phone, e.g. the UCLA Phonetics Lab Data page. You can look up IPA by contrast type on the index of sounds. For what you want, maybe you could write a script that takes an IPA symbol and looks it up on this website? – Gaston Ümlaut May 6 '15 at 22:40
  • A "Vocaloid" (en.wikipedia.org/wiki/Vocaloid) is apparently a souped up version of diphone synthesis. But from reading about them, it's not clear to me whether they could be given a set of voice samples for the full IPA and be made to ignore the singing part. (Yes, I know, that would be zillions of samples.) – WGroleau Aug 8 '16 at 2:53
  • 1
    Here's an answer from superuser: superuser.com/questions/721036/… – Jamie Folsom Oct 26 '18 at 13:47
14

I'm currently using espeak, an open-source software. Not so bad, even if the voices sound artificial. Details here.

E.g. : (Seneca, Epistulae ad Lucilium, 1.1.1)

espeak -v eo --ipa -s120 -p60 -a20 "[['ita'fak'mi:lu:'ki:li:]]"

i.e. speak with an Esperanto voice (-v eo), print the IPA on the console (--ipa), set the speed at 120 words per minute (-s120; range : 80-500, 260 recommended by the doc), set the pitch to 60 (-p60; range : 0-99), and the amplitude to 20 (-a20; range : 0-100).

  • Couple of things wrong with this. First the --ipa arg seems to be for it to output IPA to STDOUT as it speaks. Second, it doesn't take IPA does it? It takes an ASCII representation with as-close-to-IPA-as-possible syntax. That said, thank you for introducing me, it is an interesting program. – Igid Apr 15 at 21:38
12

Amazon Web Services' Polly text-to-speech service supports Speech Synthesis Markup Language (SSML) and specifically its <phoneme> element.

You will need to create an AWS account, but you can then use the 'get started' demo to hear the speech of any (supported) SSML. The demo is here.

For example, I put in the IPA from the Wikipedia article for the Binturong as this /bɪnˈtuːrɒŋ/ like this:

<phoneme alphabet="ipa" ph="/bɪnˈtuːrɒŋ/ ">Binturong</phoneme>

It seems to work pretty well and you can choose from a wide selection of voices.

  • I tried AWS Polly and discovered that the IPA given to me by one website for a Portuguese word didn't sound as I expected. My guess is that Polly is correct, but I wish I knew for certain. – L S Oct 2 '17 at 16:06
8

You might try using mbrola. http://tcts.fpms.ac.be/synthesis/mbrola.html

It's a downloadable speech synthesizer, where you type in a sound and it uses diphone synthesis to play it back.

To play a given sound, you would type in something like this:

_ 200 10 120

a 300 10 120

_ 200 10 120

The above text means, line by line "play silence for 200ms, and at 10% of that 200ms duration, the pitch should be 120Hz. Then play the sound /a/ for 300ms, and at 10% of that the pitch is 120Hz, and then play 200ms of silence again." So it goes duration [tab] pitch-time [tab] pitch value.

It doesn't use IPA, it uses X-SAMPA, but you can easily convert between the two scripts, and the sound file databases will also have IPA in them.

6

There is a phoneme synthesis tool that runs entirely in your browser and converts IPA into sound that you can play in your browser or download as a WAV file. It requires no software to install, no notation to learn (beyond IPA itself), and works quickly and well.

The program is Javascript and uses several of the tools described in other answers. In particular, it uses the free software/open source program eSpeak has been able synthesize speech from something like IPA for years but its notation for describing phonemes is different. As a result, one must first convert from IPA to eSpeak's notation. Once that's done, it will synthesize text. The tool at the URL above does these two steps (IPA→eSpeak phoneme notation→synthesized speech). The page for the tool explains the process and remarks that it is strange that this hasn't been done before.

  • 2
    It is an improvement, but it can only handle a subset of IPA: apparently on the English-phoneme subset (not e.g. [ø, β, y, ʕ]. You probably can't see the deleted answer that points to this program. – user6726 Apr 4 '18 at 16:36
  • Digging through the code of phoneme-synthesis, it seems like there's an en.json which may be able to be swapped out for other languages? Not sure where en.json came from, though. – Fund Monica's Lawsuit Nov 19 at 13:36
5

IBM Text to Speech also supports IPA per their docs here: https://console.bluemix.net/docs/services/text-to-speech/SPRs.html#ipa https://console.bluemix.net/docs/services/text-to-speech/SSML-elements.html#phoneme_element

Here is an example of SSML in ipa to generate audio for the word tomato:

<speak version="1.0">
<phoneme alphabet="ipa" ph="təˈmeɪ.ɾoʊ">tomato</phoneme>
</speak>
4

Google revealed this Reddit thread, but beware that this can fail for some words:

I can think of one, but it's fairly limited to the phonology of American English. Thus, you may get the program to pronounce /kæt/, but not something like /npoks/. Here you go:

http://www2.research.att.com/~ttsweb/tts/demo.php

The syntax of the program is like the following line; just change the value of ph
[but NOT ph itself] to the IPA representation of what you want the program to say and give it a shot.

<phoneme alphabet="ipa" ph="kæt"> </phoneme>

In other words, after visiting that website, replace BLANK with the IPA to be enunciated.

<phoneme alphabet="ipa" ph="BLANK"> </phoneme>


Google also linked to this, but has anyone else been able to operate this? It was last updated in October 2011 and fails to work on my Firefox browser.

Footnote: See this duplicate.

4

Try ekho if you want to synthesize Mandarin and other Chinese dialects. It's open-source and hosted on github.

3

The AT&T text to speech wizard moved to www.wizzardsoftware.com/text-to-speech-sdk.php

3

IPA Reader is a nice front-end to Amazon's Polly service, configured specifically for IPA text.

Click on the “Read” button for it to read the word “ad hoc” out loud.

New contributor
Noach Magedman is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.

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.