# Thanks Ralph Peterson for recent contributions to VocalPy

**URL:** <https://forum.vocalpy.org/t/thanks-ralph-peterson-for-recent-contributions-to-vocalpy/87>\
**Category:** Showcase\
**Tags:** vocalpy\
**Created:** [January 19, 2024, 9:49pm UTC](https://forum.vocalpy.org/t/thanks-ralph-peterson-for-recent-contributions-to-vocalpy/87 "2024-01-19T21:49:37Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![nicholdav](https://yyz2.discourse-cdn.com/flex032/user_avatar/forum.vocalpy.org/nicholdav/32/5_2.png) [@nicholdav](https://forum.vocalpy.org/u/nicholdav)\
**Post date:** [January 19, 2024, 9:49pm UTC](https://forum.vocalpy.org/t/thanks-ralph-peterson-for-recent-contributions-to-vocalpy/87/1 "2024-01-19T21:49:37Z")

</div>

Hey all, just want to say thanks to @ralphpeterson for a couple of contributions:

- Improved install instructions for VocalPy: [Docs updates by ralphpeterson · Pull Request #99 · vocalpy/vocalpy · GitHub](https://github.com/vocalpy/vocalpy/pull/99)

Much more helpful now! And beginner friendly too

> **[Installation](https://vocalpy.readthedocs.io/en/latest/getting_started/installation.html)**
>
> VocalPy can be installed with either one of two package managers: pip or conda. The next section shows commands for installing with either. It is recommended to always use a virtual environment 1 2...

- and a fix to `vocalpy.spectral.sat` where I left a value hard-coded that should have been one of the arguments (not like I was rushing this feature for a talk or anything 😅 ):  
[issue #100 patch —&nbsp;update hardcoded value in vocalpy.spectral.sat.py by ralphpeterson · Pull Request #111 · vocalpy/vocalpy · GitHub](https://github.com/vocalpy/vocalpy/pull/111)

Ralph has also been contributing ideas for what the workflow for feature extraction should look like, see [ENH: Feature module + API · Issue #91 · vocalpy/vocalpy · GitHub](https://github.com/vocalpy/vocalpy/issues/91)

Super helpful! We want more contributions like these!

@ralphpeterson thanks again and feel free to introduce yourself ([Introduce yourself - #26 by nicholdav](https://forum.vocalpy.org/t/introduce-yourself/17/26)) if you have a second

---

<div class="post-metadata">

**Author:** ![ralphpeterson](https://yyz2.discourse-cdn.com/flex032/user_avatar/forum.vocalpy.org/ralphpeterson/32/40_2.png) [@ralphpeterson](https://forum.vocalpy.org/u/ralphpeterson)\
**Post date:** [January 30, 2024, 4:05pm UTC](https://forum.vocalpy.org/t/thanks-ralph-peterson-for-recent-contributions-to-vocalpy/87/2 "2024-01-30T16:05:12Z")

</div>

Happy to help out! Big thanks right back at you for creating an amazing package and community in VocalPy! Looking forward to its continued development.

---

<div class="post-metadata">

**Author:** ![nicholdav](https://yyz2.discourse-cdn.com/flex032/user_avatar/forum.vocalpy.org/nicholdav/32/5_2.png) [@nicholdav](https://forum.vocalpy.org/u/nicholdav)\
**Post date:** [February 9, 2024, 9:42pm UTC](https://forum.vocalpy.org/t/thanks-ralph-peterson-for-recent-contributions-to-vocalpy/87/3 "2024-02-09T21:42:47Z")

</div>

Thank you 🙇‍♂️

And thanks for making pitch extraction work better too btw!

> <https://github.com/vocalpy/vocalpy/pull/117>
>
> I was trying to compute the fundamental frequency of some ultrasonic vocalizatio…ns and noticed that the \[pitch\](https://github.com/ralphpeterson/vocalpy/blob/main/src/vocalpy/feature/sat.py#L307) function (vocalpy.feature.sat) returned wonky results. It turns out that the librosa \[yin\](https://librosa.org/doc/main/generated/librosa.yin.html) function referenced in \`pitch\` has an additional argument, \`trough\_threshold\` that when changed helps produce better f0 estimates (see example below with black line showing f0 estimate from librosa.yin). Not sure exactly the underlying reason, but nonetheless we should have access to this argument in vocalpy.
> 
> In this PR I simply added \`trough\_threshold\` as an argument in the \`pitch\` function.
> 
> !\[Untitled\](https://github.com/vocalpy/vocalpy/assets/4031329/2da2af33-b7fb-4250-b730-bfd83cc8aa15)
