Is it possible to take a sound file as the input, in which there is a single syllable, and we can get the IPA transcription of the syllable automatically? If it is, how? Or to say is there already a project to do this? If not, what're the difficulties that prevent us from doing this?


What I want to ask is language-independent, or as what @Colin Fine said, a phonetic transcription but not a phonological transcription. I don't care about meanings or differences between homophones. If I pronounciate but as something like [pat] or [pɔt], I want the latter true phonetic result but not the former(i.e. what I really want to mean). And also, if there's no difference between a but and a bat phonetically, then the output should be the same.

  • The question assumes that "the IPA transcription" is well defined. But that is not so. IPA transcriptions can be phonemic or phonetic: phonemic transcription depends heavily on the phonlogy of the language concerned. Phonetic transcription is in theory independent of the phonology, but there is still a whole spectrum - in fact, several independent spectra - of possible precision. Is this segment glottalised? Breathy voice? Prenasalised? Retracted? Labialised? Double articulation? How much, for each of these?
    – Colin Fine
    Commented Dec 6, 2020 at 15:09
  • @Colin Fine Thanks for your comment! I have a somehow naive idea, and I wonder why this doesn't work. What if I prepare some standard IPA pronunciations, and just compare some parameters like MFCC between the target segment and the standard pronunciations?
    – C.K.
    Commented Dec 6, 2020 at 15:38
  • Just enable Siri or some other voice recognition system and give it single syllable words at random. If it recognises them then it must be possible to generate a phonetic transcription that is narrow enough to distinguish that word from near-homonyms. With longer phrases they are bound to leverage the possibilty of looking at the context but then I think the nub of your question is whether / to what extent this actually necessary.
    – rchivers
    Commented Dec 6, 2020 at 15:38

2 Answers 2


This is impossible in principle, at least in the form that you asked. A modified version of the task might be possible. The main reason is that the input would be an acoustic waveform, which needs to be parsed into discrete segmental chunks, then labeled according to a standard. The letters and articulatory descriptions are standardized and easily accessible, but the acoustic values are "endangered", in the sense that there is only a small set of available expert performances that could serve as the basis for acoustic categorization.

One solution is to devise a trained system where a linguist intervenes and provides labeling of a set of recordings in the language, thus you tell the system that a particular vowel is IPA [ɪ] and not [e]. This presupposes that the linguist has been properly trained in auditory phonetics and can make that judgement in a manner that comports with the judgments of the classical UCL-Edinburgh community. Since most of those experts are now deceased, that would be a problem. Another remote possibility is that there is a trove of expert recordings on tape, in a box in an attic. In searching for expert performances, you should avoid non-expert performances and also stay within a standard (which excludes the Smalley tapes, exemplifying the Smalley standard).

Apart from the dearth of standardized reference values, it is essential to recognize that the auditory referent of IPA letters is a range, and not a single triple of formants. If you have experience with a range of languages, especially pharyngeals, you can compare this (my go-to expert performance page) with exemplars in a particular language (Arabic, Somali, Kalispel, Agul, Chechen, Tigrinya, Berber). The letters [ʕa, ħa, ʡa, ʢa] under the standard are different from how they appear in specific languages that manifest them. Thus "standard" [ʕa] doesn't sound the same as Arabic [ʕa], but Arabic [ʕ] sounds more like standard [ʕa] than it sounds like anything else. A problem is that, for example, Tigrinya "ʕa" is auditorily equidistant between reference performance [ʔa], [ʕa] and [ʢa]. This is a ubiquitous problem in vowels, that a certain vowel might be slotted as [i,ɪ,e] based just on hearing.

In the real world, IPA transcriptions are the result of repeated exposure and analysis, which removes quasi-random details, as well as superfluous details. The syllable /geʕ/ is Tigrinya is pronounced at least a dozen transcribably-different ways using nano-transcriptional notations, with at least two patterns of laryngealized voice, stuff at the end corresponding to a final consonant, spirantization of g, credibly-different vowel qualities (more tense or not). Ultimately, the linguist has to develop a theory of the phonology of the language and has to decide what the phonemes are. But phonemes are the product of distributional analysis of actual sounds, so until you know the phonemes of a language, you can't just write the phonemes. Indeed, there is a huge problem in descriptive linguistics that people tend to think they know what the phonemes are, then they ignore rare counterexamples like l appearing where r is predicted, or they reduce the vowels to /i u a ə/ and ignore [e o] that appear where they shouldn't (e.g. [tebo] "table" in Lushootseed, spelled tibu).

If one can devise an incremental knowledge system where the first-pass product is a rough approximation, which feeds into a system that handled repeated utterances and contextual variants (i.e. paradigms), eventually devising a phonological analysis, then I think one could maybe come up with a computational system that does what a trained linguist does (or should do). Usually, though, you pick a language, throw millions of lines of data at it, and let the system extract statistical generalizations. At present, you need a trained human front end.


According to Google, that question has already been asked on Reddit, referencing a page on how to do it with Sphinx and why it might produce suboptimal results.

Consider how some words like but and bat are similar or even homophones in some dialects: from the context of the sentence one can recognize which word it has to be. But recognizing similar syllables or even phonemes in isolation (without the context of a sentence or word) is difficult.

A speech recognition program requires a linguistic model - English has different phonemes (distinctions) from other languages, and IPA is effectively making "all of the distinctions": for English the model needs to describe the difference between, say, p and b - for IPA the model additionally needs to describe the difference between, say, ɮ and ɹ̥.

So you'll have to look if someone has made such a model already. Which is beyond the scope of the question, because you only ask if it's possible.

  • Thanks for your answer! But what I want to ask is language-independent, or as what @Colin Fine said, a phonetic transcription but not a phonological transcription. I don't care about meanings or differences between homophones. If I pronounciate but as something like [pat] or [pɔt], I want the latter true phonetic result but not the former(i.e. what I really want to mean). And also, if there's no phonetic difference between a but and a bat in my inputs, then the output should be the same.
    – C.K.
    Commented Dec 6, 2020 at 15:57
  • @C.K. If you read the link you'd see that you need to provide a linguistic model. If it's English, Chinese or IPA doesn't matter to the program. The issue is that someone needs to invest the work into making the model. So my answer changes only insofar as I point out that you need the appropriate model for your purpose - which I assumed would be obvious if you followed the link because it says exactly that.
    – user66554
    Commented Dec 6, 2020 at 16:22
  • Surely the linguistic model is only there to rule out phonemes that don't exist in the relevant language - that's a good way of making the estimation more accurate, but it doesn't tell you that the task is impossible without a model. It's the same as leveraging the context - of course you're going to use the context if it is available, and any existing system will be designed to do so, but that doesn't tell us how accurate the transcription would be in the absence of context (or in the absence of information about what phonemes exist in the relevant language).
    – rchivers
    Commented Dec 6, 2020 at 16:36
  • Firstly, the question was is it possible, and with a model it's possible - doesn't say anything whether it's impossible without a model, and I didn't claim anything about that (but actually it is impossible - but that discussion is not for commentary).
    – user66554
    Commented Dec 6, 2020 at 19:20
  • 1
    That's right, but the real-world utility of a model is that if you know the language is English you can assume that the sound is one found in English. OP wants a cross-language solution anyway. I think if you answer the question "is it possible" by saying "if you have a model" you ought to say something about why you think a model is necessary. Measuring the distance from a given sound to a ref. pt is the part of the problem that strikes me as having no language-independent solution but I'm not sure that's what your model is supposed to address.
    – rchivers
    Commented Dec 6, 2020 at 21:45

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.