NordFA: Forced alignment for Nordic languages
The study of sound change in the English‐speaking world has benefited tremendously from forced alignment, permitting large quantitative studies to be conducted by small teams or even solo researchers. The Nordic languages, on the other hand, have been neglected. To aid my dissertation work, I have created Forced Alignment for Nordic Languages, aka NordFA. The program currently works for Danish and Swedish. The Danish prototype is an adaptation of FAVE Align¹. The latest Swedish version is built on the Montreal Forced Aligner². My colleague Michael McGarrah has also built a generalized version of FAVE that can align more than one language within the same program.
A description of the Swedish adaptation can be found in Chapter 4 of my dissertation.
What is forced alignment?
It is software that automatically locates the boundaries between the sounds corresponding to the phones that make up a fragment of speech. NordFA's input is a sound file and its orthographic transcription. Its output is a segmented file that is readable in Praat³.
What type of speech can it process?
It can segment natural speech in long sound files. Unlike other programs, NordFA does not require sound files to be broken into smaller pieces. It can segment files that are hours long (although the segmentation for a 90-minute file can take up to 24 hours!).
What languages does it segment?
This edition includes Swedish (SweFA) and Danish (DanFA). Norwegian is not yet part of the suite, but is planned for the future.
Sounds great, but is anyone else using it?
Currently, The Puzzle of Danish project at Aarhus University is using DanFa. Nobody is using SweFA except me. As of January, 2020, I have been working with Språkbanken at the Norwegian National Library to expand the adaptation to Norwegian Bokmål.
How much time will this save me?
75% of the time spent in manual segmentation is building and populating the TextGrid cells. 25% is deciding where the boundaries go. NordFA, even in its most primitive version, reduces the time spent on segmentation by 75%. See the figure to the right.
Doesn't something like this exist already?
As far as I am aware of, there is no available forced alignment for Danish or Norwegian in circulation. For Swedish, a "build-framework" is available via The Montreal Forced Aligner. Therefore, I believe anyone who works in Nordic phonetics can benefit from this software. It has helped my own analysis greatly.
How do I know its pronunciation dictionary is correct?
SweFA and DanFA’s lexicons come from three sources: (1) data seized from the insolvent Nordic Language Technology Holdings Inc. via the National Library of Norway, (2) the online Swedish slang dictionary slangopedia.se, (3) and manual entries from my research corpus, which contains 115 hours of Stockholm Swedish.
But how accurate are the alignments?
It is accurate enough that it has saved me thousands of hours on my dissertation project. SweFA is the most developed of the two and currently exists for Stockholm Swedish. Its phonetic dictionary contains more than 15 million entries, which include elided and syncopated pronunciations (konstnärerna >> konsnärna), inflected forms (prata, pratar), and most common compound words (otrevlig, jättetrevlig). Moreso, it has multiethnolectal entries. Tested on a casual speech recording of young multiethnolectal men in Stockholm, the phonetic dictionary covered 99.8% of all words (n=6284). DanFA’s pronunciation dictionary contains over 200,000 entries and covers 99.5% (n=53,976) of the dialogue transcriptions in DanPASS.
1 Rosenfelder, I., Fruehwald, J., Evanini, K., & Yuan, J. (2011). FAVE (Forced Alignment and Vowel Extraction) Program Suite. Retrieved from http://fave.ling.upenn.edu.
2 McAuliffe, Michael, Michaela Socolof, Sarah Mihuc, Michael Wagner, and Morgan Sonderegger (2017). Montreal Forced Aligner [Computer program]. Version 1.0,
3 Boersma, Paul & Weenink, David (2017). Praat: doing phonetics by computer [Computer program]. Version 6.0.29, retrieved 24 May 2017 from http://www.praat.org/