如何使用脚本获得或保存在praat中的音调列表

时间:2018-01-02 05:13:53

标签: scripting praat

我试图在praat中使用脚本来保存或写入一个文件,其中包含使用“Pitch”下的“Pitch Listing”给出的值。到目前为止,这是我的脚本代码:

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 个答案:

答案 0 :(得分:0)

使用新语法(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