Is the content really free?
Yes, all content on the site is available free of charge and without ads. The site is supported via our iOS apps. If you find the content useful, please consider purchasing an app!
Which web browsers work with musictheory.net?
We strongly encourage you to access the site using a modern web browser released in the past year, especially when using this site in a classroom environment.
Starting in 2016, we retire outdated browsers each summer. Retired browsers can still access archived versions of the site.
Our supported browsers for the 2022-2023 school year include:
- Apple Safari, 14.1 or later
- Google Chrome, 80 or later
- Microsoft Edge, 80 or later;
- Mozilla Firefox, 91 or later
We will temporarily support Apple Safari 14.0; however, we encourage users to update as soon as possible.
Is Adobe Flash Player required to view the site?
No. Flash isn't necessary if you are viewing the current edition with a supported web browser.
Are the website and apps accessible?
Why can't I hear audio?
In order to hear audio in the lessons or exercises, you need to use a current version of:
We use both WebAssembly and the Web Audio API to generate audio content. If either is disabled or blocked, no audio will be heard.
Microsoft Edge's “Enhanced Security” mode does not yet support WebAssembly. Until Microsoft fixes this issue, users will need to add an exception for our site.
Which software instruments did you use?
For piano audio examples, we used samples from the following free instruments:
- MDA Piano by Paul Kellett
- Maestro Concert Grand by Mats Helgesson
- Salamander Grand Piano by Alexander Holm
For woodwind and brass audio examples, we used products from Samplemodeling:
- Double Reeds
- French Horn & Tuba
- The Saxophones
- The Soprano & Bass Clarinets
- The Trombone
- The Trumpet
For bowed strings, we used products from Embertone:
- Fischer Viola
- Friedlander Violin
- Blakus Cello
While Samplemodeling and Embertone instruments cover the full range of musical expression, we opted to use a single dynamic along with a very gentle vibrato.
Proprietary samples were used for the remaining ear training instruments.
Which devices can run the iOS apps?
Tenuto and Theory Lessons work on any device running iOS 12.4 or later.
My teacher assigned a web exercise as homework. Can I complete it in Tenuto?
Yes, with the latest version of Tenuto, you can create official Progress Reports.
First, open the exercise in Safari on your iPhone, iPad, or iPod touch and select “Open Exercise in Tenuto”:
Tenuto will launch and ask if you wish to open the exercise. Select “Open”:
Your existing customizations will be overwritten with those from your teacher and your score will be reset. Once you complete the exercise, tap the Actions icon and select “Show Progress Report” to display the progress report:
Next, tap the Share icon at the bottom of the report:
Select Mail to send the report via e-mail or Print to print it out.
How can I assign exercises as homework?
Select an exercise to customize. As you change its settings, the web address at the bottom of the page will update:
This address is permanent and will always point to the customized exercise. You can link to it from your Course Management System, put it on your school website, or e-mail it directly to your students.
By default, exercises are never-ending and present questions to your students indefinitely. For homework assignments, we recommend the use of Challenge Mode. This adds a question or time limit and prevents a student from skipping questions.
A student should hand in a signed Progress Report to prove that they completed the exercise. To create a report, a student first clicks on the Actions icon in the top right corner of the exercise and selects “Show Progress Report”:
Next, the student signs the report by entering text and clicking “Sign Report”. To protect privacy, we recommend that the signature text be a student's initials (or a unique identifier) rather than their name.
After signing, a Verification Code appears. The student should right-click on this code and select “Copy Link”, “Copy Link Location”, or “Copy Shortcut” (depending on the web browser) to copy its web address. The student then pastes this link into an e-mail message or school-provided Course Management System. You can then click on the link to bring up the original Progress Report.
Verification codes are not transmitted or stored on our servers. We have no way of “looking up” a lost code. To prevent errors, we recommend that students send codes electronically rather than physically printing or handwriting them. To our knowledge, the sole cause of invalid codes is miscopying or mistyping.
How long do customized exercises remain available after creation?
Customized exercises are permanent and do not expire. If you previously created a customized exercise and the URL no longer works, or experience other issues, please contact us.
How do exercise verification codes work?
When a student signs a Progress Report, the exercise generates a Verification Code. It contains all of the information needed to recreate the report: the exercise name, settings, signature, elapsed time, and score.
From a security perspective, verification codes prevent common forms of cheating. Once a student signs the report, the signature cannot be changed until the score is reset. This prevents a student from making multiple copies of a report for friends. In addition, codes are resistant to forgery. While a student could reverse-engineer the cryptographic algorithms used for code generation, doing so involves more effort than completing the assignment.
From a privacy perspective, verification codes are designed to be decentralized and not stored on our servers. No data needs to be sent or received to create a code — the student's web browser does so locally. The reverse is also true: when a teacher enters a code into the Code Checker tool, the original Progress Report is replicated locally and not “retreived” from our servers.
If a verification code is copied as a web address, it is stored in the Fragment Identifier portion of the URL. This instructs a web browser to not transmit the code as part of the loading process.
How do the Key Signatures, Accidentals, and Note Filter customizations work?
The ‹Key Signatures› customization adds a key signature to the left side of the staff. ‹Accidentals› adds additional naturals, sharps, or flats next to a note. ‹Note Filter› operates on the result — if a note isn't in the allowed list, a new question is generated. ‹Note Filter› also determines the visibility of answer buttons.
For example; to quiz the diatonic notes of C Major, F Major, and G Major, you can use either of the following customization sets:
|Set 1||Set 2|
|Key Signatures||None, 1 Flat, 1 Sharp||None|
|Note Filter||Off||C, D, E, F, F#, G, A, B, Bb|
Set 1 presents the diatonic notes in the context of a key signature. Set 2 presents them using accidentals next to the note instead of a key signature.
In Note Construction, the ‹Difficulty› customization acts similar to ‹Accidentals›.
Are keyboard shortcuts available in the exercises?
Yes, keyboard shortcuts are available on the web exercises when running on non-mobile devices. Common shortcuts include:
|Shift + R||Reveal the answer.|
|Shift + N||Generate a new question|
|Shift + P||Display the Progress Report.|
|Space||Replay an ear training question.|
|Escape||Dismiss a dialog.|
Note letter exercises: Use A – G to select the natural version of a note. Hold the up arrow key (↑) to select sharps or the down arrow key (↓) to select flats.
Scale degree exercises: Use 1 – 7 to select the a scale degree. Hold the up arrow key (↑) to select raised degrees or the down arrow key (↓) to select lowered degrees.
Pitch-class exercises: Use 1 – 9, T (for 10), and E (for 11) to select a pitch-class.
Generic interval exercises: Use the number keys (1 – 8) to select a generic interval.
Specific interval exercises: Use the number keys (1 – 8) to select a major or perfect interval. Hold down the arrow keys (↑, ↓, and ←) to alter the interval quality.
Construction exercises: Use the up and down arrow keys (↑/↓) to move the selection or current note. Use the left and right arrow keys (←/→) to change accidentals. Press Enter to submit your answer.