VstChop by ProduceHits Open the Studio
Free browser tool

What note is this sample? All of them, at once.

Every sampler asks for the root note; almost no sample tells you. Drop the folder — YIN pitch detection reads each one and hands you the list, confidence included.

Free · no account · runs in your browser — nothing is uploaded; your audio never leaves your device.

Drop up to 24 one-shots, or tap to browse
Tonal samples work best — detected locally in seconds
Monophonic material only — chords will confuse it

Knowing the note is step one. Playing it everywhere is the point.

The SFZ mapper next door turns these detections into a playable instrument in one click — and VstChop in the studio does it from whole songs. Sign up: 3 full packs free.

What the confidence number is

The finder takes up to about sixteen frames from between 15% and 80% of the file. A frame only votes if its clarity clears 0.30 and it is not near silence. Each surviving frame votes for one exact MIDI note, weighted by that clarity. The note with the greatest summed weight wins the row, which explains an octave above or below the one you expected. The number beside the chip is the winning weight divided by the total weight. That is the share of weighted votes, not a probability: a 0.55 means 55% of the weighted votes went to that note. Octave jitter splits the votes, so a correct pitch class can still report a low figure. The chip carries the same thresholds as a color: green above 0.60, amber above 0.30, red below.

ConfidenceChipWhat to do
Above 0.60GreenSet the root note and move on.
Above 0.30, up to 0.60AmberPlay the row before you trust the octave.
0.30 and belowRedTreat the note as a guess and tune by ear.

When a high score is still wrong

A pure sine is the easy case: one period, one answer, a high score every time. A rich harmonic sample is not, because its overtones give the detector several plausible periods to lock onto. A sub-heavy one-shot can settle an octave below the note you hear and still report that octave with full confidence. The score measures how much your frames agree with each other, not whether they are right. A file shorter than 4096 samples returns no pitch at all, which is about 93 ms at 44.1 kHz. Press play on a row and check it against a reference before you write the note into a sampler.

Rows with no pitch cast no weighted vote in the score; the CSV still records 0 for a row with no detected note.

From detection to a playable instrument

Copy results gives you one line per sample: the file name, an arrow, and its note. Download CSV gives the same rows as four columns, headed sample, root_note, hz and confidence. Download SFZ writes the sampler file itself: one <region> per detected sample, its sample= line naming your file exactly as you dropped it, pitch_keycenter= set to the detected MIDI note, and lokey=0 hikey=127 so every key plays that sample at its detected root. A row with no detected pitch cannot be given a root, so it is left out of the regions and listed as a // skipped: comment instead.

Be clear about what that file is: it is text, not audio. It holds relative paths, so it is not self-contained — save rootnote.sfz into the same folder as the samples it names, then open it in sforzando, ARIA, DecentSampler or any other SFZ-compatible sampler. Nothing is re-encoded, nothing is copied and nothing is uploaded; if you rename a sample afterwards, edit the path in the .sfz or the region will go silent. The WAV → SFZ mapper at vstchop.com/tools/wav-to-sfz is still the page to use when you want velocity layers, a keyboard preview and multi-zone mapping; the single file written here is the minimal one-region-per-sample hand-off.

  1. Detect hereDrop the one-shots and read the notes and confidences off the table.
  2. Take the listCopy the name-to-note pairs, or download the CSV for all four columns.
  3. Take the SFZPress Download SFZ for a file your sampler opens, and keep it beside the samples.

The .sfz is a text file of relative paths. It is not self-contained: the audio must sit in the same folder, or every region will fail to load.

Reading the table

Sample is the file name, trimmed to 30 characters so one long name cannot stretch the row. Root note is the full note name with its octave, such as A2 or F#4, which is exactly what a sampler asks for. Hz is that same pitch as a frequency, rounded to one decimal place. Confidence is the score to two decimals plus its colored chip. The play button loads the row into the transport underneath, so you can hear the sample and check the note by ear. Copy takes the name-to-note pair, CSV takes all four columns, and SFZ takes the detected notes as sampler regions. Note that the row shows a shortened name while the .sfz carries the full original file name with its extension — that is the string your sampler resolves, so it has to match the file on disk exactly.

How to find the root note of a sample

  1. Add samplesDrop up to 24 one-shots on the finder.
  2. Read the notesEach sample gets a detected root note with a confidence marker.
  3. Save the listPress Copy results or Download CSV.

Frequently asked questions

How does root note detection work?

Each sample's sustained portion runs through YIN pitch detection — the same family of algorithm hardware tuners use — and the detected frequency maps to the nearest MIDI note. A confidence marker shows how strongly the sample voted for its note.

Why do some samples come back uncertain?

Pitch detection needs a pitch: drums, noise sweeps, and chords don't have a single one. Low confidence on tonal material usually means heavy processing or a very short sample — trust your ears for those, or loop a longer sustain.

What do I do with the results?

Rename your files to include the note (the Auto-Renamer next door does it in batch), set root keys in your sampler, or feed the same samples to the SFZ mapper and skip the manual work entirely.

Does it detect the octave too?

Yes — results are full note names like A2 or F#4, not just pitch classes. That's what samplers actually need.