(一)提取二维频谱中某个频率位置的能量值 # 点击主窗口的Control 菜单下的New praat script 按钮,以建立一个新的脚 本语言编辑窗口,然后将脚本语言拷贝到脚本语言编辑窗口中; # 然后在对象列表窗口选定并编辑(Edit)一个二维频谱对象(Spectrum),再在 二维频谱对象上将游标定位到您需要测量其能量的频率位置; # 然后按脚本编辑器的Run 菜单下的Run 按钮; # 执行结束后,您将在弹出的信息窗口中看见该频率位置的能量值。 clearinfo spectrumN$=selected$("Spectrum") editor Spectrum 'spectrumN$' pitchV=Get cursor endeditor binNum=Get number of bins binW=Get bin width binN=Get bin number from frequency... 'pitchV' binNQ=floor(binN) binNH=ceiling(binN) pitchQ=Get frequency from bin number... 'binNQ' pitchH=Get frequency from bin number... 'binNH' if pitchH-pitchQ>0 rV=Get real value in bin... 'binNQ' rV=rV iV=Get imaginary value in bin... 'binNQ' iV=iV shengYaQ=(rV*rV+iV*iV)^0.5 dBQ=20*log10(shengYaQ/2*10^5)+15 rV=Get real value in bin... 'binNH' rV=rV iV=Get imaginary value in bin... 'binNH' iV=iV shengYaH=(rV*rV+iV*iV)^0.5 dBH=20*log10(shengYaH/2*10^5)+15 juli=(pitchV-pitchQ)/(pitchH-pitchQ) dB=dBQ+(dBH-dBQ)*juli endif if pitchH-pitchQ=0 rV=Get real value in bin... 'binN' rV=rV iV=Get imaginary value in bin... 'binN' iV=iV shengYa=(rV*rV+iV*iV)^0.5 dB=20*log10(shengYa/2*10^5)+15 endif print 'dB' (二)提取二维频谱中前n 个谐波峰的能量值 # 点击主窗口的Control 菜单下的New praat script 按钮,以建立一个新的脚 本语言编辑窗口,然后将脚本语言拷贝到脚本语言编辑窗口中; # 然后在对象列表窗口选定并编辑(Edit)一个二维频谱对象(Spectrum),并测 量其第10 个谐波的中心频率,再除以10 以得到这个时点的基频值; # 然后按脚本编辑器的Run 菜单下的Run 按钮,接下来在弹出的对话窗口 里输入您刚才测定的基频值和需要测量的谐波峰数目n; # 执行结束后,您将在弹出的信息窗口中看见n 个谐波峰位置的能量值。 form 对话框 positive Frequency_Zero_(Hz) 100 positive The_Number_of_harmonics 10 endform fZero...