First, please forgive my ignorance, I'm completely new to linguistics.

Given the IPA spelling for word, is it possible to programmatically split it into its sounds? So, for example, given the word "ingredient" and it's IPA spelling "ɪn'gridiənt", is it possible to split it into ["ɪn", "gri", "di", "ənt"]? Is there perhaps a finite list of sounds, at least in the English language, by which an IPA word can be split?

Any help appreciated

1 Answer 1


This is, in fact, possible! It's not trivial, but it is straightforward.

Your goal seems to be to break an English word (written in phonemic IPA) into syllables. There's a bit of controversy about how useful the concept of a "syllable" is in English, and a few different theories about what exactly a "syllable" is if it does exist, but the following is pretty widely accepted and should be good for your purpose.

First, the theory of syllable structure: every syllable looks something like ONC, where O is the onset, N is the nucleus, and C is the coda. The nucleus is a vowel (*), and always has to be there; the onset and coda are groups of consonants, and aren't required (**).

Second, the maximal onset principle: we want the onset to be as long as possible. So "tube" is /tub/, but "tuba" is /tu.ba/: the /b/ goes with the second syllable, because that makes the onset bigger.

Third, the syllable structure constraints: certain patterns of consonants aren't allowed together. This one varies by language, but in English, the onset can only be three consonants long at most, and you can't have a stop followed by a fricative in the onset, among many others. So "axle" is /ak.səl/ instead of */a.ksəl/, despite the maximal onset principle. Wikipedia has a good list of these constrains.

So if you want an algorithm for doing this:

  • Locate all the nuclei (vowels)
  • For each nucleus, work backward, adding sounds to the onset
  • If the onset stops being valid, take a step back, then put all the rest of the sounds in the previous syllable's coda

(*) Some analyses of English have syllabic resonants, while others treat them as /ə/ plus resonant. In this answer I'm assuming you're using the version with schwa.

(**) You might also come across the term "rime", which means the nucleus and coda together. The nucleus and coda seem to be more firmly joined than the nucleus and onset, so it's sometimes useful to have a word for them together: in particular, that's how rhyming works.

  • What a fantastic answer. You're right, I'm trying to programatically translate a word or phrase into Aig, aka Aigy-Paigy. WordsApi provides the syllables and the IPA for a given word. I'm now considering where to insert eɪg. It might take me a while to decode and then code what you've provided but you've given me lots to go on. Thank you.
    – skedly
    Mar 19, 2019 at 23:22
  • @skedly You're in luck in that case! That's even easier: find all the vowels (you can identify them on an IPA chart), then insert eɪg before each one. The only trick is figuring out whether two vowels in a row are a diphthong (should be treated as one vowel) or hiatus (should go in separate syllables). But there are only a handful of diphthongs in English, so you can just look those up in a table.
    – Draconis
    Mar 19, 2019 at 23:33
  • 3
    I want to add that the "syllable structure constraints" is part, and a big part at that, of the subject called phonotactics. This Wikipedia article may itself be useful, though it doesn't look great, but mainly, I think it may be a useful keyword for further searches if you need to refine your algorithm beyond what this answer provides.
    – LjL
    Mar 20, 2019 at 0:49
  • It might be noted that the maximal onset principle is problematic with compound words or continuous speech (which require semantic parsing) -- but that doesn't matter re. Aigy-Paigy which inserts adjacent to the nucleus.
    – amI
    Mar 20, 2019 at 4:22

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.