У меня проблемы с праатом.В частности, мне нужно написать скрипт, который извлекает, учитывая аудиофайл, высоту тона, уровень высоты тона, точечный процесс и голосовой отчет, а затем сохраняет все результаты в разных файлах с разделителями-запятыми, как если бы они были .csv, которые мне нужныоткрыть позже с Python.Пока я сохраняю эти результаты в виде текстовых файлов Praat, у меня нет проблем, но когда дело доходит до таблиц, я могу создавать их только с помощью уровня звука и голосового отчета.С шагом я пытался прочитать различные атрибуты вручную, чтобы построить таблицу, но некоторые из них не доступны, большая проблема, когда я пытаюсь получить доступ к кадрам, что приводит к неудачному выполнению сценария (вот код, который я 'm using)
audio = Read from file:name$
pitch = To Pitch: 0.0, 75, 300
pitch_table_columns$ = "xmin xmax nx dx x1 ceiling max_n_candidates frame_n frame_intensity frame_n_candidates frame_candidate_n frame_candidate_frequency frame_candidate_strength"
pitch_table = Create Table with column names: "pitch_table", 0, pitch_table_columns$
selectObject: pitch
xmin = Object_'pitch'.xmin
xmax = Object_'pitch'.xmax
nx = Object_'pitch'.nx
dx = Object_'pitch'.dx
#x1 = Object_'pitch'.x1
#ceiling = 300
#maxncandidates = Object_'pitch'.maxnCandidates
frames = Get number of frames
selectObject: pitch
for i from 1 to frames
#intensity = Object_'pitch'.frame[i].intensity
ncandidates = Object_'pitch'.frame[i].nCandidates
for j in ncandidates
frequency = Object_'pitch'.frame[i].candidate[j].frequency
strength = Object_'pitch'.frame[i].candidate[j].strength
selectObject: pitch_table
Append row
r = Get number of rows
Set numeric value: r, "xmin", xmin
Set numeric value: r, "xmax", xmax
Set numeric value: r, "nx", nx
Set numeric value: r, "dx", dx
Set numeric value: r, "x1", x1
Set numeric value: r, "ceiling", ceiling
Set numeric value: r, "max_n_candidates", maxncandidates
Set numeric value: r, "frame_n", i
Set numeric value: r, "frame_intensity", intensity
Set numeric value: r, "frame_n_candidates", ncandidates
Set numeric value: r, "frame_candidate_n", j
Set numeric value: r, "frame_candidate_frequency", frequency
Set numeric value: r, "frame_candidate_strength", strength
endfor
endfor
selectObject: pitch
Save as text file: "pitch.Pitch"
selectObject: pitch_table
Save as comma-separated file: "table.csv"
Закомментированные строки предназначены для атрибутов, к которым я не могу получить доступ, однако, когда я добираюсь до
ncandidates = Object_'pitch'.frame[i].nCandidates
, скрипт завершается ошибкой, и это запрещаетмне продолжать идти.Точно так же я не знаю, как получить таблицу из точечного процесса.Кто-нибудь знает, что не так с моим кодом или есть лучший способ добиться таких же (или хотя бы похожих) результатов?