0

我正在尝试使用 Parselmouth 从 .wav 文件中计算抖动,但 PointProcess 给我带来了麻烦。

之后,我做

sound = parselmouth.Sound(path) # path = path to .wav
pointProcess = parselmouth.praat.call(sound, "To PointProcess (periodic, cc)")

打算跟进

jitter = parselmouth.praat.call(pointProcess, "Get jitter (local)", 0, 0, 0.0001, 0.02, 1.3)

但在我可以之前,我收到了这个错误:

Command "To PointProcess (periodic, cc)" not available for given objects
4

1 回答 1

0

我刚从 Parselmouth 的作者 Yannick Jadoul 那里得到回复:

是的,我想我知道:实际的 Praat 操作是“To PointProcess (periodic, cc)...”而不是“To PointProcess (periodic, cc)”,因为它需要参数并且会在 Praat GUI 中打开一个表单。

当您向动作添加参数时,Parselmouth 会尽量表现得友好,并在动作名称的末尾添加“...”,如果它不存在(类似于在 Praat 脚本中发生的情况)。所以要么写 parselmouth.praat.call(sound, "To PointProcess (periodic, cc)...") 要么 parselmouth.praat.call(sound, "To PointProcess (periodic, cc)", "BLAH") 应该导致一个更有用的错误(关于你传递的参数的数量或类型),但你的情况有点不走运,你没有。

于 2019-10-24T16:10:08.233 回答