{
  "date": "2026-11-13",
  "keyword": "wav to midi",
  "recordedBeforeOutputsAt": "2026-11-12T21:10:45.732Z",
  "route": "/wav-to-midi/",
  "firstQuestion": "How do I convert WAV to editable MIDI and render MIDI back to WAV without mistaking the render for the original recording?",
  "demandBasis": [
    {
      "source": "ActualGoogle ordinary6 CraftMusic body06",
      "question": "Is MIDI the same as the original audio?",
      "reason": "Directly asks what remains after transcription and says an instrument is needed to hear the result."
    },
    {
      "source": "ActualGoogle ordinary1 Jukeblocks body01",
      "question": "Can I edit the MIDI file after converting?",
      "reason": "Explains standard note data can change instruments, but not an independently repeatable forward/render/re-detect panel."
    },
    {
      "source": "ReverseGoogle ordinary8 Audacity forum body16,November2008",
      "question": "User needs to convert a MIDI file to WAV for another application",
      "reason": "Qualitative first-person demand only; old software-specific answers are not treated as current guidance."
    }
  ],
  "source": "GuitarSet1.1.0 archived real human mono-microphone recording00_BN1-129-Eb_solo_mic.wav, CC BY4.0, unchanged full file and JAMS from public site; reuse disclosed",
  "windows": [
    {
      "id": "e",
      "start": 2,
      "end": 7
    },
    {
      "id": "f",
      "start": 7,
      "end": 12
    },
    {
      "id": "g",
      "start": 12,
      "end": 17
    }
  ],
  "selection": "Three consecutive five-second windows2–7/7–12/12–17s fixed before detector outputs after source-duration check. Existing performance and overlapping earlier source interval reused openly, not three independent new recordings.",
  "detector": "Unchanged production downsample/detectNotes/buildMidi, Balanced2, no tuning",
  "groups": [
    "Real WAV to stored MIDI compared against inherited note references using exact pitch/onset<=150ms",
    "Identical stored MIDI rendered two ways by an openly defined offline oscillator, same44100Hz PCM16 mono envelope/gain/tail; waveform parameter only changes",
    "Re-detect both saved renders with same fixed detector and compare event fields to the saved MIDI that generated them, independently from source-reference comparison"
  ],
  "renderer": {
    "kind": "Small deterministic educational offline renderer, not a DAW/soundfont or a new site feature",
    "voices": [
      "sine",
      "harmonic"
    ],
    "frequency": "440*2**((pitch-69)/12)",
    "sine": "sin(2*pi*f*t)",
    "harmonic": "(sin(x)+0.5*sin(2*x)+0.25*sin(3*x))/1.75",
    "sampleRate": 44100,
    "format": "mono PCM16",
    "gain": 0.35,
    "velocity": "linear velocity/127, defined here, not a MIDI-mandated acoustic response",
    "envelope": "5ms linear attack,20ms linear release inside stored note interval",
    "phase": "Each note restarts phase0",
    "outputLength": "5 seconds plus0.25-second declared tail, same for each voice",
    "scope": "Consumes stored note pitch/start/duration/velocity only, ignores program changes/CC/pedal/pitchbend; limited to these controlled files, not a general MIDI player"
  },
  "matching": "Reference time order, nearest unused output with equal integer pitch and onset difference<=0.150s; carried-in reference notes excluded as attacks. No fitted shift, transposition or duration acceptance. Record note count, matched/unmatched/missed, max overlap, duration errors and WAV fields. Re-detection comparison separately uses input stored MIDI as reference.",
  "independentChecks": "Python SMF parser independent of production writer; saved PCM inspected; independent renderer formula implementation and exact artifact SHA rerun; actual browser conversions downloaded and compared with offline outputs; plots are generated SVGs, not DAW screenshots",
  "nonClaims": "No converter competitor performance benchmark, no listening test, no original instrument recovery, no human rendering mistaken for recording, no new manual reference annotation, no general polyphonic claim.",
  "amendment": {
    "at": "2026-11-12T21:11:22.040Z",
    "reason": "Original full recording is22.32439909297052s; attempted20–35s selection failed before first saved crop or any detector output. No outcome-based reselection.",
    "previous": "20–25/25–30/30–35seconds",
    "sourceDurationSeconds": 22.32439909297052
  }
}