Automatic Syllabification

An automatic syllabifier is an algorithm that takes words and produces a linguistically correct breakdown of the word into syllables. When working with language data, especially in audio, it can be very useful to break utterances down by syllable. Since syllables represent a unit of sound that is below the word level but slightly above the phoneme level, they are useful for identifying properties of sounds that are easy to identify by ear, like stress.

Syllabifying IPA transcribed text is not very difficult. Look at this link for example. This is an automatic syllabification algorithm by Penn University based on phoneme strings only. Using strings to syllabify audio might seem counterintuitive, but this is possible if you use IPA. You identify the nucleus center of the syllable in the IPA and then predict the correct boundary of the syllable around it. You can do this by using a linguistic assumption called the maximum onset principle . The maximum onset principle says that if we generally pick up the largest onset such that the string of phonemes contained in the onset do not violate any of the phonetic restrictions of the language, we would get a "normal" sounding syllable. The forbidden phoneme sequences of a language can an be inferred via a distribution obtained from a corpus, which is usually a sample of IPA transcriptions. Despite being an important aspect of audio analysis, the availability of a direct audio syllabifier is limited. Syllabifiying IPA is only sufficient if your problem does not require you to have a mapping between speech and text. However, some problems require you to have this. There are some algorithms that apply spectral analysis on audio signals to identify syllable boundaries, but these require advanced mathematics to use and have not been used since the 1900s. A syllabification can be obtained if you have a proper alignment between the text and audio, so a direct analysis of audio is actually not needed. This has the advantage of being more robust to the quirks of the sound, since the syllabification is strictly occuring on the string level, and the algorithm is mainly concerned with obtaining a correct mapping between phoneme symbols and audio slices. Luckliy, this is a heavily studied area of research! Much more so than trying to map syllable boundaries directly to audio.

This application aims to gather these ideas and provide a convenient program that can automatically syllabify speech. Currently, it can produce automatic syllabifications for English text, but I am currently working to add additional support as mentioned above, including for German and Arabic!