Praat - Ошибка при обработке шага файла .wav: минимальный шаг должен быть не меньше

Я пишу сценарии Praat всего несколько недель, так что потерпите меня. Я пытаюсь извлечь контуры основного тона каждого произнесенного слова в корпусе аннотированных речевых данных. Я могу без проблем извлечь контуры высоты тона всего длинного звукового файла, и я могу разбить файл .wav на более мелкие файлы .wav одного произнесенного слова, но когда я пытаюсь просмотреть меньшие файлы .wav, я часто получаю эту ошибку:

Для анализа этого Звука "минимальная высота" не должна быть меньше [некоторого числа].

где это число кажется довольно произвольным. Есть ли хороший способ динамически изменять параметры для To Pitch: на основе минимальной высоты тона для данного .wav?

#initialize counter
i = 0

#loop through .wav files
for current_file from 1 to file_count
   i = i + 1
   select Strings list
   filename$ = Get string... current_file
   Read from file... 'source_directory$'/'filename$'
   appendInfoLine: string$(i)+ "/" + string$(file_count) + " " + filename$

   To Pitch: 0.1, 75, 600

   #create pitch file
   pitch_file$ = filename$ - "wav" + "pit"

   #write to pitch file
   no_of_frames = Get number of frames
   for frame from 1 to no_of_frames
       time = Get time from frame number: frame
       pitch = Get value in frame: frame, "Hertz"
       appendFileLine: pitch_file$, "'time','pitch'"
   endfor

endfor

person Silverwing171    schedule 06.06.2019    source источник


Ответы (1)


Вы, наверное, разобрались, но если нет, попробуйте изменить временной шаг с 0,1 на 0,01 или даже меньше (To Pitch: 0,01, 75, 600) или увеличьте интервал, если это не повлияет на ваш анализ.

Сегодня у меня точно такая же ошибка, и благодаря вашему описанию продолжительности я вроде понял, в чем проблема. При просмотре линии шага в Praat вы можете видеть точки данных при увеличении. Ошибка возникает, если точек меньше четырех в пределах одного интервала (не считайте точки при полном увеличении интервала, просмотрите интервал, оставив маленький лишние пробелы при подсчете).

Ошибка исчезала, когда я увеличивал интервал, включая четвертую точку шага, или программно устанавливал меньший временной шаг. Я использую пакет Python, который обращается к Praat, но процесс должен быть аналогичным. Конечно, я хотел бы услышать это, если у вас есть лучшее решение :)

person xiaolin xu    schedule 03.08.2019