To Pitch (filtered autocorrelation)...

10 views
Skip to first unread message

Katrina Kechun Li

unread,
Oct 9, 2025, 7:01:43 PM (10 days ago) Oct 9
to Parselmouth
Hello, 

In the latest Praat , the 'filtered autocorrelation' is the recommended default when generating a Pitch object. I wonder if this command is also available in parselmouth?


Many thanks!

Best wishes,
Katrina

yannick...@gmail.com

unread,
Oct 10, 2025, 7:39:09 PM (9 days ago) Oct 10
to Parselmouth
Hi Katrina

Yeah, no, you're not the first to ask, but I unfortunately still haven't had decently time to release the update! :-(

In short, the released version Parselmouth 0.4.6 is based on Praat 6.1.38, which didn't have the new pitch analysis yet.

One way to get a newer version would be to install a development version (i.e., the version I'm working on, but isn't quite ready for release), by downloading the latest wheels of the development branch: https://github.com/YannickJadoul/Parselmouth/actions/workflows/wheels.yml?query=branch%3Amaster
To do so, you go to the last build (i.e., currently https://github.com/YannickJadoul/Parselmouth/actions/runs/18417998133), scroll down to the "Artifacts", download the zip for your system (windows/linux/mac), extract the "Python wheel" for the version of Python you have, and `pip install ....whl`.
If you want to try this and could use help with that, just let me know which system you have and which version of Python, and I can help you with that!

Alternatively, there might be a way of doing the filtering separately, and then run the old (non-filtered) AC pitch detection?
If you want to try that, I could also have a closer look at that.


Kind regards
Yannick

王珺

unread,
Oct 13, 2025, 12:37:18 AM (7 days ago) Oct 13
to Parselmouth
Dear Yannick,
I've tried your recommended way to get a newer version of Praat, and it worked. However, the newer version in the dev wheel is parselmouth.PRAAT_VERSION '6.4.16'. It turns out the PRAAT version that supports the advanced  'filtered autocorrelation'  is '6.4.44'.
Is it possible for you to make a convenient commit for that version 6.4.44 in your dev wheel. Many thanks,

Jun

yannick...@gmail.com

unread,
Oct 13, 2025, 10:22:41 AM (6 days ago) Oct 13
to Parselmouth
Dear Jun

Thank you for telling me! 6.4.44 is the previous to last version, though. I thought "To Pitch (filtered autocorrelation)" was a bit older than that?
Based on the changelog, it would seem it was introduced in 6.4.0? https://www.fon.hum.uva.nl/praat/manual/What_was_new_in_6_4_.html

Can you tell me what you tried, so I can perhaps try again?
Do note that there will not be a nice `Sound` method, but you'll have to run something like `pitch = parselmouth.praat.call(sound, "To Pitch (filtered autocorrelation)", x, y, z)` (see https://parselmouth.readthedocs.io/en/latest/api/parselmouth.praat.call.html#parselmouth.praat.call)


Cheers
Yannick

Jun Wang

unread,
Oct 13, 2025, 9:49:56 PM (6 days ago) Oct 13
to yannick...@gmail.com, Parselmouth
Dear Yannick,
I tried your new proposal. And it worked! Many thanks!
For others who want to try it out. I put a precise example line here:
pitch2 = parselmouth.praat.call(sound, "To Pitch (filtered
autocorrelation)...", 0.0, 50.0, 800.0, 15, "no", 0.03, 0.09, 0.50,
0.055, 0.35, 0.14)

Note: Don't miss the "..." after the To "Pitch (filtered
autocorrelation)" command.

Cheers,
Jun

yannick...@gmail.com <yannick...@gmail.com> 于2025年10月13日周一 22:22写道:
> --
> You received this message because you are subscribed to the Google Groups "Parselmouth" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to parselmouth...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/parselmouth/cbbbed6c-92c2-4b3c-94ac-0a009e613163n%40googlegroups.com.

yannick...@gmail.com

unread,
Oct 14, 2025, 6:05:37 AM (5 days ago) Oct 14
to Parselmouth
Thanks, Jun!

So to give a bit more context, this function has not been exposed yet as Python method, so that is why you need to run it through `parselmouth.praat.call`.

Additionally, running `parselmouth.praat.call(sound, "To Pitch (filtered autocorrelation)", 0.0, 50.0, 800.0, 15, "no", 0.03, 0.09, 0.50, 0.055, 0.35, 0.14)` (without the dots) should also work, because Parselmouth automatically adds the dots if you pass 1 or more arguments after it! (Also, you can replace "no" with False, if you prefer it the Python way ;-) )

Cheers
Yannick
Reply all
Reply to author
Forward
0 new messages