【问题标题】:Shimmer functions won't run on textgrid intervals but jitter functions work fine?Shimmer 函数不会在 textgrid 间隔上运行,但 jitter 函数可以正常工作吗?
【发布时间】:2021-08-16 08:20:45
【问题描述】:

我正在尝试制作一个从文本网格(音素)的每个间隔中提取抖动和闪光值的 praatscript。

我在遍历间隔之前定义了所有必要的对象,然后在每个间隔调用 jitter 或 shimmer。所有 jitter 函数都可以正常工作,但 shimmer 函数会产生错误:

“命令“获取微光(本地)...”不适用于当前选择。”

我不知道这是什么原因。我看不出抖动适用于选择而不是微光的原因。抄本如下。

select Sound 'thisSound$'
To Pitch (ac): 0, 100, 15, "yes", 0.03, 0.45, 0.01, 0.35, 0.14, 500
select Sound 'thisSound$'
To PointProcess (periodic, cc)... 100 500
select Sound 'thisSound$'
To Harmonicity (cc)... 0.01 100 0.1 1

# Loop through each interval on the phoneme tier.
for thisInterval from 1 to numberOfPhonemes
    # Get the label of the interval
    select TextGrid 'thisTextGrid$'
    thisPhoneme$ = Get label of interval: 1, thisInterval
    
    # Jitter measurements
    select PointProcess 'thisSound$'
    meanlocaljitter = Get jitter (local)... thisPhonemeStartTime  thisPhonemeEndTime  0.0001 0.02 1.3

    select PointProcess 'thisSound$'
    meanlocalshimmer =  Get shimmer (local)... thisPhonemeStartTime thisPhonemeEndTime 0.0001 0.02 1.3 1.6

我已尝试不重新选择 PointProcess。我也尝试过其他的微光功能变体,但没有成功。我不明白为什么如果抖动命令可以,微光命令不能在选择上运行?

感谢您的帮助!

【问题讨论】:

    标签: praat


    【解决方案1】:

    对于微光命令,您需要选择一个声音对象和一个点处理对象。

    因此,在运行 shimmer 命令的行之前添加如下内容:

    selectObject: "Sound 'thisSound$'", "PointProcess 'thisSound$'"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-29
      相关资源
      最近更新 更多