Pitchr

Visit /pitchr on your Frappe site, press the mic button, and hum.

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:

[![Listed on Frappe Gems](https://frappegems.com/api/method/frappe_gems.seo.badge?app=kwyj1bo%2FPitchr)](https://frappegems.com/gems/apps/kwyj1bo/Pitchr)

About Pitchr

Pitchr 🎵

Hum a song. We'll name it.

How it works

  1. User hums a melody on the portal page
  2. Audio is captured and sent to the backend
  3. YIN pitch detection extracts the pitch sequence
  4. Melody contour is normalized (key-invariant)
  5. DTW matching finds the closest song in the database
  6. 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.