# Pitch source in the tracked plugins Anvil, Lathe, Temper, Knurl, Planish, Braze and Forge follow the note the bass plays. **Pitch from** in each header says where that note comes from. - **AUDIO** detects the note from the audio. This is the default. - **MIDI** takes the notes from MIDI input. In FL Studio, set the bass channel's MIDI output port and the effect's input port to the same number. - **NOTE** uses a note you set, for example F1. The audio only starts and stops notes; nothing is detected. Most riddim drops sit on one or two roots, so this is the safest choice for growls, FM basses and anything detection struggles with. Click the note button next to NOTE to pick the note and its octave. ## When detection is unsure Real basses are often not one clear note: FM growls, formant sweeps, detuned reeses, layers and noise. Detection therefore stays put: - A new note needs a steady pitch for 40 ms. A jump down an octave needs 80 ms and a jump up an octave 200 ms, because a misread octave is the commonest error. - Inside a note, the tuning only moves when the pitch drifts more than a quarter of a semitone for good. - When the pitch keeps reading differently from the note (about 40 ms of disagreeing reads, or 400 ms without any clear read), the note turns **unsure**. The NOTE readout then shows **?**. While the note is unsure, a plugin never acts on a guess: | Plugin | While unsure | | --- | --- | | Anvil | Plays your original sub instead of the sine (Enhance: adds nothing) | | Lathe | Passes the audio unchanged | | Knurl | Fades its texture out | | Temper, Planish, Braze | Keep the tuning of the last sure note | | Forge | Each module as above | ## Key lock and Follow bends With AUDIO selected, the button next to the switch opens two options: - **Key lock** lets detection pick only notes of a key: **Minor**, **Major**, or **Root only** (any octave of the root, so detection only picks the octave). Pick the root below. A drop in F minor with Key lock on F minor can no longer read an F♯. - **Follow bends** retunes on every bend and vibrato and switches notes after 10 ms, as the plugins did before. It follows slides and 808 glides closely, but it flickers on growls. Leave it off unless the bass is clean and bends a lot. ## Measuring detection on your own stems `cargo run -p common-dsp --release --example tracker_report` scores the detection on a set of synthetic stems (growls, wobble, reese, formant bass, 808 slide, layered drop, noise riser). Pass WAV files to score real stems: ```text cargo run -p common-dsp --release --example tracker_report -- --note F1 drop.wav ``` It prints note starts per second, the share of time with a wrong sure note, and the share of time detection was unsure.