Three readouts to check, in order, and what each one looks like when it is lying to you.
Short answer: check the note count against what you played, then the pitch range against the range you played, then the times in the copied note list. Two failures account for most bad results, and each has a signature: a range sitting far below your material means the input had more than one note sounding at once, and a range sitting exactly twelve semitones above it means the detector locked onto a harmonic instead of the fundamental. Every detected time is also snapped to a 16 ms grid, and velocity is squeezed into a narrow band, so do not read timing or dynamics as precise.
I ran this converter's own detector and writer over material whose notes I already knew, so the failures below are measured rather than guessed. Inputs were synthetic tones at a known pitch and known amplitude, run at the default Confidence setting unless stated.
After a conversion the page shows four values. Three of them are diagnostic:
| Readout | Looks right when | Looks wrong when |
|---|---|---|
| Notes found | It roughly matches the notes you played. An 8-note scale came back as 8. | It is much lower than what you played - a six-note chord progression came back as 1. |
| Pitch range | It brackets the notes you actually played. | It sits below or above your material by an octave or more. This is the single most useful number on the panel. |
| Duration | It matches your file length. | It is not a quality signal at all - it only tells you the decode worked. |
The fourth value, analysis time, tells you how long your machine took. It depends on your hardware and includes decoding, so it says nothing about whether the result is any good. I did not measure it for this page.
This one readout catches the two failures that ruin a conversion, and it catches them because both push the range away from your material in a recognisable direction.
I fed the detector a progression of two triads - C major then G major, six distinct notes, the lowest being G3 at 196 Hz. Here is what came back:
| What went in | Notes found | Pitch range shown | What came out |
|---|---|---|---|
| 6 notes (two triads), lowest G3 | 1 | C2 - C2 | C2, 0.000-1.968 s |
Six notes in, one note out, and that one note is C2 - nineteen semitones below the lowest
note actually played. The range readout said C2 - C2 when the material spanned G3 to D4. That
gap is the alarm: the detector tracks one pitch per frame, so when three notes sound together it reports a
period that belongs to none of them, and the result tends to land well below the music.
What to do: do not re-export or change settings. Extract the line you want - a single instrument, a hummed melody, a stem - and convert that. This is a property of a monophonic detector, not a setting you can tune past.
This is the octave error, and it does not only happen above the frequency ceiling - it happens on ordinary notes whose fundamental is quiet compared with their own harmonics. I tested it directly: a 440 Hz tone held at a fixed level, with a 220 Hz fundamental added underneath at decreasing levels.
| 220 Hz level | As a fraction of the 440 Hz harmonic | Detected as | |
|---|---|---|---|
| 0.300 | 1.00 | A3 | correct |
| 0.150 | 0.50 | A3 | correct |
| 0.100 | 0.33 | A3 | correct |
| 0.080 | 0.27 | A4 | an octave high |
| 0.050 | 0.17 | A4 | an octave high |
| 0.005 | 0.02 | A4 | an octave high |
| 0 (no fundamental) | 0 | A4 | correct - there was no fundamental to find |
The flip happens between a ratio of 0.27 and 0.33. Below roughly a third, the detector finds the harmonic's period first and reports the note an octave up. That matches the mechanism: the search takes the first lag whose difference drops below the threshold, and a loud second harmonic creates a shallow dip at half the true period. If that dip qualifies, the search stops there.
What to do: raise Confidence and re-run. Confidence is the threshold the search uses, and the slider goes up to 0.95. I tested every setting on the failing cases:
| Case | Confidence 0.95 | 0.90 | 0.85 (default) | 0.80 and below |
|---|---|---|---|---|
| Fundamental at 1/6 of the harmonic | A3 | A4 | A4 | A4 |
| Fundamental at 0.27 of the harmonic | A3 | A3 | A4 | A4 |
| Fundamental at 1/15 of the harmonic | A4 | A4 | A4 | A4 |
So the slider is a real lever, but a limited one. At the maximum setting it recovered the octave in the milder cases and could not recover it when the fundamental was about a fifteenth of the harmonic. It also cuts the other way: a stricter threshold means fewer frames qualify, so on dense material you can raise Confidence and end up with fewer notes, or none.
If raising Confidence does not fix it, the problem is in the recording, not the tool. A weak fundamental is usually a mic placement or an EQ problem - close-miking, a high-pass filter, or a small speaker that cannot reproduce the low end. Fixing the source is the reliable route.
This is a check you can run on the note list without any reference recording, because it is a structural property of the method. The analysis advances in hops of 256 samples at 16 kHz, which is exactly 16 ms, so every time the detector can report is a multiple of 0.016 s.
I converted a scale whose notes were each exactly 0.500 s long, starting on the half second. The detected start times, converted back to hop numbers:
hop: 0 31 62 93 125 156 187 218
time: 0.000 0.496 0.992 1.488 2.000 2.496 2.992 3.488 (seconds)
Every one is a whole number of hops. If you copy the note list and divide the start times by 0.016, you should get whole numbers too. If you do not, something is off in a way worth investigating.
Two consequences follow, and both showed up in the same test:
What to do: treat the timing as quantised, not wrong. If you need legato or a tight groove, fix it deliberately in the DAW - most editors have a legato or quantise function that will do it in one action - rather than expecting the file to arrive that way.
Short version: not much. Velocity is written as 40 plus up to 60 more derived from loudness, so it can never exceed 100, and it saturates quickly. I measured both ends of that.
First, a scale with loud and soft notes alternating, a 6.25× difference in amplitude:
| Note | Amplitude | Velocity written |
|---|---|---|
| C4, E4, G4, B4 | 0.5 (loud) | 100 |
| D4, F4, A4, C5 | 0.08 (soft) | 87, 84, 87, 81 |
A 6.25× difference in loudness came out as roughly a 1.2× difference in velocity. Play a passage with real dynamics and the file will look almost flat.
Second, a scale with the amplitude stepped up across the whole usable range:
| Amplitude | 0.01 | 0.02 | 0.05 | 0.08 | 0.10 | 0.20 | 0.50 | 0.90 |
|---|---|---|---|---|---|---|---|---|
| Velocity | 45 | 50 | 65 | 81 | 92 | 100 | 100 | 100 |
Amplitude moved by 90× across that table. Velocity moved from 45 to 100 and then stopped: everything from 0.20 upward - a further 4.5× increase in level - produced exactly the same number. The top of the dynamic range is flat.
What to do: accept the relative shape, or redo the dynamics yourself. If you care about dynamics, the useful thing in the file is the ordering - which notes are louder than which - not the absolute numbers. The note list gives you the velocity column so you can see what it decided before you start editing.
The page has a Copy note list button. It produces plain text, and reading three things in it will tell you more than the panel does. Here is the real output for the 8-note scale:
# Start(s) End(s) Dur(s) Vel Note
1 0.000 0.480 0.480 100 C4
2 0.496 0.976 0.480 100 D4
3 0.992 1.488 0.496 100 E4
...
Read it for:
What the detector can and cannot hear in the first place is covered in how the pitch detection works and where the 2000 Hz ceiling falls, and what the downloaded file does and does not carry is in what is inside the .mid file.