我正在尝试将文件的音高转换为 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