NOTE: I've moved to using Open Science Framework and github to share intermediate research products. Please check out my profiles there, or links next to each publication in my pub-list for code/data relevant to each publication.

Link to short CV

Warning: These scripts are not for download & use!! They are here for those looking for ideas on how to write their own. If you have criticisms, comments, ideas, etc, please let me know!


Lots of scripts are listed in Joe Toscano's archive.

Acoustic analyses

Measure formants more reliably across talkers

-- This is an implementation of Escudero et al (2009, JASA) proposal for automatic ceiling optimization. It gets F1 and F2 from a range of ceilings. for wavs whose vowels have been coded in textgrids.

-- You would then run this accompanying R script to select from all ceilings that for which the within-category variance in F1 and F2 are minimized.

V-lover: lists sound files (which can be long) in a subdirectory, and searches for corresponding textgrids that contain tagged vowels, and outputs correlates of vowel quality and nasality (pitch, duration, F1-2 -- you should add F3 for some vowels!!--, F1 bandwidth, first and second nasal poles amplitude). Used for the analysis of vowel nasality and tenseness, tested on a corpus of infant-directed and adult-directed American English and Quebecois French recorded in the lab, and the Hillenbrand corpus.

-- An old version which did not use ceiling optimization -- simpler, but fares much, much worse.

Acknowledgments inside the scripts.

All-lover: requires textgrids and sound files (which should be short), as well as other ancillary files, and, maximally, outputs vowel (F1-3), consonant (VOT for stops; F2 and frication moments for fricatives), and phrase information (speech rate, duration, pitch characteristics), depending on the input.


- Concatenation codes: 1, 2, 3, ... examples of scripts I use to generate sound files or randomizations for experiments

- Shift all end boundaries to the right

- Draw spectrogram and pitch of sets of files onto eps files. I had transitive and intransitive sentences, so the name of the files -- e.g. intrBBaf_1, intrBBaf_1, transBB_1, transCH_1-- indicates which are the sets. For a list of files whose names are not identical in their first 8 characters, it'll store one eps file per sound file.

Phonetic coding instructions

These have been developed as aid for mini-training sessions at Purdue, and could therefore be more underspecified than total newbies would like. If so, I'm happy to hear where I stopped short!



Plot vowel space triangle. Another version. Scatterplot vowels per vowel identity per talker group.

Generate summary tables from the output files of the v- and all-lover scripts above.

Links to tutorials etc on linear mixed models.