簡単な方法
これを行う最も簡単な方法は、出力をオブジェクトに書き込んでから、Table
PraatのSave to comma-separated file
コマンドを使用してそれを外部ファイルに保存することです。以下の例では、新しい(少し合理的な)新しい構文を使用しているため、試してみる前に必ずPraatを更新してください(または、この回答の編集履歴の短縮バージョンを試してください)。
次に例を示します。
# Create a Table with no rows
table = Create Table with column names:
..."table", 0, "Narrative Label Midpoint Time F1 F2 F3"
for i to number_of_intervals
# Assuming you have your Formant objects in an array named "burg"
selectObject(burg[i])
# Run your analysis here
# For this example, I'm assuming values for the columns are in
# variables called narrative$, label$, midpoint, time, f1, f2 and f3
selectObject(table)
Append row
current_row = Get number of rows
# Insert your values
Set string value: current_row, "Narrative", narrative$
Set string value: current_row, "Label", label$
Set numeric value: current_row, "Midpoint", midpoint
Set numeric value: current_row, "Time", time
Set numeric value: current_row, "F1", f1
Set numeric value: current_row, "F2", f2
Set numeric value: current_row, "F3", f3
endfor
# Save it!
# Remember to select it if the table is not the active selection at
# the end of the loop
Save to comma-separated file: /path/to/file
# And then you can get rid of it
removeObject(table)
または、タブが必要な場合は、を使用できます
Save to tab-separated file: /path/to/file
このメソッドでは、列名として「Narrative#」を使用できないことに注意してください。
'l33t'の方法
または、Praatのファイルディレクティブを使用するドキュメントで説明されているように、ファイルに直接書き込みます。
sep$ = ","
# sep$ = tab$
# Create / overwrite file and write header
writeFileLine: "/path/to/file",
..."Narrative#" + sep$ +
..."Label" + sep$ +
..."Midpoint" + sep$ +
..."Time" + sep$ +
..."F1" + sep$ +
..."F2" + sep$ +
..."F3"
for i to number_of_intervals
selectObject(burg[i])
# Run your analysis here
appendFileLine: "/path/to/file",
...narrative$ + sep$ +
...label$ + sep$ +
...string$(midpoint) + sep$ +
...string$(time) + sep$ +
...string$(f1) + sep$ +
...string$(f2) + sep$ +
...string$(f3)
endfor