Pitchr
Visit /pitchr on your Frappe site, press the mic button, and hum.
- Author: kwyj1bo
- Repository: https://github.com/kwyj1bo/Pitchr
- GitHub stars: 0
- Forks: 0
- License: MIT
- Category: HR & Payroll
- Maintenance: Actively Maintained
- Frappe versions: develop
Install Pitchr
bench get-app https://github.com/kwyj1bo/Pitchr
Add the Frappe Gems badge to your README
Maintain Pitchr? Paste this into your README:
[](https://frappegems.com/gems/apps/kwyj1bo/Pitchr)
About Pitchr
Pitchr 🎵
Hum a song. We'll name it.
How it works
- User hums a melody on the portal page
- Audio is captured and sent to the backend
- YIN pitch detection extracts the pitch sequence
- Melody contour is normalized (key-invariant)
- DTW matching finds the closest song in the database
- Result is returned to the user
Tech
- Pitch detection: YIN algorithm (from scratch)
- Matching: Dynamic Time Warping (from scratch)
- Framework: Frappe
- No ML, no external fingerprinting libraries
Modules
| Module | Description |
|---|---|
| Audio Capture | Records mic input via sounddevice |
| YIN Pitch Detection | Extracts pitch sequence from audio |
| Contour Normalization | Makes matching key-invariant |
| DTW Matcher | Finds best matching song |
| Song Indexer | Indexes songs into the database |
| API Layer | Frappe whitelisted REST endpoints |
| Portal Page | Frontend UI for humming |
Installation
cd $PATH_TO_YOUR_BENCH
bench get-app https://github.com/kwyj1bo/Pitchr --branch develop
bench install-app pitchr
Usage
Visit /pitchr on your Frappe site, press the mic button, and hum.
Contributing
This app uses pre-commit for code formatting and linting. Install and enable it:
cd apps/pitchr
pre-commit install
Pre-commit is configured to use: ruff, eslint, prettier, pyupgrade.
CI
- CI: Installs the app and runs unit tests on every push to
develop - Linters: Runs Frappe Semgrep Rules and pip-audit on every pull request
License
MIT
Related HR & Payroll apps for Frappe & ERPNext
- Hrms — Open Source HR and Payroll Software
- Huf — Open-source, self-hosted multi-agent AI infrastructure for teams and apps with support for cloud and local models, tool integrations, workflows, and automation across business systems including Slack, ERPNext, Discord & Gmail.
- Bookings — Hotel Management App for Erpnext
- Employee Self Service — This is the backend component for Nesscale ESS - a mobile app that brings ERPNext to your phone. Employees can manage their HR tasks, sales activities, and projects right from their mobile devices.
- Inventory Tools — A collection of features to streamline and enhance inventory management and manufacturing workflows in ERPNext.
- Check Run — Payables utility for ERPNext
- Next Ai — NextAI is an AI-powered app for Frappe and ERPNext, delivering seamless content generation, automation, and productivity enhancements.
- Projectit — Open Source PWA mobile app to track the Employees out in the field. This mobile app is developed on Frappe Framework and it is integrated with the Project functionalities of ERPNext and integrated tightly with Frappe HR.