Как автоматически извлечь диапазон высоты тона из файлов .wav в PRAAT и поместить их все в файл .csv?

Я использую PRAAT, и мне нужно извлечь диапазоны высоты тона. Мои аудиофайлы все меньше 2 секунд, и у меня их дюжина. Я знаю только, что нужно получить информацию, когда я нажимаю «На данный момент я вручную извлекаю диапазон высоты тона (Запрос> Информация о высоте тона) из объекта «Шаг», который я получил после того, как щелкнул «Извлечь видимый контур высоты тона» в исходном аудиофайле.


person silvermaze    schedule 16.12.2019    source источник


Ответы (1)


Этот сценарий запишет для вас диапазон высоты тона всех файлов .wav в каталоге в файл csv. Убедитесь, что вы поставили косую черту в конце вашего пути.

form Enter Full Path + \
sentence path C:\
endform

filedelete 'path$''name$'pitch_range.csv
header_row$ = "Filename" + tab$ + "Mean F0" + tab$ + "mean SD"  + tab$ + "min pitch" + tab$ + "max pitch" + newline$
header_row$ > 'path$'pitch_range.csv

Create Strings as file list...  list 'path$'*.wav
number_files = Get number of strings
for j from 1 to number_files
   select Strings list
   current_token$ = Get string... 'j'
   Read from file... 'path$''current_token$'
   To Pitch (ac)... 0.01 75 15 no 0.03 0.45 0.01 0.35 0.14 600 
   minpitch = Get minimum... 0 0 Hertz Parabolic
   maxpitch = Get maximum... 0 0 Hertz Parabolic
   range = maxpitch - minpitch
   fileappend "'path$'pitch_range.csv" 'current_token$' 'tab$' 'range:4' 'newline$'
   Remove
endfor
person DRFeinberg    schedule 13.02.2020