-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the stop_lenition wiki!
Set up a directory along the lines of the example provided here:
- have the stop_lenition.R file in one directory
- inside that same directory, a subdirectory named "sound_data"
- inside the sound_data directory, your .wav files and for each of them, a corresponding Praat textgrid
- for each sound file named myfile.wav, your Praat textgrid file should be named myfile_origins.TextGrid
- the textgrid should have a point tier named "origins"
- points are placed at the very start of stops, when intensity is just starting to fall -- see the example files provided in this repository
- make sure your file names do not contain spaces; file names which do will likely cause the script to fail
- also make sure that none of your 'origin' points is less than 0.2s into the sound file; this 0.2s margin is necessary for the algorithm to search in; R will return an error and alert you to any files that don't satisfy this requirement
In R, set your working directory to the directory where stop_lenition.R is and type:
source("stop_lenition.R")
At that point, you may need to install various packages. Once they're installed, try the command again and it should be successful.
Now, to run the analysis the first time, use the command:
analyse_stops()
This will set up various files and also bandpass your sound files which can take a long time. In future -- if for example you've adjusted your text grid annotations and want to rerun the analysis -- you can skip the bandpassing by using:
analyse_stops(skip_bandpassing = TRUE)
When the script runs it'll inform you of where it's saved its work. Please read our paper on Gurindji stops for an account of the meaning of the output and how to interpret it. One output will be a new set of Praat textgrids in the "sound_data" directory called myfile_demarcated.TextGrid, which'll show you where the inferred edges of the stops are. Again, please see our paper for an account of the intended interpretation of these.
This R code makes use of functions executed by Praat. Praat itself underwent major updates with version 6.0, and you'll need to have a version of Praat at least as new as v6.0 in order for the R code to communicate successfully with it.
In our paper we looked a labial, apical and velar stops and suggested an optimal frequency band of 400-1200Hz for our method. Initial trials indicate this band is ill-suited for correctly demarcating palatals, since co-articulation causes it to be relatively empty either side of the stop. To analyse palatals, we'd suggest using a frequency band that has high energy levels either side of the stop, e.g. 1800-2500Hz.
The code is set up so you can exert a lot of control over the various parameters, just as we did in the paper when assessing the method. Please look into the R code itself to do that.
Although in the paper we concentrate on simple measures like delta-i and duration, the algorithm actually produces full time series for intensity and intensity velocity in any frequency band you choose to examine. Accordingly, it could also be used for interesting analyses of the time course of intensity, e.g. how the amount of frication or voicing changes over time, or how they lead/lag one another, or at what point in the segment they reach maxima/minima, etc.