{{ modeDescription }}
Tuning up…
Checking your session
{{ authError }}
By continuing, you agree to the Terms and Privacy Policy.
Four tools for composing, converting, and understanding music across Western and Hindustani traditions, plus a full library of theory lessons hosted on our editorial site.
{{ streakSaverStatus }}
Open any tool below. It launches right here.
{{ featuredTool.blurb }}
{{ item.text }}
{{ item.time }}No activity yet — open a tool to get started.
Lessons and articles live on our editorial site, not inside the tools. Every link below opens the Music Theory Hub in a new tab.
Lessons and articles live on our editorial site, side by side across Western and Hindustani theory. Each one opens in a new tab.
Click a lesson to open it on noteheads.in. Click the mark on the left to flag it done or for later review.
No lessons match "{{ lessonSearchQuery }}".
Payments aren't turned on yet. Every plan behaves like Free for now.
₹0
{{ plusPrice }}{{ proPriceUnit }}
{{ proPrice }}{{ proPriceUnit }}
Custom/seat
Your account, at a glance.
{{ displayNameStatus }}
Only applies to email accounts, not Google sign-in.
Got a one-time code from your school? Enter it here to move to their institutional plan.
{{ redeemMessage }}
Deleting your account removes your saved sessions and compositions. This cannot be undone.
Owner-only overview. Payment keys and OAuth secrets belong on the server, never in this browser.
Wraps the whole app in a phone-width frame so you can check the mobile layout without leaving your laptop.
Off. Billing shows plans, but checkout is disabled until Razorpay is connected.
Every account that has signed in with Google (or email) at least once, newest first.
{{ adminUsersError }}
No users yet.
Sends one email per matching recipient through the configured email provider (Brevo/Resend).
{{ campaignSendError }}
{{ campaignSendResultLabel }}
{{ campaignsError }}
No campaigns sent yet.
Stored server-side only. A variable already set shows its last 4 characters as a hint — leave the value blank to keep it unchanged.
No students match "{{ inst.searchQuery }}".
No requests yet — institutions can ask for codes from their portal.
Generate single-use codes a school can hand out to students, each redeemable once for a free seat.
Kill switch for all checkout flows (Razorpay + Dodo). Turning this off blocks new orders and webhooks immediately, even if a provider is configured.
{{ integ.desc }}
{{ integrationsError }}
Values are saved server-side only (never rendered back into the browser). A field that's already set shows a masked hint via its placeholder — leave it blank to keep the current value.
{{ gaOverviewError }}
No tool_id events reported yet for this range.
Upload an XML file with one <lesson> element per lesson, each carrying track (hindustani-music / western-music), level (beginner / intermediate), label, and url attributes. Matches the noteheads.in site export format.
{{ lessonXmlStatus }}
These merge into the Theory Hub library alongside the built-in catalogue.
Manage your roster and classes, and request one-time upgrade codes from NoteHeads.
View-only access to your school's roster, classes, and activity. Ask your institution admin to add or remove users.
No students match "{{ myInstitutionPortal.searchQuery }}".
Average sessions per student, by class.
Visible to teachers and admins alike.
Ask NoteHeads for single-use codes to move your students onto the institutional plan, or pay directly at your school's rate of ₹{{ myInstitutionPortal.pricePerSeat }}/seat/mo.
{{ myInstitutionPortal.payMessage }}
{{ tutorialBody }}