Are the any open source tools/software libraries to convert an audio clip to its IPA representation? If so, are they accurate? If not, why not?

Here is a Gaelic word I wish to convert:

Ogg format:

Mp3 format:

Also how about phrases?

  • 1
    It is very difficult to convert to IPA correctly. Even matching the closest existing word is unreliable, as any user of speech recognition would tell you! – ithisa May 30 '13 at 20:49
  • 1
    @Eric Dong I'm not familiar with speech processing theory but I have worked with music processing and I'm well aware that humans are much better at transcribing music than computers. Is this a similar case, where the algorithms are simply not good enough, rather than the task at hand being impossible? I mean, a linguistic expert familiar with Gaelic would be able to listen to my audio files above and give their IPA representations, correct? – Baz May 30 '13 at 20:59
  • Music processing is even easier since pitches are easier to detect. – ithisa May 30 '13 at 21:00
  • 3
    @Eric, it's not just about narrow vs. broad transcription; there is simply not a one-to-one correspondence between articulatory configurations and acoustic output, so the errors would go beyond just "useless diacritics". – musicallinguist May 31 '13 at 18:45
  • 1
    Examples: 1) a voiceless high front vowel may be indistinguishable from a palatal fricative. 2) A phrase-final trilled /r/ in Icelandic is usually devoiced, and furthermore it is often not trilled at all, so acoustically it's realized like some kind of [s], though not like an Icelandic [s] (indeed, my Japanese father perceives them as [s]s). 3) Sometimes Icelandic phrase-final [r] starts off trilled and then "flattens out", resulting in two acoustically distinct intervals corresponding to one phone. How would a recognition system handle such cases without language-specific knowledge? – musicallinguist May 31 '13 at 18:46

The other thing to keep in mind is that not only is IPA language-dependent, it's also convention dependent http://phonetic-blog.blogspot.co.uk/2012/09/false-alarm.html. It's really just a tool to help linguists communicate not a tool for exact representation of speech sounds.


The other answers have hit the highlights, going so far as to suggest that it is impossible in principle. Contrariwise, I argue that it could be done in principle, as long as you don't overstate what IPA does. IPA is a conventional system (conventions can be voted in or out) for grouping a range of acoustic events to letters, with a coarse enough granularity that letter-to-sound mappings are not one-to-one – but they also aren't any-to-any (i.e. arbitrary). The letters are arranged into an secondary articulatory scheme, but we can still distinguish [tʃ] from [ŋ] without having to inspect the x-ray record.

IPA, with or without a transcribing AI, does not force a transcriber to select between [e, e:, ej, ei, ɛi, ɛɪ, ɛj, ɛ:] as possible transcriptions of English "great" (for any subset of English speakers). It does tell you that as a narrow phonetic transcription for my (West Coast GA) speech, [e:] is wrong, and for certain northern UK dialects [ɛɪ] is wrong. But IPA is not limited to use as a narrow transcription. At most, one could hope for automated narrow transcriptions. A phonetician can't tell you whether that thing you heard is narrowly phonetic [eit] or [ejt], so a program can't do it either.

The acoustic referents of IPA letters are somewhat ephemeral, in that expert training in IPA transcription (not just for English, but for the entire IPA) is a niche skill not widely practiced, and there is no large corpus of productions. To the extent that there is professional agreement on what [ʊ] refers to and what [u] refers to, one could measure the formants in a corpus of professional reference productions and devise a standard against which other sounds could be compared.

The most significant problem of principle is the same one faced by expert transcribers, which is that a decision about whether a certain vowel is [ʊ] has to be made not only with reference to some external standard, but with reference to other tokens on the target language. Suppose the standard formants of [o] are 360, 640, those of [u] are 250, 595, and those of [ʊ] are 305, 615. Then suppose you encounter a vowel that measures 325, 630. At the level of narrow transcription, [u] would be out because the measured formats are closer to those of [ʊ, o] than those of [u]. That vowel is between [ʊ] and [o]. But the IPA also includes adjustment diacritics to indicate "somewhat higher" or "somewhat lower". The algorithm might decide that a certain vowel token has the vowel [ö̝]. Other tokens could point to a vowel [ʊ], [ʊ̞], [u] and so on. It takes phonological analysis to decide "these are all free / contextual variants of [u]".

Nobody has gathered the skilled performances that are necessary to create the underlying acoustic database. If that were done, then it would become more possible to construct an IPA-transcribing program, at least one that produces narrow phonetic transcriptions.


IPA is not based on wave or acoustic properties of sounds, it is based on the anatomy of the sound origin.


Well, I'll add my non-answer to the other two. :-)

I'd like such a tool myself.

One thing that would make it harder than text-to-speech is that text-to-speech depends on context to better guess the right spelling of a word that can have many different sounds (depends on the speaker).

Other questions mention tools that do it for specific languages, but when the language is known, such tools have a much easier task. (The phonemic inventory is already known.)

But what should make it easier is that although a particular IPA symbol can represent many different sounds, there is a fairly narrow range of certain metrics of the relationships between formants, i.e., all those possible sounds are very similar.


i dont think it's impossible at all. im not an expert or anything(nor anything close to it :)) but this is how i'd do it. as far as i know there are three factors included when a consonant is produced 1)matter of articulation 2)place of articulation and 3)voicing (im putting aside labialization, aspiration and other similar stuff rn) as for the place we can give info to the AI by making a person make a continious fricative sound from glottal to bilabial and asign a number range to it for example [-1a, 1a], then we do the same thing for another matter like plosive(which sadly cant be continous) and assign a similar number range like [-1b, 1b] etc. a similar thing can be used for voicing. (one other alternative i thought of was to just do the first step then instead of doing the same for another matter of articulation just produce every other matter at the same place(i.e. blibial) but im not sure if the AI can understand all voices with that)and then we basically do that with more people to get the average sound. in the end we program the AI in a way to match the number to the closest common widely used phoneme. vowels could be produced in a similar way

  • Welcome to Linguistics! Please edit your answer to split it to paragraphs, fix capitalization, and edit typos. This would make your post easier to read and comprehend. – bytebuster Dec 31 '20 at 8:11

As others have already noted, building a system for this that does not make assumptions about the language in question is really hard. Li et al. (2020) present a system which I think is state of the art or near it, and on the two languages that were not seen in its training data (Inuktitut and Tusom), their best phone error rates are 73.1% and 64.2% respectively. Those error rates are really high: roughly 3 in 4 and 2 in 3 phones respectively were incorrectly transcribed!

IPA symbols are much more vague than they're commonly taking to be: for any given symbol, different languages will realize it in varying acoustic and articulatory ways. For this reason, much better results can be achieved by training a language-specific transcription model.

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.