mp3 to midi
Runs locally in your browser

WHISTLED MELODY WORKFLOW

Whistle to MIDI

Record or upload one clear whistled melody, convert it below, then inspect the note preview before downloading the .mid file. If high notes disappear or appear an octave low, test whether the High pitch-range control reaches them; its maximum is 2000 Hz. A clean sustained tone and distinct note changes give the detector one intended pitch at a time.

PROCESS ON THIS DEVICE

Record or upload a whistle

Use a short solo phrase for the first pass. Compare its preview with the source before adjusting a control.

INPUT  RECORDING / MP3 / WAV / M4A / FLAC / OGG → OUTPUT  .MID

Drop one audio file here

or click to choose audio from your device

Choose audioMP3, WAV, M4A, FLAC, or OGG · one file · up to 50 MB / 5 minutes
Or whistle one clear melody into your microphone.

Your audio stays on your device. All processing happens in this browser. No file is uploaded to a server.

No sign-upOne file at a timeNo watermark
Diagram showing the tool's default and adjustable high pitch bounds
The High control starts at 1200 Hz and can be raised to 2000 Hz. This is a detection window, not a promise that every tone inside it will be recognized.

LOCAL TEST

A high tone can appear an octave low

With a locally generated, one-second 1500 Hz sine-wave WAV, this converter showed MIDI 78 at the default 65–1200 Hz window. Keeping the same file and raising only High to 1800 Hz changed the preview summary to MIDI 90. These are observed results for that synthetic signal, not an accuracy claim for real whistling.

REPEAT IT

Compare the same spot

Start at the defaults and note the pitch shown in the preview. Raise High without replacing the recording; then compare the same note. Keep the change only if the intended melody improves. Source noise and unstable pitch can still cause a different result.

What you observeCheck the sourceOne testKeep the change when
Highest whistle note is missingListen to the same note in the sourceRaise only the High pitch edgeThe intended note appears without new outliers
A high note appears an octave lowerCheck whether its source pitch may be above the current High boundRaise only High, then compare the same noteThe intended pitch appears without new outliers
Air at the start becomes a fragmentListen for noise before the steady toneRe-record with a cleaner attack; then compareThe extra block disappears while the note onset stays
Quiet notes disappearConfirm the source note is audibleLower Silence threshold one stepThe note returns before room noise creates extras
Short specks remain between notesCompare their duration with real short notesRaise Minimum note one stepSpecks vanish and intended short notes remain
One-variable test path for missing high notes, airy starts, and octave outliers
Use the same whistle recording for each retry and change only one input or control at a time.

RANGE

A window, not a guarantee

The pitch detector searches between the Low and High values. When a source pitch is above High, it may be missed or represented by a lower periodic candidate; raising High can help expose the intended pitch. A tone inside the window can still fail if its signal is weak or unstable.

SOURCE

Air and tone are different inputs

Whistling can begin with broadband air before a stable tone. Make a cleaner onset in the source first; do not treat threshold as a repair for every noisy attack.

COMPARE

Keep one recording fixed

Mark a missing note, fragment, or octave outlier in the preview. Adjust one control and compare that exact spot before keeping the new setting.

OUTPUT

MIDI stores note events

The .mid download contains detected pitches and timing, not the original whistle sound. Choose an instrument when you open it in a DAW.

QUICK ANSWERS

Whistle-to-MIDI questions

Can I turn whistling into MIDI here?

Yes. Record or upload a clear solo whistle, convert it in this browser, inspect the note preview, and download the .mid file.

Why does a high whistle note disappear?

First check that the note is audible in the source. If it exceeds the current High pitch bound, raise that bound and compare the same phrase. The control ends at 2000 Hz.

Will raising the High control fix every missing note?

No. A weak, airy, or unstable tone can still produce no stable estimate. Check the recording and change one variable at a time.

Why does my whistle appear an octave low?

In a local synthetic 1500 Hz test, the default High bound produced MIDI 78 while raising it to 1800 Hz produced MIDI 90. Test the same note with a wider High window and keep the change only if the rest of your phrase improves.

Does this page upload my recording?

No. Audio decoding and note detection happen in this browser. The audio file is not uploaded to a server.

Download the whistle test sheet (.csv)