CoBeN speech and voice parameterization toolbox is a set of Matlab functions that enables to perform complex acoustic analysis of speech disorders that are mainly manifested in different types of dysarthria or in apraxia of speech (AOS). A list of these features and related Matlab functions can be found in Table 1. This toolbox will help neurologists or clinical pathologists to get a quick and comprehensive insight about a pathology present in a speech/voice recording (the toolbox is tuned for 16 kHz sampling frequency). It also contains 2 demo files demonstrating parameterization of connected speech and sustained phonation.
The toolbox is available upon request (irena.rektorova@ceitec.muni.cz) under MIT license. It has been developed for Windows and is partially dependent on Praat libraries (praatcon.exe, http://www.fon.hum.uva.nl/praat/download_win.html).
Table 1: HD/AOS dimensions, specific disorders, and Matlab functions that are used to quantify them
HD/AOS dimension and specific disorder |
Speech tasks |
Acoustic feature |
Feature definition
|
Phonation |
|||
Airflow insufficiency |
Sustained phonation |
MPT |
Maximum phonation time, aerodynamic efficiency of the vocal tract measured as the maximum duration of the prolonged vowel.
Function (file): derive_speech_rate.m
|
Irregular pitch fluctuations |
Sustained phonation |
relF0SD |
Standard deviation of fundamental frequency relative to its mean, variation in frequency of vocal fold vibration.Function (file): praat_F0.mThird-party dependency: Praat |
Microperturbations in frequency |
Sustained phonation |
Jitter (PPQ) |
Frequency perturbation, extent of variation of the voice range. Jitter is defined as the variability of the F0 of speech from one cycle to the next.Function (file): praat_info.mThird-party dependency: Praat |
Microperturbations in amplitude |
Sustained phonation |
Shimmer (APQ) |
Amplitude perturbation, representing rough speech. Shimmer is defined as the sequence of maximum extent of the signal amplitude within each vocal cycle.Function (file): praat_info.mThird-party dependency: Praat |
Increased noise |
Sustained phonation |
HNR |
Harmonics-to-noise ratio, the amount of noise in the speech signal, mainly due to incomplete vocal fold closure. HNR is defined as the amplitude of noise relative to tonal components in speech.Function (file): praat_harmonicity.mThird-party dependency: Praat |
Aperiodicity |
Sustained phonation |
DUV |
Degree of unvoiced segments, the fraction of pitch frames marked as unvoiced.Function (file): praat_info.mThird-party dependency: Praat |
Tremor of jaw |
Sustained phonation |
relF1SD, relF2SD |
Standard deviation of first (F1) and second (F2) formant relative to its mean. Formants are related to resonances of the oro-naso- pharyngeal tract and are modified by position of tongue and jaw.Function (file): praat_formants.mThird-party dependency: Praat |
Articulation |
|||
Decreased tongue movement (imprecise vowels) |
Monologue, reading |
VAI |
Vowel articulation index, based on formant centralization, defined as VAI = (F1a + F2i)/(F1i + F1u + F2a + F2u).Function (file): vai.mThird-party dependency: no |
Rigidity of tongue and jaw |
|
relF1SD, relF2SD |
Standard deviation of first (F1) and second (F2) formant relative to its mean.Function (file): praat_formants.mThird-party dependency: Praat |
Slow alternating motion rate |
Diadochokinetic task |
PR |
Pace rate, representing the number of syllable vocalizations per second. Considering first 30 syllables.Function (file): ddk_features.mThird-party dependency: no |
Instability of diadochokinetic pace |
Diadochokinetic task |
COV4–10 |
Coefficient of variation, defined as 100 ´ SDC4– 10/meanC1–3, where SDC4–10 stands for standard deviation of duration of 4th– 10th DDK cycles (pa-ta-ka), and meanC1–3 means average duration of the first three DDK cycle.Function (file): ddk_features.mThird-party dependency: no |
Instability of diadochokinetic pace |
Diadochokinetic task |
RI |
Rhythm instability, defined as sum of absolute deviations from a regression line modelling each DDK cycle duration, weighted to the total DDK performance time.Function (file): ddk_features.mThird-party dependency: no |
Acceleration of diadochokinetic pace |
Diadochokinetic task |
PA |
Pace acceleration, defined as PA = 100 ´ (avCycDur4–6 – avCycDur7–9)/avCycDur1–3, where avCycDurX–Y is average duration of cycles X–Y.Function (file): ddk_features.mThird-party dependency: no |
Acceleration of diadochokinetic pace |
Diadochokinetic task |
RA |
Rhythm acceleration, defined as gradient of regression line modelling DDK cycle durations (positive values mean acceleration).Function (file): ddk_features.mThird-party dependency: no |
Prosody |
|||
Monoloudness |
Monologue, reading |
relSEOSD |
Speech loudness variation, defined as a standard deviation of intensity contour relative to its mean after removing silences exceeding 50 ms.Function (file): energy.mThird-party dependency: Praat |
Monopitch |
Monologue, reading |
relF0SD |
Pitch variation, defined as a standard deviation of F0 contour relative to its mean.Function (file): praat_F0.mThird-party dependency: Praat |
Inappropriate silences |
Reading |
SPIR |
Number of pauses relative to total speech time after removing periods of silence lasting less than 50 ms.Function (file): derive_speech_rate.mThird-party dependency: Praat |
Higher proportion of silence time |
Reading |
PPR |
Percentual pause ratio, defined as total duration of silences (longer than 50 ms)/total duration of speech.Function (file): derive_speech_rate.mThird-party dependency: Praat |
Longer duration of silences |
Reading |
DurMED |
Median duration of silences longer than 50 ms.Function (file): derive_speech_rate.mThird-party dependency: Praat |
Higher variability of silence duration |
Reading |
DurMAD |
Median absolute deviation of silence duration (silences longer than 50 ms).
|
Unnatural speech rate |
Reading |
AR |
Number of speech sounds produced per second after pauses longer than 50 ms were removed.Function (file): derive_speech_rate.mThird-party dependency: Praat |
CoBeN online handwriting/drawing parameterization toolbox is a set of Matlab functions that enables to perform complex quantification of graphomotor disabilities and cognitive deficits that are mainly manifested in Parkinson’s and/or Alzheimer’s disease. A list of these parameters and related Matlab functions can be found in Table 1. This toolbox will help neurologists or clinical psychologists to get a quick and comprehensive insight about a pathology present in the process/product of handwriting/drawing. The toolbox is tuned for signals digitized by devices using 150 Hz sampling frequency and 2540 lpi resolution, e.g. Wacom Intuos Pro. The handwriting data must be stored in the *.svc format. The toolbox contains a demo file demonstrating parameterization a sentence.
The toolbox is available upon request (irena.rektorova@ceitec.muni.cz) under MIT license. It has been developed for Matlab R2014b.
Table 1: Specific handwriting/drawing disorders and Matlab functions that are used to quantify them (Feature name format INF: DIR–FN (HL), where INF stands for processed information (ON for on-surface, AIR for in-air, PRESS for pressure, TILT for tilt, and AZIM for azimuth), DIR denotes direction (G for global, H for horizontal, and V for vertical), FN contains feature name, and HL a statistic, that is used for transformation to a scalar value. For example, AIR: V-ACC (mean) means mean of vertical acceleration during in-air movement.)
Specific disorder | Task | Parameter | Feature definition Name of the related Matlab function |
---|---|---|---|
Higher duration of writing/drawing | Graphemes “l”, connecting two dots, sentence, Archimedean spiral, pentagon copy test | ON: DUR | Duration of on-surface movement. Function (file): writing_analysis.m |
Memory and/or visuospatial deficits | Sentence, pentagon copy test | AIR: DUR | Duration of in-air movement. Function (file): writing_analysis.m |
Dysfluency in line (a line/stroke is associated with stuttering, freezing, tremor or unevenness) | Graphemes “l”, connecting two dots, sentence, Archimedean spiral, pentagon copy test | ON: {H,V}–SNRX | Signal-to-noise ratio of vertical and horizontal movement projection. Function (file): writing_snr.m |
Archimedean spiral | DoS | Degree of spiral drawing severity (San Luciano et al. 2016). Function (file): spiral_features.m | |
2ndSm | Second order smoothness (San Luciano et al. 2016). Function (file): spiral_features.m | ||
1stZC | First order zero crossing (San Luciano et al. 2016). Function (file): spiral_features.m | ||
Dysfluency in time (big variations in velocity profile) | Graphemes “l”, connecting two dots, sentence, Archimedean spiral, pentagon copy test | ON: NCV | Number of changes in the velocity profile. Function (file): writing_speed.m |
ON: RNCV | Relative number of changes in the velocity profile. Function (file): writing_speed.m | ||
Progressing fatigue | Sentence | ON: SDUR (slope) | Slope of the duration of strokes on-surface. Function (file): stroke_analysis.m |
AIR: SDUR (slope) | Slope of the duration of strokes in-air. Function (file): stroke_analysis.m | ||
SDURR (slope) | Slope of ratio of the on-surface/in-air stroke duration. Function (file): stroke_analysis.m | ||
Low velocity | Graphemes “l”, connecting two dots, sentence, Archimedean spiral, pentagon copy test | ON: {G,H,V}–VEL (mean) | Mean velocity. Function (file): writing_speed.m |
ON: {G,H,V}–VEL (max) | Maximum velocity. Function (file): writing_speed.m | ||
Low acceleration | Graphemes “l”, connecting two dots, sentence, Archimedean spiral, pentagon copy test | ON: {G,H,V}–ACC (mean) | Mean acceleration. Function (file): writing_speed.m |
ON: {G,H,V}–ACC (max) | Maximum acceleration. Function (file): writing_speed.m | ||
Lower variability of velocity | Graphemes “l”, connecting two dots, sentence, Archimedean spiral, pentagon copy test | ON: {G,H,V}–VEL (std) | Standard deviation of velocity. Function (file): writing_speed.m |
Lower variability of acceleration | Graphemes “l”, connecting two dots, sentence, Archimedean spiral, pentagon copy test | ON: {G,H,V}–ACC (std) | Standard deviation of acceleration. Function (file): writing_speed.m |
Gradually decreasing velocity | Graphemes “l”, sentence, Archimedean spiral | ON: {G,H,V}–VEL (slope) | Slope of velocity profile. Function (file): writing_speed.m |
Gradually decreasing acceleration | Graphemes “l”, sentence, Archimedean spiral | ON: {G,H,V}–ACC (slope) | Slope of acceleration profile. Function (file): writing_speed.m |
Too high pressure on the pen tip | Graphemes “l”, connecting two dots, sentence, Archimedean spiral, pentagon copy test | PRESS (mean) | Mean pressure. Function (file): read_SVC_file.m |
Very low pressure on the pen tip | Graphemes “l”, connecting two dots, sentence, Archimedean spiral, pentagon copy test | PRESS (mean) | Mean pressure. Function (file): read_SVC_file.m |
Unstable pressure on the pen tip | Graphemes “l”, connecting two dots, sentence, Archimedean spiral, pentagon copy test | PRESS (rstd) | Relative standard deviation of pressure. Function (file): read_SVC_file.m |
Disability to perform longer strokes (frequent interruptions and pen elevations) | Sentence, Archimedean spiral | NINT | Number of interruptions. Function (file): number_of_interruptions.m |
Instability in amplitude of letters (micrographia) | Graphemes “l” | ON: V–LMAX (rstd) | Relative standard deviation of local maxima in vertical projection. Function (file): local_analysis.m |
Instability in inclination of letters | Graphemes “l” | AZIM (rstd) | Relative standard deviation of azimuth. Function (file): read_SVC_file.m |
Unstable tilt of pen | Graphemes “l”, sentence, Archimedean spiral | TILT (rstd) | Relative standard deviation of tilt. Function (file): read_SVC_file.m |
Unstable density (unstable distance between letters, words, threads of a spiral) | Archimedean spiral | ON: SPI | Spiral precision index (Cascarano et al. 2019). Function (file): spiral_features.m |
TGHTNS | Spiral tightness (San Luciano et al. 2016). Function (file): spiral_features.m | ||
SWVI | Variability of spiral width (San Luciano et al. 2016). Function (file): spiral_features.m | ||
Sentence | ON: NIAI | Number of on-surface intra-stroke intersections. Function (file): intersection_analysis.m | |
ON: RNIAI | Relative number of on-surface intra-stroke intersections. Function (file): intersection_analysis.m | ||