Linguistics 422, Research methods in phonetics and laboratory phonology
UNC-Chapel Hill Linguistics
Fall 2018
Elliott Moreton
2018 November 27 (T)
Topics: Soldering: the basics.
Class:
- HO: ``Making patch cables'' (Sakai)
- Soldering basics
- Safety
- Wire-stripping
- Soldering wire to connector
- Types of connector
2018 November 20 (T)
Topics: Static palatography
Class:
- HO: ``Static palatography'' (Sakai)
2018 November 15 (Th)
Topics: Measuring f0.
Class:
- HO: Using Praat for f0 measurements
- In-class practice with DARE interviews and politicians
Assignment for 11/20 T: Read Ladefoged 2003, Ch. 2, on
palatography.
Announcement: The class web page has been moved to users.castle.unc.edu/~moreton/Ling422/422log.html.
2018 November 13 (T)
Topics: Running perception experiments. The formant tracker.
Class:
- HO: Running perception experiments.
- HO: Example protocol for a perception experiment
- Setting spectrogram parameters (Ladefoged-to-Praat conversion)
- Linear predictive coding (LPC)
- Making an LPC-on-spectrogram overlay.
- The formant tracker
Assignment for 11/15 Th: Read Ladefoged Ch. 4, on
"Pitch, Loudness, and Length".
2018 November 8 (Th)
Topics: Tapering and adding sounds together.
- HO: Tapering
- Why important
- Creating a sound with Praat formulas
- Tapering with Praat formulas
- HO: Review of decibels
- HO: Adding noise
Assignment:
- For 11/13 (T): Read Ladefoged Ch. 5 on ``Characterizing
vowels''
2018 November 1 (Th)
Topics: Praat formulas and tapering
Class:
- Finish up last time's ICP:
- "Praat Scripting" HO
- Demo of
- word$ = selected$ ('Sound'), to get the name of the
selected sound file
- Can also use form, to ask user for input
2018 October 30 (Tu)
Topics: Introduction to Praat scripting via stimulus splicing
(and vice versa)
Class:
- Finish splicing example from last time.
- ICP: Make a vowel-length scale by repeating a pitch period
(Hogan & Roszypal 1980, Traunmueller & Krull 2003, Choi 2011, ...)
Assignment for 11/1 (Th):
- Read Read Section II.A.3, Stimuli for the Perception
Experiment, of Smits et al. 2003, pp. 564-565. (Example of
a gating experiment; illustrates tapering.) (On Sakai)
- Review logarithms and decibels (HO on Sakai)
- Project proposals due!
2018 October 25 (Th)
Topics: Perception experiments in general. Amplitude
normalization and splicing.
Class:
- Mi'kmaq discussion
- HO: Overview of perception experiments
- Independent and dependent variables
- Some common perception paradigms
- Some general design considerations
- HO: Life cycle of perception experiment (from Day 1)
- Stimulus manufacture.
- Where to get
Praat
- How to
use Praat (Jen Smith, Ling 520)
- HO: Amplitude normalization and splicing. (Sound files
and TextGrids are in today's Sakai folder.)
- Questions re midterm?
Assignment:
- Continue working on midterm
2018 October 23 (Tu)
Topics: Subroutines
Class:
- Subroutines (more in Ch. 4):
- Syntax for calling and defining.
- @_, the @ARGV of subroutines.
- "Call-by-reference". Global and local variables; my
- Returning values from a subroutine.
- ICP: DIY chomp
- ICP: Convert HW 5 so that sort order is defined by a
subroutine.
- Subroutines and reusable code.
- ICP: Randomizing the order of lines in files.
Assignments:
- For 10/27 (Th): HW 11, Mi'kmaq dictionary
- For 11/1 (Tu): Project proposals
- For 11/1 (Tu): MIDTERM. All necessary files are on Sakai in
the "Resources" folder.
2018 October 16 (Tu)
Topics: Alternatives to STDIN and STDOUT.
Class:
- The substitution operator s///, and the /g
modifier for making multiple replacements.
- ICP: Replace CELEX backslashes with spaces. (What do we do about
the spaces that are already there?)
- Command-line arguments and @ARGV.
- ICP: Reprise of schwa calculator
- Filehandles
- open, open or die
- ICP: Modify a HW 9 (German VCC) solution to print suspect entries
to a log file rather than to STDERR.
- Pathnames as variables
- HO on final projects
Assignment for 10/25 (Th):
Do HW 11 on parsing the raw HTML of the on-line talking
Mi'kmaq dictionary.
2018 October 11 (Th)
Topics: In-class problems for practicing code simplicity and
clarity.
Class:
- Discuss HW 10 (batch renaming)
- The x modifier for regular expressions.
- Backreferences inside patterns
- ICP: foo-schmoo Reduplication detector.
Assignment:
- Read Llama 5, on "Input and Output".
- Read the HO on Sakai about final projects
2018 October 9 (Tu)
Topics: More uses of regexps
Class:
- Discuss HW 9 (German coda clusters)
- Character classes
- Control flow
- Ternary operator ?:
- Finish last time's ICP about parsing a Praat FormantTier file
Assignment:
- Do HW 10, using Perl to make a batch file
- Read all of Llama 9 on processing strings with regexps
2018 October 4 (Th)
Topics: Writing and using regular expressions
Class:
- Quantifier greed examples
- ICP: Parsing a Praat Formant file
Assignment:
- For 10/9 (M): Do HW 9, German coda clusters.
2018 October 2 (Tu)
Topics: Writing regular expressions
Class:
- Discuss HW 8 (iambic/trochaic counts).
- Quantifiers: *, ?, {}
- Capturing with (grouping) (parentheses)
- ICP: Extracting stressed syllables
- ICP: Parsing a Praat FormantTier file
Assignment:
- For 10/4 (Th): Read Llama 8
- For 10/9 (M): Do HW 9, German coda clusters.
2018 September 27 (Th)
Topics: Begin regular expressions.
Class:
- Matching
- How Perl prcesses regexps
- ICP: What do these scripts print?
- Literal characters and metacharacters.
- ICP: Search CELEX EPL.CD for lemmas ending in orthographic
-ness.
- Alternatives with (|), [].
- ICP: Find all EPL.CD lemmas containing a stop followed by [l]
across a syllable boundary.
- The "binding operators" =~ and !~
- Zero-width assertions: ^ , $ (aka \A, \z)
Assignment for 10/1 M: HW 8, counting iambs and trochees
2018 September 25 (T)
Topics: Hashes and control structures; deep breath before
regular expressions.
Class:
- Go over HW 7 (homophones). Issues:
- Accumulating orthographies
- Uniquification
- Delimiter safety
- Using the new control structures.
- ICP: Subsetting CELEX
Assignment for 9/27 (Th): Read Llama 7, on
regular expressions.
2018 September 20 (Th)
Topics: Finish up hashes. Some useful control structures.
Class:
- Go over HW 6.
- ICP: What phoneme symbols appear in Dutch CELEX?
- Postposed if, for(each), while, unless.
- Loop-control operators last, next, redo.
- ICP: What do these loops do?
- What is a
kluge?
Assignment for Tuesday, September 25: Do HW 7 (on Sakai).
2018 September 18 (Tu)
Topics: Using arrays and sort. Start hashes.
Class:
- Discuss HW 5 (the rhyming dictionary) and issues arising
thereoutof.
- Hashes: Like arrays, but with arbitrary scalar subscripts.
- Ways to get a hash
- keys
- ICP: Tabulate frequency of all syllable types in EPW.CD
Assignment for 9/20 (Th):
- Do HW 6 (tabulating subject responses).
- Read Llama Ch. 10 on control structures. (Warning: The
examples will contain weird stuff we haven't seen before. Don't be
fazed! We'll get to most of them next week and the week after.)
2018 September 13 (Th)
University closed due to hurricane.
2018 September 11 (Tu)
Topics: Sorting.
- sort {block} @foo
- $a, $b, and "the last thing that goes through Perl's mind"
- ICP: Sort a list of numbers in ascending order.
- The easy way: <=> and cmp
- ICP: Sort numbers, descending.
- Sort using functions of $a and $b
- ICP: Sort a word list ignoring capital vs. lower-case.
- ``short-circuit'' behavior of or
Assignment now for 9/18 (Tu):
- Finish HW 5 (rhyming dictionary)
- Read Ch. 6 (Hashes)
2018 September 6 (Th)
Topics: Lists and arrays.
- Go over HW 4.
- Iterating over a list. while and foreach.
- ICP: Modifying the loop variable.
- $_
- ICP: Same, but using $_.
- Scalar vs. list context.
Assignment
- For 9/11 (T): Read Llama pp. 248--252 (the "Advanced Sorting" section)
- For 9/13 (Th): Do HW 5 (rhyming dictionary).
- For 9/13 (Th): Read Llama 6 (Hashes).
2018 September 4 (Tu)
Topics: Lists and arrays.
Class:
- Some ways to create a list:
- List assignment
- Scalar assignment to a list element
- qw
- The range operator ..
- push, unshift
- ICP: Write a script to print STDIN backwards by lines.
- Converting lists to strings:
- Double-quote interpolation
- join (p. 168 in the Llama book)
- ICPs: Converting backslash-delimited CELEX to comma- or
space-delimited.
Assignment for 9/6 Th:
- HW 4, counting syllables (on Sakai)
- Read rest of Llama Ch. 3.
2018 August 30 (Th)
Topics: Using STDIN. split returns.
Class:
- Go over HW 3 (finding words in a given frequency range)
- ($area code, $exchange, $number) = split /-/, $phone_number
- What was going on in the mystery line of the mystery script (HW 1)?
- ICP: Search output of HW 3 for a given word, and print info
- ICP: Change HW 3 to work from the original raw CELEX database.
Assignment for 9/4 (T): Read Llama Ch. 3, pp. 43--52, through the end
of "Interpolating arrays into strings"
2018 August 28 (Tu)
Topics: STDIN and some ancillary functions.
Class:
- Go over HW 2 (Collatz sequence)
- The standard input stream STDIN.
- Reading from it with < STDIN > in a scalar context.
- Redirecting input with <.
- Use of while ($foo = < STDIN >)
- chomp ()
- ICP: Count lines in a file.
- ICP: Remove blank lines from a file.
- int () returns its argument without the digits after
the decimal point (useful for HW 3).
Assignment for Thursday, August 30:
- HW 3, selecting words from a database by frequency range.
You'll need to download database.txt, which is also in today's
Sakai folder.
- Read Llama Ch. 3, pp. 43--52 (down to, but not including,
"The foreach Control Structure")
2018 August 23 (Th)
Topics: Literals and variables. Assignment statements. Binary
operators. Control structures: if/else, while.
Class:
- Go over HW 1.
- Numeric and string literals; single and double quotes.
- Scalar variables.
- Double-quote interpolation into string literals.
- ICP: Given VT length, print schwa formants.
- Conditional branching with if/else
- ICP: Reduplication detector. Given two strings, decide
whether the second is just the first twice.
- Looping with while. ICP: Count to N.
Assignment for Monday (even though we aren't meeting on
Monday):
- Finish reading Llama book, Ch. 2
- Do HW 2 (the Collatz sequence)
2018 August 21 (Tu)
Topics: Course organization. Installing Perl. Using the command line. "Hello World!"
Class:
- Where things are on Sakai
- HO: Syllabus (Sakai, Syllabus)
- HO: Outlines of a generic perception experiment and a
generic production experiment.
- HO: Getting started with Perl (Sakai, Resources)
- Installing Perl
- Text editors
- The "Hello World" program.
- Redirecting output to a file
Assignment for 8/23 Th:
- Install Perl on your computer (if it isn't already there)
- Do HW 1 (mystery script) (Sakai, Assignments)
- Read Llama Ch. 2, pp. 19--31 (down to, but not including,
"Compound Assignment Operators")