0

I'm trying to use Parselmouth to calculate jitter from a .wav file, but PointProcess is giving me trouble.

Following this, I do

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

intending to follow up with

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

but before I can, I get this error:

Command "To PointProcess (periodic, cc)" not available for given objects
Seelab
  • 1
  • 2

1 Answers1

0

I just heard back from Parselmouth's author, Yannick Jadoul:

Yes, I think I know: the actual Praat action is "To PointProcess (periodic, cc)..." rather than "To PointProcess (periodic, cc)", because it takes arguments and would open a form in the Praat GUI.

When you add arguments to an action, Parselmouth will try to be nice and add "..." to the end of the action name, if it's not there (similar to what happens in Praat scripts). So either writing parselmouth.praat.call(sound, "To PointProcess (periodic, cc)...") or parselmouth.praat.call(sound, "To PointProcess (periodic, cc)", "BLAH") should result in a more useful error (something about the number or types of arguments you're passing), but you're case is a bit unlucky, where you have neither.

Community
  • 1
  • 1
Seelab
  • 1
  • 2