NOMOTO MEDIAMusic × researchAll music
Field notes · 8 September 2026

Preserve the
performance first.

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 current test

Let the recording answer.

Marimba verdict pending
Rhythm playback verified

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.

Rejected attempt

The first MIDI pass

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.

Listen to the full restored-balance recording · 4:09.6

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 session, in order

What we did. What it taught us.

The marimba is the musical spine. The original rhythm supports it. Every new layer has to earn its place against that reference.

Original kept

Preserve the recording

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.

How to repeat this step

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.

Audio stems

Separate the full song into aligned audio

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.

How to repeat this step

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.

Verified playback

Recover the unchanged combined mix

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.

How to repeat this step

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.

Sampler breakthrough

Keep the drum and bass performance

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.

How to repeat this step

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.

Usable playing session

Extend the groove for playing

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.

How to repeat this step

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.

First attempt rejected

Try editable notes—and retain the failure

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.

How to repeat this step

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.

Listening pending

Rebuild one short marimba phrase

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.

How to repeat this step

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.

Repeatable record

Save the mix, the evidence and the next step

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.

How to repeat this step

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.

Where we go next

A more direct connection to Logic.

Local prototype tested

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.

The timeline is the bridge.

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.

The saved marimba note timeline21 estimated notes across 12.8 seconds, on MIDI pitches 67, 69, 72, 74 and 76. Horizontal position is time, bar length is note duration, brightness represents estimated velocity. Listening verdict pending.76747269670s4s8s12.8s

Measured seconds across the phrase · MIDI pitch at left · 21 estimated notes · no added quantization

  1. 01Inspect the audio

    Check a selected file and preserve its identity.

  2. 02Review the phrase

    Keep a reference, a revision and a listening verdict.

  3. 03Export the MIDI

    Reuse the saved events for another instrument.

  4. 04Save the result

    Retain settings, files and an A/B render.

The first practical bridge

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.

What stays bounded

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.

Follow the useful links

Resources for the next experiment.

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.

What Midnight Circuit contributes

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.

Keep the working knowledge

The next song starts here.

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