750 likes | 1.59k Views
Acoustic measurements on prosody using Praat. Bert Remijsen Universiteit Leiden & University of Edinburgh. Brief motivation Introduction to Praat scripting Measurement of – > Vowel quality > Fundamental frequency > Voice quality and intensity. Overview.
E N D
Acoustic measurements on prosody using Praat Bert Remijsen Universiteit Leiden & University of Edinburgh
Brief motivation Introduction to Praat scripting Measurement of – > Vowel quality > Fundamental frequency > Voice quality and intensity Overview
Topics in relation to measurements: [> Data collection and processing] > How to measure it in Praat > (Semi-)automating measurements > Displaying the descriptive statistics > Inferential statistics Overview
Why quantitative analysis of prosody? > quantitative results can be used to test hypotheses Motivation
Why quantitative analysis of prosody? > humans are bad at determining the acoustic cause of prosodic variation by ear E.g.: - controversy on lexical stress - perception of pitch-accent Motivation
Why quantitative analysis of prosody? > Prosodic contrasts are often realized in terms ‘packages’ of prosodic correlates. E.g.: stress: duration, vowel quality, intensity complementary quantity: duration, vowel q. pitch-accent: fundamental frequency (f0), duration, etc. Motivation
Why quantitative analysis of prosody with Praat? > Allows for measurement, manipulation, and representation of the full range of acoustic parameters. > Relatively easy to (semi-)automate procedures by means of scripts. Motivation
A. Try to start out from an existing script > For example, check on: http://uk.groups.yahoo.com/group/praat-users > Praatscripts introduced in this presentation can be found at: http://www.ling.ed.ac.uk/~bert/praatscripts How to write a Praat script?
B. Writing (part of) a script from scratch > Do the steps by hand for one item > Display them using Paste history > Combine these steps with control structures, guided by the manual. How to write a Praat script?
An annotated script: Script: msr_duration.psc Function: collecting durations for onset, nucleus and coda of a target word, for each file in list. Automatic. How to write a Praat script?
Common components: > User interface (form … endform) > Getting the input files (Read …) > Finding point of measurement (using TextGrid) > Measurements > Writing output to file (e.g. fappendinfo) How to write a Praat script?
The dataset: > One long sound file – e.g. the whole recording session, with information on sections in the TextGrid. > One item-per-file. If so, it is best to encode as much useful information as possible in the filename, in a structured way. How to write a Praat script?
> One item-per-file. If so, it is best to encode as much useful information as possible in the filename, preferably fixed-width. E.g.: dataset_code d2_2_012_s_1 speaker_no item_no repetition_no s(ingular) / p(lural) [S&R] How to write a Praat script?
Reasons: > Saves work coding in statistics package > The fields in the name can be searched with a Praat script (using string pattern matching). How to write a Praat script?
Script: openlist.psc Function: open specific objects associated with item in list How to write a Praat script?
Script: openlist_specificitem.psc Function: This script searches on the item code – the third field in the name. How to write a Praat script?
How to measure formants in Praat? I. The point of measurement II. An algorithm and a protocol III. Semi-automating measurements Vowel quality Measurement in Praat
I. The point of measurement – possibilities: > Where F1 reaches its maximum > Small domain centered on temporal mid point > Averaged over (middle x% of) vowel. Vowel quality Measurement in Praat
II. An algorithm and a protocol • Produce Formant object using default algorithm (Burg) and parameters (5 formants below 5000 Hz [male] / 5500 Hz [female]) • Track using default values (male values = female values – 10 %). Vowel quality Measurement in Praat
3. Protocol for when the value is incorrect: • E.g.: weak F2 of high back vowels often missed; F3 reported as F2 • Options: - Use LPC with more coefficients • - Retrack with changed F1/2 ref. • The strategy is to be fixed within a single study. Vowel quality Measurement in Praat
III. Semi-automating the measurements • > Formant measurements should be checked. A fully-automated procedure is not an option. • > Instead: automate all the repetitive actions. Vowel quality Measurement in Praat
Script: msr&check_f1f2_indiv_interv.psc Function: Makes measurement as proposed above, Point of measurement: midpoint of an interval – suitable for analysis for monophthongs. Vowel quality Measurement in Praat
Script: msr&check_f1f2_indiv_point.psc Function: Makes measurement as proposed above, Point of measurement: points on a point tier – suitable for analysis of di/triphthongs. > These scripts can easily be modified to process a batch in one go – still with check. Vowel quality Measurement in Praat
The formant values, once collected, can be scaled in a number of ways: 1. Individual frequencies or frequency differences? > Vowel height: F1-F0 or F1 > Advancement: F2-F1 or F2 Vowel quality Scaling
The formant values, once collected, can be scaled in a number of ways: 2. F1 x F2, or others formants as well? > F1 x F2 > F0 x F1 x F2 x F3 Vowel quality Scaling
The formant values, once collected, can be scaled in a number of ways: 3. Acoustic / psycho-perceptual scale? > hertz (Hz) > Logarithmic (ST) > MEL > ERB > Bark Vowel quality Scaling
The formant values, once collected, can be scaled in a number of ways: 4. Cross-speaker comparisons? > z-transformation (Lobanov) > Gerstman > Constant Log Interval Hypothesis Vowel quality Scaling
Ideal set-up for normalization (Adank 2003): > Individual frequencies rather than Δ’s > hertz (Hz) rather psycho-acoustic scale > No need to consider F0 and F3 > between-speaker variation: z-transformation Vowel quality Scaling
The formant values, can be interpreted best in a vowel plot (F1 x F2). Characteristics of a good vowel plot: > Inverted axes > Over speakers (so z-transformed) > Categories labeled using IPA Vowel quality Analysis / vowel plots
The formant values, can be interpreted best in a vowel plot (F1 x F2). Characteristics of a good vowel plot: > Inverted axes > Over speakers (so z-transformed) > Categories labeled using IPA Praat can do it. Vowel quality Analysis / vowel plots
Example: - The vowels of Dinka: /i,e,,a,,o,u/ - Ellipses encircle 1 standard deviation - Separate ellipses for compl. quantity - Values averaged over 2 repetitions of 36 items uttered by 5 speakers. Vowel quality Analysis / vowel plots
Example: - The vowels of Dinka: /i,e,,a,,o,u/ - Ellipses encircle 1 st. dev. (68%) - Separate ellipses for compl. quantity - Values averaged over 2 repetitions of 36 items uttered by 5 speakers. Vowel quality Analysis / vowel plots
Create a TableofReal, with, for each token: • > praat-code for the IPA label (e.g. ‘’ is ‘\ep’) • > z-transformed F1 and F2; sign inverted (I do this in SPSS) • > Header contains axis labels and no. of tokens Vowel quality Analysis / vowel plots
Example: formants_tor.txt: File type = "ooTextFile" Object class = "TableOfReal" numberOfColumns = 2 columnLabels []: "F2 (z-transformed)" "F1 (z-transformed)" numberOfRows = 341 row [1]: "i^C" -1.6595 1.2794 row [2]: "i^C" -1.9973 1.2538 … row [341]: "o^C" 0.6245 0.0380 Vowel quality Analysis / vowel plots
2. Open the TableofReal in Praat, and use either: > Draw scatter plot to plot individual values; each token is marked by its (IPA) label. or > Draw sigma ellipses ellipses, sized by user in terms of st. devs. (sigma). (IPA) label plotted at center. Vowel quality Analysis / vowel plots
Either way, plot with no for GarnishandDiscriminant plane 3. In Picture window, add marks on x and y axes, inverting the inverted sign back to normal – for example: One mark left... -2 no yes no 2 This gives a y-axis mark in terms of z-scores of ‘2’ at -2 on the y-axis, without plotting ‘-2’. Vowel quality Analysis / vowel plots
Characteristic inferential test: ANOVA > within-subjects > multivariate (dependents zF1 and zF2) > factor(s) vowel quality (and e.g. lexical stress / intonational accent / position in phrase / etc.). Vowel quality Analysis / inferential tests
> Issues in measuring F0 > Scaling > Descriptive stats F0 Overview
I. For detailed study about the realization of tonal contrasts, consonants in target words should be: F0 Issues in measuring F0
BUT: other may be more important – such as the availability of minimal-set data: /ba1/ Low level ‘to remain’ /ba3/ High level ‘ancestor’ /ba121/ Rise-fall ‘stiff’ /ba12[p]/ Low Rise ‘father’ /ba41/ Extra High Fall ‘to hit’ /ba21/ Low Fall ‘to blow’ / ba31/ High Fall ‘when’ F0 Issues in measuring F0
II. F0 measurements need to be checked for octave jumps etc. > suggestion: use a semi-automated procedure F0 Issues in measuring F0
Script: lst2f0&check.psc Function: This script automates all the repetitive actions involved in the checking of F0 tracks. It calculates the F0 track (Pitch object), plots it in the Picture window, gives the opportunity to fix errors if need be, and then writes the (fixed) Pitch object to a file. Batch processing using file list. F0 Issues in measuring F0
III. The point of measurement – turning points can be determined: > by eye > using mathematical modelling. MOMEL (Hirst & Espesser) is implemented in Praat. See also recent work by Grabe & Kochanski. F0 Issues in measuring F0
Script: momel_modif.psc Function: Praat implementation of the MOMEL algorithm. (Original implementation in the MES signal processing package) F0 Issues in measuring F0
From physical F0 trace to psycho-acoustic track. 1. Normalization for the logarithmic nature of pitch perception: > hertz (Hz) > semitone (ST) > Equivalent Rectangular Bandwidth (ERB) F0 Scaling
From physical f0-track to psycho-acoustic track. 1. Normalization for the logarithmic nature of pitch perception: > hertz (Hz) > semitone (ST) > Equivalent Rectangular Bandwidth (ERB) Latest news: semitone is best (Nolan 2003). F0 Scaling