我正在尝试将文件的音高偏移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
答案 0 :(得分:0)
大约一年后,我可以回答我自己的问题:
发现斑点录音的音高(F0)不是直截了当的事情,音高在录音(元音)的浊音部分有意义。
普拉特会按照预期进行音高变化,测量值可能会出现误差