Pyrapt
A pitch tracker inspired by David Talkin's RAPT (Robust Algorithm for Pitch Tracking) written in Python.
Install / Use
/learn @dgaspari/PyraptREADME
pyrapt
A pitch tracker inspired by David Talkin's RAPT (Robust Algorithm for Pitch Tracking) written in Python. This work is an educational exercise as part of my master's thesis at Harvard Extension School.
Introduction
This project started as an attempt to implement an algorithm proposed by David Talkin in this paper:
Talkin, David. "A robust algorithm for pitch tracking (RAPT)." Speech coding and synthesis 495 (1995): 518.
This paper was recommended to me by my advisor as a good vocal pitch tracker I could write on my own. During the course of my thesis project I have adjusted my implementation. It is not a pure implementation of RAPT by any means. If you're interested in more recent work by David Talkin, I recommend checking out his latest algorithm, REAPER, on Github: https://github.com/google/REAPER
Installation Notes
This module is currently being developed for use with Python 2.7. Because the scipy/numpy libraries are dependencies, make sure you can obtain and build those packages first (need fortran compiler, python dev packages, and ability to comipile c extensions)
Misc Notes:
While working on the NCCF portion of RAPT, to save time, I've included a pickle of the nccf output: example_nccf_data.p To load it up, just import pickle and then call load method like so: ncc_data = pickle.load(open("example_nccf_data.p", "rb"))
License (MIT)
Related Skills
node-connect
331.7kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
81.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
331.7kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
81.6kCommit, push, and open a PR
