The short answer: a hum is a wordless single line, so monophonic mode follows it the way it follows any solo voice — one pitch every 11.610 ms, between 55 Hz and 1800 Hz. What is different about humming is the breath that rides along with it. That breath is broadband noise, and because this converter scores a note by the ratio of harmonic energy to total energy, the noise drains the score and can drop the hum entirely while a clean sung tone survives. Counterintuitively, the same noise also makes the surviving note look louder on the page, not quieter. And a hum does not do the one thing a sung vowel does — it never jumps an octave, it just goes missing. Every number below came from running this site's own analysis code on synthesised hums, not from a general description of pitch tracking.
Why a hum disappears before a sung note does
For a single line, the detector scores each candidate pitch by a salience ratio: the energy at that pitch's harmonics divided by the total energy in the spectrum. Breath noise adds to the denominator without adding to the harmonics, so the ratio falls. The harmonicity gate sits at 0.20 at the default sensitivity (60), and below it a frame counts as silence. We took a 220 Hz hum and added broadband noise at a controlled signal-to-noise ratio:
| Breath noise (SNR) | Salience ratio | Note count |
|---|---|---|
| none | 0.3194 | 1 |
| 60 dB | 0.3135 | 1 |
| 50 dB | 0.3008 | 1 |
| 40 dB | 0.2662 | 1 |
| 30 dB | 0.1946 | 0 |
| 25 dB | 0.1490 | 0 |
| 20 dB | 0.1051 | 1 |
| 15 dB | 0.0692 | 0 |
Two things stand out. First, the cliff: at 30 dB the ratio (0.1946) is already below the 0.20 gate, so the hum is gone even though you can still clearly hear it. Second, the surviving note at 20 dB is a trick of the segmentation, not a recovery — at 20 dB the score is 0.1051, well under the gate, yet one note still appears. The segmenter bridges short gaps of up to 7 frames (81.27 ms), so a run of frames that all individually fail the gate can be stitched into a single note if the same pitch returns within that window. The actual collapse is between 20 dB and 15 dB, where even the bridge cannot hold and the hum returns zero notes.
Noise makes a hum louder on the page, not quieter
The instinct is that a noisy take loses the note because the note is too soft. That is backwards here. Velocity is computed from the RMS level of each frame in dBFS, mapped through round(20 + (dB + 60) × (100 / 54)). Breath noise raises the frame RMS, so it raises the velocity. Same 220 Hz hum, same level, more noise added:
| Breath noise (SNR) | Velocity | Peak level |
|---|---|---|
| none | 108 | −2.33 dBFS |
| 30 dB | 109 | −2.27 dBFS |
| 25 dB | 113 | −2.14 dBFS |
| 20 dB | 118 | −2.01 dBFS |
So if a hum comes back too loud and with the note missing in the quiet spots, the cause is the breath, not the hum being sung too gently. Turning the sensitivity up does not fix a missing note that the noise pushed under the salience gate; it only lets more of the noise through as spurious notes.
Humming does not jump an octave — it just goes missing
A sung vowel with a strong formant can read as an octave too high, because the detector mistakes the second harmonic for the fundamental (the failure mode covered on the voice to MIDI page). A hum has no such formant game. Same 220 Hz pitch, same level, same length, two treatments:
- Sung vowel (first harmonic suppressed to 0.10, second boosted to 1.86): the detector reads 440.13 Hz — A4, a full octave up — and writes one note at A4, velocity 121.
- Hum (harmonics 1/k^1.6, low-pass 400 Hz): the detector reads 220.04 Hz — A3, the right pitch — at every noise level from clean down to 20 dB SNR. It never relocates the note. It only loses it, by the salience rule above.
The practical difference: a sung word can come back wrong (an octave high) while a hum comes back absent. Both are failures, but they fail differently, and the fix is different. For the octave-jump case, see the voice page; for the missing-note case, the lever is the breath, below.
Closing your mouth is not what kills the note
It is tempting to blame a thin, bright hum for dropping out, and assume a rounder, darker tone would survive better. The measurement says the opposite. We kept the same 220 Hz hum and swept a one-pole low-pass filter from wide open down to 150 Hz:
| Low-pass cutoff | Salience ratio | Note count |
|---|---|---|
| none | 0.2695 | 1 |
| 4000 Hz | 0.2718 | 1 |
| 2000 Hz | 0.2773 | 1 |
| 1200 Hz | 0.2862 | 1 |
| 700 Hz | 0.3010 | 1 |
| 400 Hz | 0.3194 | 1 |
| 250 Hz | 0.3333 | 1 |
| 150 Hz | 0.3434 | 1 |
The darker the hum, the higher the salience ratio — because concentrating energy into the low harmonics raises the numerator faster than the denominator. But the note count stays at exactly 1 across the whole sweep. Brightness is not the lever for a hum; the breath noise from the first section is. (This is the opposite of what happens on an instrument such as a piano, where a bright timbre is exactly what drops notes — a different mechanism, covered on the piano to MIDI page.)
The loudness gate is relative to your loudest frame
The gate is not an absolute level. It is placed between the quietest tenth of the file and the loudest frame in the whole file: gate = floor + (rmsMax − floor) × 0.14. Two consequences follow for a hum.
First, a uniform level change does not hurt. We took a hum that already carried 30 dB of breath noise and shifted its whole level from −45 dBFS up to −3 dBFS: the note count stayed at 1 the entire way, and velocity rose from 30 to 108 — about 1.857 steps per dB, which is exactly the 100/54 slope of the velocity formula. Quietening or loudening the take as a whole is not what loses the note.
Second, one loud event elsewhere in the file redefines "loud" for everything. We took the same −30 dBFS hum and added a single 10 ms click at 0 dBFS at the end of the file. The hum, which had returned one note on its own, came back as zero notes — because the click became rmsMax, lifted the gate, and the hum fell underneath it. The click itself also failed to register as a note (too short to clear the 58.05 ms shortest-note floor), so the whole file produced nothing. A loud count-in, a door slam, or a clap at the start of a recording can erase a quiet hum that follows it.
How to check a hum on your own file
We have not published accuracy figures for humming specifically, because breath noise makes every take different and we have not measured a set we would stand behind. What you can do is measure your own take in about a minute with the CSV export. Its header is index,midi_note,note_name,start_sec,end_sec,duration_sec,velocity, with times to four decimal places.
- Look for the breath gap. Sort by
duration_sec. If a hum you can hear is missing but quiet tones nearby survived, the breath pushed it under the salience gate — not the pitch detector. Move the sensitivity slider up a little and re-export; a few more frames will clear the gate. - Check the velocity column for inflation. A hum surrounded by breath can show velocity in the 110s while sounding soft. That is the noise raising the RMS, not a strong note. Compare against a clean take at the same sung level.
- Watch the loudest frame. Export once with a loud click at the end and once without. If the hum disappears in the first case, the click became the reference frame and lifted the gate. Trim the loud event before converting.
- Confirm no octave jump. A hum should read its true pitch. If a note is an octave high, the input was a sung vowel with a strong formant, not a hum — see the voice to MIDI page for that failure.
All of this runs locally and re-runs instantly when you move a control, because the analysis is done once per file and only the note grouping is recomputed.
Where singing and acapella fit
This page is about wordless vocals — humming, clear singing without words, and unaccompanied (acapella) lines — measured with this converter's own code. The three behave differently from each other, and from a sung word:
- Humming is the case above: a single line that loses notes to breath noise and never relocates them.
- Singing a vowel adds a strong formant, which is what makes the detector read the second harmonic as the fundamental and jump an octave. That is a different, sung-word failure, covered on the voice to MIDI page — that page is the home for "what a single vocal line can and cannot follow," and this page links back to it on purpose rather than competing for the same queries.
- Acapella (several voices, no instruments) is a polyphonic problem: the detector looks for up to 6 spectral peaks per frame up to 4000 Hz, so two wordless lines that overlap in pitch merge or drop rather than both surviving. Treat it the way any dense mix is treated — separate the lines first if you need them individually.
The through-line: a wordless vocal is followed faithfully for pitch, but its weaknesses are breath and the relative gate, not the octave jumps that trouble sung words.
There is a separate question the breath story does not cover — what a hummed melody can and cannot become once it is written out, from vibrato and slides down to the 55 Hz floor — and that has its own page at Humming to MIDI: what a hummed melody can and cannot become.
Hum a line into the converter and watch the piano roll as you move the controls — the Audio to MIDI Converter runs entirely in your browser, so every setting above is yours to test in a few seconds.
Related guides
- Voice to MIDIWhat a single-line converter can follow
- Vocal to MIDIWhy a sung note comes back an octave up
- Microphone to MIDIWhat this converter does with a recording
- Piano to MIDIWhere the keyboard falls outside the detector
- Guitar to MIDIWhat a bend does to your notes
- Live vs studio audioWhich recording transcribes cleaner, measured
- Drums to MIDIWhat a pitch detector does with no pitch to find
- MIDI converterWhat is actually inside a MIDI file
- Clean up a converted MIDIThe 5 passes that turn a raw export into a usable part