The rhythm that worked
Separated drums and bass, then the same recorded sounds played through Logic Sampler. The second pass starts at 0:13.8.
MIDI triggers source slices. Their keys do not represent recovered musical pitches.
An old MP3. A live marimba. A groove worth keeping.
One day of finding out what we can recover—and what still needs work.
The estimated melody isolation plays first. At 0:13.8, the 21-note MIDI recreation begins, using five tones sampled from the recording.
This is a 12.8-second phrase, not a full-song MIDI conversion. Listen for attacks, held notes, dynamics and whether the phrase feels like the performance.
Each half: 12.8 seconds · one-second gap · levels matched for this comparison
Playback could not start. Use the audio controls or open the MP3.
Separated drums and bass, then the same recorded sounds played through Logic Sampler. The second pass starts at 0:13.8.
MIDI triggers source slices. Their keys do not represent recovered musical pitches.
The combined keyboard reference, then 58 estimated notes with a piano sound at 0:13.8. Niklas rejected the musical result.
A useful failure: correct file structure and some aligned attacks did not mean a convincing copy.
The checked combined baseline after resetting experimental levels and bypassing added reverb. The marimba here remains source audio; this is not the new 21-note recreation.
Comparisons have different audition gains. Compare the two halves within each file; avoid judging one experiment against another by volume alone.
The marimba is the musical spine. The original rhythm supports it. Every new layer has to earn its place against that reference.
Start with the music as it was played. The source was a roughly four-minute MP3 called Jazz, with an old sequenced rhythm and a live marimba/keyboard performance. Niklas tentatively remembers an Ensoniq ASR-10, around thirty years ago.
Make a working copy. Record its file hash, sample rate, duration and decoded frame count. Import an untouched reference into Logic. Keep timing, gain and arrangement unchanged while establishing the baseline.
Today: the complete recording is 249.573878 seconds at 44.1 kHz. The original external-drive MP3 was left untouched.
Logic Stem Splitter produced drums, bass, piano, guitar, vocals and other. Each category spans the entire song and starts at the same position. The piano category includes the played marimba/keyboard material.
Keep all stems aligned with the reference. Solo each one, then listen to the combined mix. A category label is only an estimate: bleed, missing detail and extraction artifacts can remain.
Checkpoint: the whole song exists as separate audio categories. That does not mean every original instrument has been cleanly recovered.
The raw separated tracks did not sum perfectly to the original. A clearly named restoration correction contains the original minus the stem sum. Adding that residual back restores the combined waveform.
Compare equal-length, aligned renders at the same sample rate. Leave normalization off. Keep the original reference muted during stem playback. The correction is residual audio, not another recovered instrument; recheck it whenever levels or effects change.
Today: a full native 24-bit bounce matched the decoded original within rendering precision. This verifies combined playback, not clean isolation or an improved mix.
The useful turn came from preserving the recorded rhythm. One 12.8-second cycle became 48 drum slices and 12 bass slices in Logic Sampler, triggered by MIDI at the original positions. A repeated loop lets us check one cycle and reuse it; a changing live performance needs its variations checked too.
Use the 14.2–27.0-second source excerpt for this song: eight bars interpreted at 150 BPM. Preserve attacks, overlapping sound and the 31.75 ms bass carry-in. In this project, automatic sampler zone fades altered playback; a backed-up, format-checked preset fix removed those fades and a native bounce was compared again.
Checkpoint: the verified render reproduced the separated rhythm within 24-bit rounding. These MIDI keys select recorded slices; they are not recovered bass pitches or separately modeled kit pieces.
The checked eight-bar cycle was repeated sixteen times: 128 bars, or 3 minutes 24.8 seconds, to provide room for playing instruments over it. Original keyboard audio was retained.
Loop or repeat only the checked region, with its required carry-in and tails. Compare every join. In Logic, loop a region from its upper-right edge; resize from the lower-right edge. Native project timing remains the reference.
Decision: the generated brush Drummer did not follow the original feel closely enough. Keep the recorded drums and bass. The repeated session is a practice arrangement, not the complete original song.
A Basic Pitch transcription of the combined keyboard excerpt produced 58 MIDI notes. Played with a piano sound, it sounded far from the source. Matching a few strong attacks was not enough.
Keep the failed comparison and the listening verdict. Separate the melody from its accompaniment before estimating notes. Check missing notes, extra retriggers, octave errors, durations and dynamics. Some of the lower notes were real accompaniment, not false detections.
Decision: pause the invented piano chords and sax arrangement too. The original marimba remains the musical spine; additions need a clear performance reference.
The revised test contains 21 pitched melody notes over 12.8 seconds. Five tones sampled from the original recording provide the sound. The melody estimate preserves measured timing rather than adding quantization or random swing.
Check each attack and pitch against the isolated reference. MIDI notes 67, 69, 72, 74 and 76 map to five sampled roots. Note lengths control when notes end; the sampler release controls the following fade. Those are separate from release velocity. Save the samples inside the Logic project.
Checkpoint: the notes can drive another instrument. The source-tone instrument is an approximation, not the recovered Ensoniq patch. Only this phrase has been converted; its musical acceptance is still pending.
After experimental level and reverb changes, a separate full-song project restored the checked baseline. A complete MP3 was exported. The accepted rhythm, rejected attempts and latest marimba test remain separate versions.
Save the Logic project with its audio and sampler assets, aligned WAVs, MIDI estimates, settings and comparison files. Check duration and clipping. Compare one change at a time at sensible matched levels, then write down the listener’s verdict.
Next: judge the 21-note phrase, refine what is audible, and only then extend it. Test additional songs before claiming a reliable restoration product.
A first local API now handles audio inspection, MIDI export from a saved note timeline, and matched listening comparisons. Logic supplies the instruments and effects; the musician makes the musical decisions.
Save each note’s pitch, start, end and strength. Once that estimate is corrected, new MIDI exports can reuse it without analyzing the recording again. The slow, uncertain step is recovering the events from overlapping audio.
Measured seconds across the phrase · MIDI pitch at left · 21 estimated notes · no added quantization
Check a selected file and preserve its identity.
Keep a reference, a revision and a listening verdict.
Reuse the saved events for another instrument.
Retain settings, files and an A/B render.
Apple documents Logic’s virtual MIDI input and output. A local app can use Core MIDI to send notes into Logic. Our existing analysis scripts can sit behind a local API that returns aligned WAVs, note estimates and comparison files.
This would make a tested method easier to repeat. It would not make an inaccurate transcription accurate by itself.
Scripter processes MIDI inside Logic. An Audio Unit is a possible future plug-in interface. This review did not establish a documented public API for headless project editing or calling Logic Stem Splitter.
The local prototype passed a real HTTP test with the 21-note timeline and a 12.8-second audio comparison. It preserves inputs and saves a new record for each processing job. Audio separation, new note detection, direct MIDI sending and a Logic plug-in are not implemented in this API yet.
The Kingy guide and its downloadable example led into a wider toolchain. These are selected resources whose contents were checked, not a claim that every outgoing link was read or every tool was tested.
Native separation into instrument categories; the starting point for our aligned full-song audio.
Another native route to audition. Apple documents interpretation errors, especially with chords; it is not a guarantee of recovered original MIDI.
A callable transcription stage we already tried. Single-instrument input is the useful starting point, followed by note review.
The linked example supplies editable MIDI and reproducible composition code. Its structure, motif variations and listening comparisons are useful to study; it does not demonstrate faithful recovery of an old recording.
The documented route for sending notes between a companion app and Logic instruments.
JavaScript for MIDI processing, timing and parameters inside Logic. Its documented scope is MIDI, not unrestricted project control.
A supported route toward an eventual in-Logic effect, instrument or MIDI-processing interface.
A macOS Audio Unit, VST3 and standalone transcription interface with source/transcription audition controls and MIDI export. It uses Basic Pitch and is not real-time transcription. A useful workflow to try; not yet tested here.
Extract timing and dynamics from a performance, then control their influence separately. Useful to study before transferring a groove; randomization is not a substitute for preserving the original timing.
A local separation alternative for a future comparison. Its vocals, drums, bass and other categories do not by themselves isolate marimba from piano or recover original MIDI.
An actual documented object model for querying and editing supported Ableton session objects. This is an Ableton integration reference, not a Logic interface.
An inspectable Max patch, JavaScript runtime and Python OSC client with acknowledgements and state readback. A concrete design reference for verifying edits. It is Ableton-specific and was not installed or tested here.
The creator’s account links the public Ableton bridge and describes a broader personal toolset. A useful trail into implementation; the public bridge is not the complete private toolset.
Documents MIDI conversion, effects and stem workflows as another possible comparison. Its generated performances and lack of direct DAW sync should not be confused with a faithful reconstruction inside Logic.
The supplied README and generator describe an original 64-bar, 130 BPM composition with separate drums, bass, chords, lead and pad MIDI. Its generator uses a recurring motif, section changes, deliberate rests, connected chord voicings and programmed swing.
That is useful arrangement material to study after preserving the source. We inspected the downloaded code; we did not run or import this demo into the Jazz project. Its programmed groove is not a measurement of Niklas’s original performance.
Save the method, settings, source comparisons and listening decisions together. Bring those records into the next task so the process continues from evidence.
“The spine first always.”Niklas, during the experiment
This is how the collaboration accumulates knowledge. It is not permanent retraining of the underlying model, and repeating a mistake does not improve it. The useful loop is: try, compare, listen, revise, record.
Download the step-by-step workflow