Итак, сначала вы получите эти три объекта: Звук, Звук, Высота звука,и импульсы PointProcess, возможно изменяя параметры, которые вы хотите иметь по-разному:
import parselmouth
sound = parselmouth.Sound("the_north_wind_and_the_sun.wav")
pitch = sound.to_pitch()
pulses = parselmouth.praat.call([sound, pitch], "To PointProcess (cc)")
После этого вы можете запросить различные количества, которые вы хотите извлечь по-разному.Например, количество импульсов в PointProcess может быть извлечено с помощью:
n_pulses = parselmouth.praat.call(pulses, "Get number of points")
И других:
n_periods = parselmouth.praat.call(pulses, "Get number of periods", 0.0, 0.0, 0.0001, 0.02, 1.3)
shimmer_local = parselmouth.praat.call([sound, pulses], "Get shimmer (local)...", 0.0, 0.0, 0.0001, 0.02, 1.3, 1.6)
Получение степени прерываний голоса несколько сложнее.Понятия не имею, почему у Praat нет команды, чтобы получить это.
Быстрый способ получить это в Python:) / sound.duration
Вы также можете найти строку, сообщающую этот процент, в выходной строке «Голосовой отчет»;см. https://stackoverflow.com/a/51657044/2043407
Если вы посмотрите на пользовательский интерфейс Praat, на самом деле нет кнопки «Получить медиану», поэтому эта строка не работает.Однако в Praat есть команда «Получить квантиль», поэтому я бы предложил
parselmouth.praat.call(pitch, "Get quantile", 0.0, 0.0, 0.5, "Hertz")
(то есть 0,5 - это 50% квантиль, т. Е. Медиана)