在Praat中音高转换准确吗?

时间:2019-04-28 00:59:14

标签: praat

我正在尝试将文件的音高偏移20Hz,但是当我以praat方式获取平均音高时,我却永远都不会得到20Hz,类似的东西。

例如,我有一个.85s文件,其内容为“ 108.07459844192924 Hz(SELECTION中的平均音高)”;如果我要进行操作,请获取音调等级并将其偏移20 Hz,结果是文件126.12524578822578 Hz(SELECTION中的平均音调)

我已经尝试在创建操作对象时更改时间步长,最小和最大音调。看来这不是问题

这是我的脚本(我已经测试过手动执行,并且结果相同):

注意:数组dur_files []包含10个不同长度的文件

for i from 0 to 10
    for j from 0 to 10
        selectObject: dur_files[i]
        durat_mod = Get end time
        manip = To Manipulation: 0.005, 10, 1000
        selectObject: manip
        pitch_tier = Extract pitch tier
        selectObject: pitch_tier
        Shift frequencies: 0, durat_mod, 3*(j-5), "Hertz"
        plusObject: manip
        Replace pitch tier
        removeObject: pitch_tier
        selectObject: manip
        resynth = Get resynthesis (overlap-add)
        removeObject: manip
        selectObject: resynth
        Rename: selected$ ("Sound") + "_pitch-" + string$(j-5))
        lib_files[i,j] = selected()
        lib_files_name$[i,j] = selected$() 
    endfor
endfor

1 个答案:

答案 0 :(得分:0)

大约一年后,我可以回答我自己的问题:

  • 发现斑点录音的音高(F0)不是直截了当的事情,音高在录音(元音)的浊音部分有意义。

  • 实际上,
  • 普拉特会按照预期进行音高变化,测量值可能会出现误差