Acoustic Features Batch Extraction — User Guide
Batch extraction of nine acoustic descriptors from selected Praat Sound objects, with fixed-band spectral analysis, explicit missing-value rules, and an optional comparative z-score visualization.
Overview
The script processes one or more selected Sound objects and writes one row per Sound to Table AudioTools_Results. Each row contains the Sound object name, duration, analysis channel, and nine acoustic descriptors. The Table keeps raw measurements in their native units; the optional picture is a separate comparative display.
The nine acoustic descriptors
IntensityMean_dB — mean Praat intensity over the Sound.
HarmonicityMean_dB — mean cross-correlation harmonicity.
JitterLocal_percent — local period-to-period jitter from periodic pulse detection.
RollOff85_Hz — 85% power roll-off within the fixed 20–8000 Hz region.
SpectralCentroid_80_5000_Hz — power-weighted spectral centre within 80–5000 Hz.
SpectralSpread_80_5000_Hz — power-weighted spread around that centroid.
Flatness_80_5000 — geometric/arithmetic mean ratio of 20-Hz band powers.
SpectralJaggedness_dB — local irregularity of the 20-Hz log-power profile.
SPR_50_2000_vs_2000_4000_dB — integrated low-band/high-band power ratio in dB.
Quick start
- In Praat, select one or more Sound objects.
- Run
Acoustic_Features_Batch_Extraction.praat. - Set the periodicity range if needed. Defaults are 75 Hz floor and 600 Hz ceiling.
- Leave Draw visualization enabled if you want the comparative picture.
- Click OK. The Info window reports progress and the raw results remain in
Table AudioTools_Results. - Export the Table from Praat if you need CSV or downstream statistical analysis.
Form parameters
| Parameter | Default | Code-enforced rule | Used by |
|---|---|---|---|
| Pitch_floor_Hz | 75 | Must be positive | Intensity, harmonicity, periodic pulse detection, jitter period ceiling |
| Pitch_ceiling_Hz | 600 | Must be greater than the pitch floor | Periodic pulse detection and jitter period floor |
| Draw_visualization | Enabled | Boolean | Picture-window summary only; does not change Table values |
IntensityMean_dB. Normalize only when that transformation is part of the intended experimental protocol.
Feature descriptions
1. Intensity mean
IntensityMean_dB
The selected analysis channel is converted with To Intensity: Pitch_floor_Hz, 0, "yes". The stored value is Get mean: 0, 0, "energy" over the complete Sound.
Units: dB. Dependency: changing the pitch floor changes the intensity analysis settings.
2. Harmonicity mean
HarmonicityMean_dB
The script uses To Harmonicity (cc) with a 10-ms time step, the selected pitch floor, silence threshold 0.1, and one period per window, then takes the mean over the complete Harmonicity object.
Units: dB. Higher values indicate a stronger periodic component relative to noise under this analysis; the script does not apply clinical thresholds.
3. Local jitter
JitterLocal_percent
The Sound is converted to a periodic PointProcess with To PointProcess (periodic, cc) using the selected pitch floor and ceiling. Local jitter is then computed with period limits 1 / Pitch_ceiling_Hz and 1 / Pitch_floor_Hz, maximum period factor 1.3, and converted from ratio to percent.
Interpretation: cycle-to-cycle period variability for material in which stable periodic pulses can be detected. Non-periodic or unstable material may return NA.
4. Roll-off 85%
RollOff85_Hz
Spectrum power is accumulated into fixed 20-Hz bands. Within the fixed 20–8000 Hz region, the script finds the first band centre at which cumulative power reaches 85% of the total power in that region.
Availability rule: NA when Nyquist is below 8000 Hz, so files with different sample rates are not silently compared over different roll-off ranges.
5. Spectral centroid
SpectralCentroid_80_5000_Hz
Power-weighted mean frequency of the fixed 20-Hz descriptor bands from 80 to 5000 Hz.
Availability rule: NA when Nyquist is below 5000 Hz or when the analysis region has no usable power.
6. Spectral spread
SpectralSpread_80_5000_Hz
Power-weighted standard deviation of the same 80–5000 Hz band distribution around its centroid.
Units: Hz. The same 5000-Hz Nyquist requirement as the centroid applies.
7. Spectral flatness
Flatness_80_5000
The script computes the geometric mean divided by the arithmetic mean of 20-Hz band powers from 80 to 5000 Hz. A relative floor is applied only inside the logarithm to avoid taking ln(0).
This is a band-aggregated whole-Sound flatness measure, not a frame-by-frame MPEG-style feature.
8. Spectral jaggedness
SpectralJaggedness_dB
For each interior 20-Hz band in 80–5000 Hz, the script converts neighbouring band powers to dB and measures the absolute deviation of the centre band from the mean of its two neighbours. The descriptor is the mean of those deviations.
jaggedness = mean( |dB_i - baseline_i| )
Important: this is a local spectral-irregularity descriptor. It is intentionally not called psychoacoustic roughness and should not be interpreted as a critical-band roughness model.
9. Spectral power ratio
SPR_50_2000_vs_2000_4000_dB
The script integrates spectrum power in two fixed regions: 50–2000 Hz and 2000–4000 Hz. It stores their ratio in dB.
Positive values mean greater integrated power in the lower band; negative values mean greater integrated power in the higher band. The result is NA when Nyquist is below 4000 Hz or either integrated band has effectively zero power.
Analysis methodology
Representative-channel selection
AnalysisChannel.
Shared spectral analysis
Each analysed channel is converted to one whole-Sound Spectrum. For each FFT bin, the script uses complex-spectrum power:
The raw FFT-bin powers are then accumulated into fixed 20-Hz descriptor bands. Roll-off, centroid, spread, flatness, jaggedness, and SPR all use this shared band-power representation.
1 / duration. Directly averaging raw bins would therefore make some descriptors depend on file duration. Summing raw FFT power into fixed-width bands gives each Sound the same descriptor grid before the spectral summaries are calculated.
Fixed regions and missing-value policy
| Descriptor group | Fixed region | Minimum Nyquist | Equivalent minimum sample rate |
|---|---|---|---|
| RollOff85 | 20–8000 Hz | 8000 Hz | 16 kHz |
| Centroid / Spread / Flatness / Jaggedness | 80–5000 Hz | 5000 Hz | 10 kHz |
| SPR | 50–2000 vs 2000–4000 Hz | 4000 Hz | 8 kHz |
If the complete fixed region is unavailable, the affected descriptor is left undefined and appears as NA. The script does not shorten the band to Nyquist and then reuse the same column name.
Table columns
| Column | Meaning |
|---|---|
SoundName | Name of the selected Praat Sound object; not necessarily an original disk filename |
Duration_s | Total Sound duration |
AnalysisChannel | Channel analysed; 1 for mono, otherwise the strongest-RMS channel |
IntensityMean_dB | Whole-Sound mean intensity |
HarmonicityMean_dB | Whole-Sound mean harmonicity |
JitterLocal_percent | Local jitter in percent |
RollOff85_Hz | 85% roll-off in fixed 20–8000 Hz region |
SpectralCentroid_80_5000_Hz | Centroid in fixed 80–5000 Hz region |
SpectralSpread_80_5000_Hz | Spread in fixed 80–5000 Hz region |
Flatness_80_5000 | Band-power flatness in fixed 80–5000 Hz region |
SpectralJaggedness_dB | Mean local dB irregularity on the 20-Hz band grid |
SPR_50_2000_vs_2000_4000_dB | Integrated low/high spectral power ratio |
Visualization & interpretation
Two or more Sounds
The picture displays a 9-feature relative profile. For each feature independently, the script computes the batch mean and sample standard deviation from the available values and converts each available observation to a z-score:
The numeric z-score is printed in each cell. Colour strength is capped at ±2.5 for colour only; the printed number is not capped. Undefined values appear as NA. If a feature has effectively zero standard deviation, available cells are shown as 0.0.
What is a z-score here?
It is a within-batch display coordinate, not a transformed value stored in the Table. A value of +1 means that Sound is one batch standard deviation above the batch mean for that feature; −1 means one standard deviation below. Because each feature is standardized separately, the heatmap highlights relative profiles across measurements with different units.
When more than 24 Sounds are selected, the visualization shows 24 rows sampled evenly across the selected batch. The Table still contains every Sound.
One Sound
A single Sound has no meaningful comparative z-score. The picture therefore shows the raw descriptor values instead.
Output & research use
Outputs
- Table AudioTools_Results — one row per selected Sound, containing raw values and
NAwhere a descriptor is not defined. - Info window — reports the active pitch range, fixed spectral definitions, one-line values per Sound, and completion status.
- Picture window — optional single-Sound summary or multi-Sound comparative z-score heatmap.
After the script finishes, Table AudioTools_Results is selected in the Objects window. Source Sounds remain unchanged. Temporary extracted channels and analysis objects are removed.
Appropriate uses
Controlled corpus comparison
Compare a set of recordings or processed variants using the same descriptor definitions. Export the raw Table for modelling, clustering, dimensionality reduction, or statistical testing appropriate to the study design.
Processing evaluation
Measure how a controlled transformation changes level, periodicity, spectral centre/spread, spectral distribution, or local spectral irregularity. Keep the preprocessing and sample-rate conditions explicit.
Feature-table preparation
Use the Table as a compact set of whole-Sound descriptors for subsequent analysis in R, Python, MATLAB, SPSS, Excel, or other statistical environments. Missing values should be handled explicitly rather than silently replaced.
Important limitations
- No temporal trajectories: all nine descriptors summarize the complete Sound.
- One representative channel: multichannel spatial relationships are not analysed.
- Pitch-dependent periodicity metrics: intensity, harmonicity, and especially jitter depend on the chosen pitch settings and source material.
- Fixed spectral bands: sample rates that do not cover a required band produce
NAfor that descriptor rather than a redefined measurement. - Jaggedness is not psychoacoustic roughness: it measures local variation on the fixed log-power spectrum grid.
- No clinical classification: the script reports descriptors; it does not diagnose voice conditions or apply normative thresholds.