The short answer: a piano is the instrument this converter handles best in the middle of its range and worst at the two ends. In our own measurements the bottom of the keyboard is simply outside the detector's hearing: the lowest A (A0, 27.50 Hz) and the lowest C (C1, 32.70 Hz) sit under the 55 Hz floor that both detection modes start at, so monophonic mode writes nothing for them and polyphonic mode writes their overtones instead — six notes each, none of them the note you played. The top is half-visible: C7 (2,093 Hz) and E7 (2,637 Hz) are past the 1,800 Hz ceiling of monophonic mode, so only polyphonic mode reaches them, and C8 (4,186 Hz) is past the 4,000 Hz polyphonic ceiling as well. Between those edges everything converts. What decides whether one note survives is not its pitch — it is how bright its timbre is.
Every figure below came from running this site's own analyser (dsp.js) on synthesised instrument tones whose correct answer we knew before we started, at the default sensitivity of 60. Where we have not measured something, we say so rather than guess.
The two ends of the piano keyboard
The analyser searches for a fundamental inside a fixed frequency window, and there are two of them, because the two detection modes do not look at the same span. Monophonic mode tracks a single pitch inside a narrower band that tops out at 1,800 Hz. Polyphonic mode scans a wider span for spectral peaks, up to 4,000 Hz. Both start at 55 Hz. A piano's 88 keys run from 27.50 Hz to 4,186 Hz, so the instrument is wider than either window:
| Note | True (Hz) | In the mono band 55–1,800? | In the poly band 55–4,000? | Monophonic result | Polyphonic result |
|---|---|---|---|---|---|
| A0 — lowest key | 27.50 | no | no | nothing written | six notes: C#3, G3, A4, D4, E2, B3 |
| C1 | 32.70 | no | no | nothing written | six notes: G2, C3, E3, A#3, F4, F#4 |
| C2 | 65.41 | yes | yes | note written | note written |
| C4 — middle C | 261.63 | yes | yes | note written | note written |
| C7 | 2,093 | no | yes | nothing written | C7 present |
| E7 | 2,637 | no | yes | nothing written | E7 present |
| C8 — highest key | 4,186 | no | no | nothing written | one note, C#6 — not the key played |
Two different failures live in that table, and they are worth keeping apart. Below the floor, the string's own fundamental is invisible but its overtones are not, and an overtone is a perfectly ordinary pitch — so the analyser reads a confident, clean, wrong chord where you played one low note. A0 came back as six notes spread from E2 up to A4, roughly an octave and a half above the key. That is not noise; it is a misidentification, which is why it survives into the MIDI file looking tidy.
Above the ceiling the failure is quieter: the note is simply absent. There is no higher band to fall back on, because the partials that would carry it are also above 4,000 Hz by then.
What actually decides whether a note survives
Here is the result that surprised us most, and it is the one worth remembering. Every frame of audio also gets a harmonic-comb score — how cleanly the spectrum lines up on a harmonic series — and a note is only written if that score clears a gate. At the default sensitivity of 60 the gate sits at 0.20. We held the pitch fixed and changed only the timbre: a soft tone whose harmonics fall away quickly, against a bright tone whose upper harmonics stay strong.
| Timbre | Harmonics in the tone | Pitch tested | Score | Outcome |
|---|---|---|---|---|
| Soft — 1/k1.5 and steeper | 4 to 32 | C2–C6 | 0.25–0.43 | every note written |
| Bright — 1/k1.0 | 16 | C4 | 0.187 | note lost |
| Bright | 24 | C4 | 0.168 | note lost |
| Bright | 32 | C4 | 0.156 | note lost |
| Bright | 16 | C5 | 0.165 | note lost |
| Bright | 24 | C5 | 0.148 | note lost |
| Bright | 24 | C6 | 0.198 | note lost |
| Bright | 32 | C3 | 0.188 | note lost |
Read the two halves against each other. The soft timbre cleared the gate at every pitch we tried, from C2 to C6, at every harmonic count from four up to thirty-two — the lowest score in that whole block was 0.25, comfortably above 0.20. The bright timbre failed at C3, C4, C5 and C6, and the score fell further the more harmonics the tone carried. Same note, same loudness, same duration: one is written and one is not, and the only thing that changed is how much energy sits in the upper partials.
This is the mechanism behind the single complaint that comes up most often about converting a piano: a passage that converts perfectly and then one held note is simply not in the file. It is not that the note was too quiet or too short. Its own harmonics pushed the comb score under the gate, and once no frame inside the note qualifies, nothing is written — not a short note, not a faint one, nothing.
Why a real piano's stretched strings are not the problem
A piano string is not a mathematically ideal one. Its partials sit slightly sharp of exact whole-number multiples, a property called inharmonicity, and the effect grows as you go up the series. It is a reasonable guess that this is what breaks a piano conversion — the analyser is, after all, scoring how well the spectrum lines up on a harmonic series, and a real string does not line up exactly.
We tested that guess directly by rebuilding the same note with the string's partials stretched by increasing amounts and re-measuring. Over a sweep from a perfectly harmonic string to one with realistic stiffness, the middle C's monophonic score moved only from 0.187 to 0.164 — it never crossed the 0.20 gate in either direction, so the note was lost at every setting. In polyphonic mode the fundamental stayed the top-ranked peak throughout.
| Stiffness coefficient | String | Monophonic score | Crosses the 0.20 gate? |
|---|---|---|---|
| 0 | ideal, partials at exact multiples | 0.187 | no — note lost |
| 0.002 | stiff, partials stretched sharp | 0.164 | no — note lost |
So the tuning and the string stiffness are not what is costing you notes. They move the score by about two hundredths; the timbre moves it by more than a tenth. If a piano conversion is dropping notes, look at how bright the recording is before you look at the instrument's tuning — which is also why a close-miked, bright piano sample tends to convert worse than the same part played softly.
What a piano chord comes back as
Single notes are only half of what a piano does. We also played chords and counted what came out, and the result is not a tidy one-for-one translation.
| What was played | Notes written | Distinct pitches | What came back |
|---|---|---|---|
| Six voices: C4 E4 G4 C5 E5 G5 | 6 | 6 | exactly the six played |
| C4 major triad: C4 E4 G4 | 6 | 6 | C4 E4 G4, plus G#7, A7, B7 |
| C3 major triad: C3 E3 G3 | 7 | 7 | C3 E3 G3, plus F#6, A6, B6, G#6 |
| Ten-note chromatic cluster, C4 up to E5 | 33 | 19 | more notes than were played |
The clean six-voice voicing is the control, and it came back exactly right: six notes in, six notes out, no additions. Add nothing but a seventh and eighth pitch packed tightly together and the picture changes completely. The ten-note cluster, spanning a tenth and a half, produced thirty-three rows covering nineteen distinct pitches — the conversion over-reads a dense block, it does not under-read it.
The cause is a limit that applies per frame rather than per chord. The analyser will hold at most six pitches in any one frame, and a frame is only 11.6 ms long — the ceiling and its arithmetic are worked through in how many notes a converter can hold at once. Six is generous for a moment, but a chord played as a human plays it is not one moment: it is a few hundred milliseconds of frames, and every frame is free to nominate its own six. Play a wide cluster and the nominations drift as partials beat against each other, so the total accumulates.
The ghost notes are the more annoying half of this. A plain C4 triad produced three extra pitches at G#7, A7 and B7 — roughly 3.3 to 4.0 kHz, all of them inside the polyphonic window, none of them played. They sit far above the chord, so they are easy to spot in a piano roll and easy to delete, but they are there in the file. The practical move for anything dense is to set a lowest and highest note in your DAW after importing, or to convert the parts separately rather than as one fat block.
Bass to MIDI: the bottom of the instrument falls off the same edge
The piano's bottom octave is not a special case. Any instrument whose lowest notes live under 55 Hz runs into the same wall, and for bass to MIDI that is the whole bottom of the instrument rather than one awkward octave. On a standard four-string bass the lowest note is the open E at 41.20 Hz, which is below the floor of both modes — so it is not read at all as a fundamental. What the polyphonic mode does read is its harmonics.
| Note | True (Hz) | Monophonic | Polyphonic |
|---|---|---|---|
| E1 — open low E | 41.20 | nothing written | a chord at E2, B2 and G#3 — the 2nd, 3rd and 5th partials |
| A1 — open A | 55.00 | A1, score 0.321 | strongest peak is A2, the octave above |
| B1 to A3 | 61.74–220 | fundamental, scores 0.235–0.281 | fundamental |
Two things follow. First, the very bottom of the instrument turns into a chord a twelfth above where you played: the open E reads as E2, B2 and G#3 together, which in a piano roll looks like a small voicing rather than one note. Second, the open A lands exactly on the 55 Hz boundary and gets read, but only just — and in polyphonic mode the loudest peak there is already the octave, not the note itself.
Above that boundary the bass behaves. We checked B1 through A3 with a mellow tone and every note came back at its own fundamental in both modes, with no tendency to jump an octave — the low register is not inherently prone to octave errors, it is prone to disappearing.
That last point is the one to hold on to, because it explains a symptom people misread. With a bright or buzzy bass tone — the kind with a lot of upper-harmonic energy — the comb score falls below the gate and the note is dropped outright. We swept three timbres across the range: mellow scored 0.235 to 0.321, medium 0.174 to 0.257, bright and buzzy 0.087 to 0.206. Only the mellow end clears the gate reliably, and the higher notes die first, so a bright bass loses its top notes while the low ones hang on. When a bass note goes missing here it returns as nothing at all, not as a wrong octave.
| Tone | Score range | Outcome across B1–A3 |
|---|---|---|
| Mellow — 1/k1.5 | 0.235–0.321 | all read at the fundamental |
| Medium — 1/k1.1 | 0.174–0.257 | the top of the range starts to drop out |
| Bright and buzzy — 1/k0.8 | 0.087–0.206 | notes vanish, highest first |
Drums now have their own page: Drums to MIDI: what a pitch detector does with no pitch to find. A kit has no fundamental to recover, so this converter reads each hit as pitched material — the kick becomes a low bass line and a cymbal becomes hundreds of high tones. The one useful thing it does with a drum-heavy recording is pick out the bass line underneath the kit, not a drum track.
Violin to MIDI and the rest of the bowed strings
A bowed string sits comfortably inside the detector's window, so the floor and ceiling problems that dominate the piano do not apply to violin to MIDI at all. What applies instead is the timbre gate from earlier, and we measured it across the instrument's working range.
| Note | True (Hz) | Monophonic score | Monophonic result | Polyphonic |
|---|---|---|---|---|
| G3 — lowest string | 196.00 | — | read at the fundamental | read |
| D4 | 293.66 | 0.153–0.196 | dropped — under the gate | read |
| A4 | 440.00 | — | read at the fundamental | read |
| E5 | 659.26 | — | read at the fundamental | read |
| A5 | 880.00 | 0.153–0.196 | dropped — under the gate | read |
| E6 | 1,318.51 | 0.153–0.196 | dropped — under the gate | read |
| A6 | 1,760.00 | 0.153–0.196 | dropped — under the gate | read |
| E7 — top of the range | 2,636.99 | — | outside the band entirely | read — poly sees E7 |
The pattern is not a simple high-notes-fail rule. G3, A4 and E5 came back correctly while D4, A5, E6 and A6 — all of them comfortably inside the band — were dropped for scoring under 0.20. That is the same timbre effect as the piano, showing up at pitches that have no range problem at all. It is also a reminder that a bowed instrument's brightness is not fixed: bow speed, bow position and how close the microphone is all change how much upper-harmonic energy reaches the file, and that is the lever that moves the score.
What this means for cello to MIDI
The cello's range sits lower than the violin's but still well inside the detector's window — its bottom string is around 65 Hz, above the 55 Hz floor, and its top is far below the ceiling. So it does not inherit the piano's bottom-octave problem, and the test that applies to it is the same timbre gate we just measured. We have not run cello tones through the analyser, so we are not going to put a score on this page that we cannot reproduce. What we would expect, and what you can check in a couple of minutes with the steps below, is that a dark, close-miked cello converts well and a bright, distant one loses notes in the middle of its range.
How to check your own recording
None of this needs to be taken on trust, and the check takes about two minutes once you have the file:
- Convert the file and export the note list, then open it in a spreadsheet.
- Sort by the start time and look for any note below the lowest key you actually played. A short cluster of notes an octave or more above a very low note is the floor at work, not a mistake you made.
- Look at the top of the list too. A handful of pitches up near 3 to 4 kHz that you did not play is the chord over-reading described above.
- If a single held note is missing from an otherwise clean passage, try converting the same take again with the sensitivity slider raised, and watch whether it returns as one note or as a row of short fragments. Fragments mean the timbre gate is the cause.
- If the whole bottom of the instrument is gone, no setting will bring it back — that is the frequency window, and it is fixed.
One honest limitation on everything above: these measurements come from synthesised tones — known pitches, controlled harmonic content, clean decays — not from a miked grand piano in a room. Real recordings add pedal resonance, sympathetic string vibration and room sound, all of which will move the numbers. The mechanisms will not move: a fixed frequency window at both ends, a harmonic-comb gate that timbre can push you under, and a per-frame ceiling that a wide chord can climb over.
Questions
Why is the bottom octave of my piano missing from the MIDI?
Because it is below the detector's 55 Hz floor. The lowest A and C on an 88-key piano sit at 27.50 Hz and 32.70 Hz, and no note under 55 Hz is ever considered as a fundamental in either mode. Monophonic mode writes nothing for them; polyphonic mode writes their overtones, which is why the bottom of the keyboard can come back as a cluster of notes higher than the keys you pressed. No setting changes the window.
Why does my chord come back with extra high notes?
Dense voicings over-read. A plain C4 major triad produced six notes on this converter — the three played, plus G#7, A7 and B7 — and a ten-note chromatic cluster produced 33 rows covering 19 distinct pitches. The limit of six applies to each 11.6 ms frame separately, so a chord spread over a few hundred milliseconds can accumulate far more than six. A clean six-voice voicing, by contrast, came back as exactly six.
Does an out-of-tune piano convert worse?
Not measurably. We stretched the partials of a note to simulate a stiff, inharmonic string and the score moved only from 0.187 to 0.164 — it stayed under the gate at both ends, and the fundamental stayed the top-ranked peak. Tuning is not the lever; brightness is. A bright, close-miked piano is a bigger risk to your note count than a slightly flat one.
Can I get just the melody line out of a piano recording?
Yes, if you record the melody on its own. Convert that single line in monophonic mode and you get one note at a time, which is usually what a melody to MIDI workflow is after. The same passage played with the left hand underneath it will not reduce to a melody automatically — this tool does not separate a performance into parts, and a chord voicing brings its own ghost notes with it. Record the line alone and the conversion is clean.
What is the most reliable way to transcribe audio to MIDI from an instrument?
Record close, play one part at a time, and convert with a mellow tone rather than a bright one. Those three choices attack the two things that actually cost notes here: a close, dark recording keeps the harmonic-comb score above the gate, and one part at a time keeps you under the per-frame ceiling. Recording straight into a file — rather than trying to capture live — is the other half of it, and what this converter does with a recording covers that boundary.
Will this work on a phone recording of my piano?
Yes. Record it on the phone, get the file onto the machine you are working on, and convert it here — an iPhone voice memo or any other phone recorder is a fine source, because the tool never asks for live microphone access at all. What matters is the recording, not the device: close to the instrument, no clipping, and a dry room all push the result in your favour.
Convert a piano take now — the analyser behind every table above is the same code, running in your browser, with the file never leaving your machine.
Related guides
- Guitar to MIDIWhat a bend does to your notes
- Audio to MIDI softwareHow many notes it can hold at once
- Mono vs polyWhat each detection mode misses
- Microphone to MIDIWhat this converter does with a recording
- Voice to MIDIWhat a single-line converter can follow
- WAV to MIDIHow to prepare the file before you convert
- Vocal to MIDIWhy a sung note comes back an octave up
- Humming to MIDIWhat wordless vocals come back as
- Live vs studio audioWhich recording transcribes cleaner, measured