Как получить или сохранить список высот в праате с помощью скриптов
Я пытаюсь использовать сценарии в praat для сохранения или записи в файл со значениями, заданными при использовании "Pitch Listing" в разделе "Pitch". Это мой код для скрипта:
selectObject: 1
View & Edit
editor: 1
Select: 0.0, 10000
Pitch listing
p$ = Get pitch
fileappend pitch123.txt 'p$'
Этот код возвращает только среднее значение для звукового файла, и мне интересно, есть ли способ избежать получения небольших порций файла и получения среднего тона, а вместо этого получить возможность получать данные, как это делает praat так:
Time_s F0_Hz
0.254558 125.982312
0.264558 127.975510
0.274558 123.010164
0.284558 120.761760
0.294558 119.652539
0.304558 118.916850
Даже простая возможность сохранить файл, который появляется из "Pitch Listing", будет работать. Любая помощь приветствуется. Спасибо!
1 ответ
Решение
Используя новый синтаксис (Praat >= 5.3.63), вы можете создать объект Pitch и перебрать кадры, чтобы получить значение Pitch для этого кадра (по умолчанию один кадр каждые 10 мс).
writeFileLine: "./pitch_list.txt", "time,pitch"
selectObject: 1
To Pitch: 0, 75, 600
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_list.txt", "'time','pitch'"
endfor