Malawian CiTonga Tone Production Study
An exploratory phonetic study investigating how consonant context influences the pitch (Fâ) of high (H) and low (L) tones in Malawian CiTonga verb stems. We present two experiments:
- Experiment A: Compare mean Fâ of H tones following sonorant vs. voiced-obstruent onsets.
- Experiment B: Compare mean Fâ of H vs. L tones following individual voiced obstruents (b, d, j, g, v, z).
Table of Contents
- Project Overview
- Data Description
- Experiment A
- Hypotheses
- Visualization
- Statistical Test
- Conclusions
- Experiment B
- Visualization
- Statistical Test
- Conclusions
- Overall Discussion & Follow-up Questions
- Prerequisites
- Installation & Usage
- Script Breakdown
- Extending the Analysis
- Data Source & Acknowledgments
- License
Project Overview
We examine how the phonetic context of a verb stem onset (C1.class
or individual C1
) affects the realized pitch of H and L tones in CiTonga:
- Experiment A: Do Hâtone verbs exhibit different mean Fâ when the first consonant is a sonorant vs. a voiced obstruent?
- Experiment B: For voicedâobstruent onsets (b, d, j, g, v, z), is there a difference in mean Fâ between Hâtone and Lâtone verbs?
Data Description
File: citonga.csv
Columns of interest:
Tone
: target tone of the verb stem ("H"
or "L"
)
C1
, C2
: first and second consonants
C1.class
: phonetic class of the first consonant ("sonorants"
or "voiced obstruents"
)
meanf0
: mean fundamental frequency of the stem vowel (Hz)
- Additional acoustic measures (
maxf0
, minf0
, intensity
, duration
, etc.)
Experiment A
Hypotheses
- Hâ: Mean Fâ of H tones does not differ between sonorant vs. voiced-obstruent onsets.
- Hâ: Mean Fâ of H tones does differ between these onset classes.
Visualization (Boxplot)
df_H <- subset(df, Tone == "H" & C1.class %in% c("sonorants","voiced obstruents"))
ggplot(df_H, aes(C1.class, meanf0)) +
geom_boxplot() +
labs(
title = "Mean Fâ of H Tone by C1 Class",
x = "C1 Class",
y = "Mean Fâ (Hz)"
) +
theme_minimal()
Statistical Test
sonorants_H <- subset(df, Tone=="H" & C1.class=="sonorants")$meanf0
voicedObs_H <- subset(df, Tone=="H" & C1.class=="voiced obstruents")$meanf0
t.test(sonorants_H, voicedObs_H, var.equal=TRUE)
- t = 5.1426
- df = 23
- p-value â 3.28Ă10â»â”
Since p < 0.05, we reject Hâ: there is a significant difference in mean Fâ.
Conclusions
- H-tone verbs preceded by sonorants have significantly higher mean Fâ than those preceded by voiced obstruents.
- Onset consonant class influences pitch realization of H tones in CiTonga.
Experiment B
Visualization (Boxplot by Individual C1)
voiced_obs <- subset(df, C1 %in% c("b","d","j","g","v","z"))
ggplot(voiced_obs, aes(C1, meanf0, fill=Tone)) +
geom_boxplot() +
labs(
title = "Mean Fâ by Voiced Obstruent and Tone",
x = "Voiced Obstruent (C1)",
y = "Mean Fâ (Hz)"
) +
theme_minimal()
Observation: Contrary to expectation, L-tone words often show higher mean Fâ than H-tone words after voiced obstruents.
Statistical Test
H_vo <- subset(df, Tone=="H" & C1 %in% voiced_set)$meanf0
L_vo <- subset(df, Tone=="L" & C1 %in% voiced_set)$meanf0
t.test(H_vo, L_vo, var.equal=TRUE)
- t = â5.4622
- df = 153
- p-value â 1.86Ă10â»â·
p < 0.05 â reject Hâ: mean Fâ differs significantly between H vs. L tones in this context.
Conclusions
- After voiced obstruents, L-tone stems have significantly higher mean Fâ than H-tone stems.
- This reversal suggests a contextâdependent pitch enhancement of L tones or suppression of H tones, contrary to neutralization.
Overall Discussion & Follow-up Questions
- Phonetic interaction: Onset consonant voicing class modulates pitch realization of both H and L tones.
- Unexpected reversal: L-tone exaggeration after voiced onsets raises questions about tonal implementation and downstep.
- Followâup: What phonological or aerodynamic mechanisms cause L tones to surface higher than H tones after voiced obstruents? How does this shape the tonal system and perceptual contrasts in CiTonga?
Prerequisites
- R â„ 4.0
- RStudio (optional)
- Packages:
ggplot2
, ggmosaic
(for mosaic if extended)
Installation & Usage
-
Clone the repository:
git clone https://github.com/yourusername/citonga-tone-analysis.git
cd citonga-tone-analysis
- Place
citonga.csv
in the project root.
-
Run the analysis script:
source("citonga_tone_analysis.R")
- View the generated figures in
figures/
.
Script Breakdown
- Load data from
citonga.csv
.
- Experiment A: filter for H tones & compare by
C1.class
.
- Experiment B: filter for voicedâobstruent onsets & compare by
Tone
.
- Visualize with
ggplot2
boxplots.
- Test with
t.test(..., var.equal=TRUE)
.
- Print results and interpret.
Extending the Analysis
- Perform twoâway ANOVA on
meanf0 ~ Tone * C1.class
.
- Include other acoustic measures (intensity, duration).
- Use mixedâeffects models to account for speaker or lexical random effects.
- Visualize with mosaic plots for categorical interactions.
Data Source & Acknowledgments
- Acoustic measurements collected in Malawian CiTonga fieldwork (unpublished).
- Thanks to field assistants and native speakers for data collection.
License
This project is released under the MIT License. See LICENSE
for details.