X0X EXTENDED EDITION / EXPERIMENTAL 0.1.5-beta1 / 19 OCTOBER 2026

FM-1 experimental release FAQ

This is the FAQ for 0.1.5-beta1, device identity FM-1_9000105. It accompanies the tested firmware and matching source. This experimental build has bounded device evidence; it is not a stable production release.

What is different in this build?

The 909 processes each active sound strip in blocks instead of making a separate processor call for every sample. The existing filters and limiter DSP, pan, sends and voice order are preserved. There is no new persistent RAM or pool allocation. This is the isolated batching optimization, not the rejected earlier mono specialization.

What has actually been tested?

Local checks include bit-exact audio, state and meters across 2.65 million frames, sanitizers and buffer canaries, 125 engine checks across 36 scenarios, target resource gates and updater simulations. One FM-1 was installed and its identity independently verified; the exported current project and all 25 strip configurations were preserved. Short and requested five-minute clap-strip-ON runs added no dropouts, and brief quiet listening sounded normal. The load guard remained active. These checks do not qualify every sound combination, MIDI route, recovery case or long session.

Can I enable all effects without limits?

No guaranteed effect count is established. Heavy combinations of active strips, voices and effects may cause audio glitches. Reduce processing and check PERF for new dropouts. The count is cumulative: compare before and after a test. Its PEAK reading is a recent display interval, not the maximum over an entire session. A visible automatic warning and priority-based load shedding remain proposals.

Can autosave interrupt external MIDI?

A glitch near an autosave and a new dropout were reported during editing with external MIDI. The event was not independently timestamped, but the source documents audio interruption during flash erase. The save guard checks the internal sequencer; incoming MIDI can still sound while that sequencer is stopped.

For external MIDI performance, stop the DAW, open GLO > PROJECT > AUTOSAVE, and set it OFF with ALGORITHM. Let the final preference save finish while stopped. Save manually between takes. OFF means subsequent unsaved edits may be lost on power-off. Disabling autosave is an existing feature; no new autosave switch was added in this optimization.

Does a sound strip add MIDI latency?

The sound-strip processor has no lookahead delay buffer. It can reshape the attack and tail, which can change the perceived groove. The separate optional master limiter has a 64-sample lookahead; it is not the individual strip limiter.

Separate isolated-kick recordings showed no clear added fixed attack delay with its strip ON. About 5.6–5.9 ms of attack-position standard deviation was measured across the complete MIDI/device/analog capture chain. A Reason buffer change altered recording placement, without materially reducing that variation. Digital loopback reproduced 167 attacks with a single fixed 27-sample shift and no added variation detected. This does not establish the source of the earlier variation or prove an FM-1-only timing fault. Further investigation is deferred from this experimental release; automatic latency calibration is not implemented.

How do I sequence the device from Reason?

Use the part's configured note channel under GLO > MIDI. Defaults are 909:10, 808:11, 303A:2, 303B:3 and BREAK:4. Notes and clock/transport are separate: sending notes does not require simultaneously running an internal pattern. Avoid concurrent internal notes if the intended test is external MIDI only.

Can I change each drum's incoming MIDI note?

Per-drum incoming note remapping is a recorded proposal. Current fixed mappings must be accommodated in the DAW. Use numeric MIDI note numbers because octave names vary between applications.

Can I load a Drum Monkey MIDI clip into a device pattern?

A direct Standard MIDI File importer is not included. A proposed converter needs mapping, destination preview and backup, and must report timing or velocity that the device pattern cannot represent. Four bars of 4/4 at sixteenth-note resolution use 64 steps; importing must also respect each drum's independent length/rate. Off-grid groove must not be silently discarded.

Where is the CC reference?

The matching source archive contains docs/ACULTUR8_CC_INVENTORY.json and the engine/control protocol docs. The optimization changes only inventory source hashes, not its 700 entries. Those entries include different device/browser contexts and are not a claim that 700 hardware CC numbers exist or that every mapping has physical acceptance. A release-matched human-readable guide remains a documentation target. The illustrated guide below retains the practical tested Reason examples.

Are delay and reverb before or after compression?

Sound → individual strip → dry mix and reverb/delay sends → effects mixed with dry → master compressor/pump → remaining master/output stages. The individual limiter shapes the effects input; master compression processes dry and effect returns together. This order is fixed. Selectable routing is a proposal, not a feature in this build.

Does muting disable an engine and remove its CPU cost?

No such guarantee is made. Part mute suppresses internal sequencer triggers; tails, external MIDI and shared effects can still require processing. Explicit engine enable/disable and CPU-priority policies remain proposals.

Can I record separate drum stems?

Individual drum mutes exist. Automated sequential MIDI-controlled stem passes and complete mute/solo restoration are proposals. Shared compression and effect tails may make isolated stems differ from a full mix. Digital loopback captures software playback; physical FM-1 audio must first enter that playback mix or a separately configured recording mix.

What should I save before installing or reverting?

Preserve current projects, private samples and separate reusable strip defaults. The USB current-project export excludes the reusable default bank, private sample audio and calibration. Current-project strip persistence and reusable default recall are distinct checks. Use a brief SAVE tap for the project; do not confuse Save Default with Apply Default or rewrite the saved default during recall testing.

EXPAND is a one-way timing-format conversion. Older firmware may reject the expanded format. The provided 0.1.3 comparison baseline is not a promised overload fix; read the installation/rollback instructions before reverting. Do not erase or factory-reset to work around an unexpected format error.

Why does the drum grid look as though every row has the same length?

The existing shading and playhead display reuse the selected drum's length and position. This is a known display issue; rows can still have independent settings. Per-row length shading and playheads remain to be improved.

Is this FAQ also on the device's About page?

No. This release includes the FAQ as an offline HTML document and matching source documentation. Extending the on-device About page remains a separate proposal; this packaging pass adds no new firmware UI. Browser-only REX/slice previews described below must not be mistaken for installed hardware features.

See known issues, installation and rollback, and release overview.

Complete illustrated FAQ and development history

Historical and browser-preview material: the complete maintained feature guide is retained below, including illustrations, workflow explanations and earlier checkpoints. Dated status, version, publication, pause and “next step” statements describe those earlier sessions. The 0.1.5-beta1 FAQ above is authoritative for this packet. Links to an existing website do not mean that website has been updated or that Pages publication was approved.

BROWSER ALPHA / FAQ

Your loop's sound.
Your loop's timing.

The WAV holds the slices. The markers tell the emulator when each one should play.

ILLUSTRATED FEATURE GUIDE / LOCAL DEVELOPMENT

One engine. Separate sounds, chords and loops.

These diagrams explain the shared behavior once, then show the cases that differ. The bass-only figures in this introductory paragraph are historical; see Latest local development checkpoint for the current combined build. Sound-strip browser functionality and basic arrangement have recorded acceptance. The bass-follow candidate passes source review, the fresh local host/WASM regression suite and actual local browser GUI checks. Its target image is 581,524 / 581,564 bytes (40 bytes spare), with all 15 unchanged original static gates passing. Complete external MIDI scene, 30-minute soak, receiver delivery, human listening and physical qualification remain pending. Earlier release checkpoints below are retained as history.

1 · Which sounds have their own strip?

909 · 11 sounds

  • BD · Kick
  • SD · Snare
  • LT · Low tom
  • MT · Mid tom
  • HT · High tom
  • RS · Rimshot
  • CP · Clap
  • CH · Closed hi-hat
  • OH · Open hi-hat
  • CR · Crash
  • RD · Ride

808 · 11 sounds

  • BD · Kick
  • SD · Snare
  • LT · Low tom
  • MT · Mid tom
  • HT · High tom
  • RS / Clave
  • CP / Maracas
  • CB · Cowbell
  • CY · Cymbal
  • OH · Open hi-hat
  • CH · Closed hi-hat

303 · 2 bass parts

  • 303 A
  • 303 B

BREAK · 1 instrument part

  • Mono instrument BREAK
Twenty-five independent instrument sound stripsEleven 909 sounds and eleven 808 sounds, plus two 303 bass parts and one instrument mono break part, make 25 independently configured strips.90911 sounds80811 sounds303 A + B2 bass partsInstrument BREAK1 mono part25 independent settingsOne shared path design
The controls select a sound; they do not copy its settings to every voice. Marked-WAV preview is a separate playback lane.
Every instrument sound uses the same processing orderHits and tails of one sound are summed before high-pass, low-pass, boost and the sample-peak ceiling with its meter. Pan and sends follow. Sounds and effects join the mix and master. Settled bypass follows the original sound path.Sum this soundAll hits + ringing tailsHigh-pass filterRemove low frequenciesLow-pass filterReduce high frequenciesBoostRaise input levelCeiling + meterLimit sample peaksPan + effect sendsPlace and send the soundMix / FX / masterProtect the combined mixSettled bypass
Enable only the stages you want. Settled bypass preserves the original sound. A per-sound ceiling acts before the shared mix, effects and master protection.

2 · What does Boost do to the ceiling?

Boost raises the signal; ceiling bounds its sample peaksA schematic original waveform at minus 24 dBFS is raised by 12 dB to minus 12 dBFS at the limiter input. An enabled minus 18 dBFS ceiling keeps output sample peaks no higher than that setting. This is an illustrative steady-state example, not an exact transient, release or true-peak model.Illustrative steady-state exampleCeiling −18 dBFSOriginal peak −24 dBFS+12 dB boost → −12 dBFS inputCeiling caps output at −18 dBFS
Illustrative steady-state example, not an exact transient or true-peak model. Turquoise: original signal. Coral: boosted input. Gold: bounded output. Boost and ceiling are different controls. The meter shows gain reduction; release can change the shape between peaks.
Individual ceilings do not cap the whole mixTwo aligned sound peaks at amplitude 0.7 can sum to 1.4 before shared effects and master protection. A sum exceeding full scale can clip without appropriate protection.Sound 1 peak0.7Sound 2 peak0.7Sum = 1.4Shared FX / existing master protection
Separate mixing example: two aligned peaks near 0.7 each (about −3 dBFS per sound) can sum to 1.4. This uses different settings from the −18 dBFS example. Several sounds and effect returns can add together above full scale. Keep the master protection. This is a sample-peak limiter: no lookahead, true-peak or physical CPU headroom claim.

3 · Why do paired 808 sounds share a ceiling?

Paired808 lanes sum their ringing tails before one stripRimshot and clave ringing lanes overlap and are summed before one shared strip. Clap and maracas use the same paired design. The active selected sound supplies the send settings.RS / Clave share one stripRS tail still ringingClave starts before RS endsSum both ringing lanesThen process one strip
The same rule applies to CP / Maracas. The active selected sound supplies Rev/Dly sends. The ceiling bounds the pair’s combined output, not each tail in isolation.

4 · Which block am I editing, hearing or waiting for?

Editing, playing and queued blocks are independentEditing block 4 leaves playing block 1 unchanged. Queueing block 2 makes it start at the next musical bar. Twelve pages of 16 rows provide 192 block positions.Editing: block 4Change its settingsEditing does not move playbackPlaying: block 1Its chord is activeQueued: block 2Starts at next musical bar12 pages × 16 rows = 192 blocks
Each block assigns patterns, mutes, a chord degree and 1–8 four-quarter-note bars. A queued transition uses the next bar boundary. Short or odd-length patterns keep their own cycles; broader insertion/order/loop controls remain pending.

5 · How do degrees become chords and bass notes?

C major degrees produce C, A minor, F and GKey C and Ionian major mode with degrees I,vi,IV,V produce C E G, A C E, F A C and G B D through the shared C resolver.I → CC · E · Gvi → AmA · C · EIV → FF · A · CV → GG · B · D
Example: key C + Ionian + I–vi–IV–V → C–Am–F–G. Mode supplies chord qualities; degree chooses the root. The shared engine resolves the notes. Pentatonic needs an explicit seven-note parent; chromatic does not invent seven diatonic degrees.
All seven degrees in C major (Ionian). Other keys and modes change the chord names and qualities.
DegreeChordChord tones
1 · IC majorC · E · G
2 · iiD minorD · F · A
3 · iiiE minorE · G · B
4 · IVF majorF · A · C
5 · VG majorG · B · D
6 · viA minorA · C · E
7 · vii°B diminishedB · D · F
Strict bass follow chooses a valid final pitch or no noteAfter transpose and MIDI range correction, Root accepts the chord root pitch class and Chord accepts chord tones. No valid target produces silence. None degree or follow Off preserves legacy absolute pitches.Pattern note + transposeOriginal rhythm staysPlaying chord + MIDI boundsRoot or chord tones onlyValid target → play itNo valid target → silenceNone degree / follow Off → legacy pitch
On a C chord, Root accepts C; Chord accepts C, E or G in allowed octaves. A range containing only MIDI 61 (C♯) has no valid C-chord target: strict follow emits no note. TIE cannot revive a rejected note; a new NOTE is required. Slide targets obey the rule; intermediate glide pitches are intentional.

Bass candidate boundary: local native/source review, fresh host/WASM and actual GUI checks pass. Browser checks cover follow editing, range rejection, undo/redo, save/reopen, live-play locks, queued chords, generated held notes, strict MIDI 61–61 silence and slice sync at 90/120/180 BPM. The firmware image fits at 581,524 / 581,564 bytes (40 bytes spare); all 15 unchanged original static gates pass. These results do not establish worst-case physical CPU, a complete external MIDI scene, a 30-minute soak, receiver delivery or human listening acceptance. Generators/mutation, accents, rhythm and saved absolute notes retain their existing roles; follow resolves final playback targets rather than rewriting patterns. A later reviewed local text-helper optimization reduces the target image to 578,244 / 581,564 bytes (3,320 bytes spare), with RAM/pool unchanged and all 15 original gates passing. Eight native scenarios retain 44 rendered images and 1,426,176 stereo audio frames exactly; physical drawing timing remains pending. External accompaniment and actual browser MIDI routing are now being implemented locally, with their integrated checks still pending; no internal pad sound is claimed.

6 · Does changing tempo also change the pitch?

Tempo changes move slice triggers rather than stretching audioAt 120 BPM source tempo, four trigger positions are evenly spaced. At 180 BPM they move closer together. Each slice plays at its original speed with its intact tail, so overlap increases and pitch stays the same.120 BPM source: trigger spacing180 BPM: closer starts, same slice speedIntact ringing tails overlap more
Faster tempo brings triggers closer; slower tempo can reveal gaps. Slice speed, pitch and tails stay intact. A 7/8 loop retains its 3.5-quarter-note cycle. Marked-WAV preview/import storage is separate from the instrument’s mono BREAK part and its strip.

7 · Which Save keeps which work?

Project saves, browser imports and physical saves are separateProject storage contains sound and arrangement intent plus candidate bass settings. Browser import storage contains WAV and markers separately. Physical FM1 save/reboot/migration acceptance remains pending.Save projectInstrument sound / arrangementCandidate bass settingsSave importBrowser WAV + markersSeparate import storagePhysical FM1 storageDevice save/reboot/migrationHardware acceptance pending
Use Save project for instrument settings and Save import for the imported loop. Stop before protected project edits/save. Browser saved reopen does not establish hardware save/reboot or interrupted-save behavior.

8 · Where will external pad accompaniment fit?

Planned external pad events remain separate from bass ownershipConceptual pad chord events use a dedicated MIDI channel. Bass parts own notes separately on independent channels. Queue retries complete cleanup without reviving stopped notes. Actual receiver delivery is pending.Shared playing chordConceptual pad chord eventsDedicated pad channelExternal instrument makes soundIndependent bass ownershipSeparate bass channelsNote-off / queue retries
Pad accompaniment is planned, not implemented sound. Separate bass channels allow independent attacks. A full queue can delay cleanup; retries must release the owned note and must not revive a note after stop. Engine MIDI transport readiness is not proof of a browser MIDI port or physical receiver delivery.

What works in this alpha?

The browser instrument, WAV and exact-marker import, slice audition, original-timing playback, browser saves and sequencer tempo sync are available. All 25 instrument sound strips and basic arrangement/chord metadata have prior local and hosted browser acceptance. The new bass-follow candidate passes local source, host/WASM and actual GUI checks; its publication is held pending sign-off. External MIDI accompaniment, the complete musical scene and physical qualification remain pending.

Follow the quick start or load the public synthetic demo directly from the emulator. The demo's six unequal onsets make changes in groove easy to hear.

Can this website open a raw REX file?

Use the matching WAV slice bank and marker JSON exported by a compatible converter. This static website has no native REX decoder. The local lab supports optional native conversion when its separate decoder is configured. SDK installation and distribution permissions remain separate from this public package.

Local conversion to browser playbackA raw REX loop is converted locally to a WAV slice bank and timing JSON. The browser imports both files.REX loopOriginal keptLocal converterOptional decoder setupWAV slicesAudio and tailsJSON markersOriginal timingEmulatorBrowser playback
The browser imports the two exported files. Raw REX decoding happens in your separately configured local converter.

Why can the WAV be longer than the loop?

The WAV packs each intact slice end to end, including its ringing tail. Marker startSample and endSample locate that sound in the bank. Marker time is its original musical onset in seconds. Adding slice lengths together would lose overlaps and gaps.

Where a slice is stored versus when it playsSlices A B and C are stored consecutively. At playback B starts while A still rings, with a gap before C.WAV storage: where is the sound?A + tailBC + tailOriginal rhythm: when should it play?ABCB starts while A rings.Gap retained.Illustrative timing. Slice length and trigger spacing are separate.
Original onsets preserve the groove even when the packed WAV has a different duration.

How does sync keep the pitch?

Play with FM1 · keep pitch schedules slice starts against the internal sequencer clock. Each slice plays at its original speed. At faster tempos tails overlap more; at slower tempos gaps may appear. This is slice sequencing, rather than continuous stretching of sustained audio.

If stopped, both start from beat one. If already playing, the loop joins the next four-beat bar. Instrument PLAY then stops and restarts both. Original loop length is retained: a 7/8 loop still spans 3.5 quarter-note beats. Enter its source BPM if the markers have none.

Which files belong together?

Choose the _slices.wav and _markers.json from the same export. JSON can carry sample rate, frame count, channels, BPM, loop duration and exact boundaries. Manual import validates the available dimensions. The local converter handoff also validates the WAV checksum.

CSV uses Slice,Start,End,Time in seconds, with an optional final Loop,,,duration row. Legacy Slice,Duration,Total CSV cannot recover the original onsets; re-export from the REX source. A rendered full-loop WAV is different from a packed slice bank.

What are the limits?

ItemBrowser limit
WAV / markers16 MiB / 256 KiB
Slices / overlapping tails64 / 8 voices
Audio bank30 seconds and 1,440,000 source frames
Musical loop60 seconds
AudioMono or stereo, 8–48 kHz

At tempos that exceed the overlap capacity, sync stops with an explanation. Lower the tempo and arm sync again.

Where does Save put my work?

Save import in browser stores the WAV and markers in this browser; Reopen saved import retrieves them. The instrument SAVE control stores instrument state separately. A different browser or website address has different storage. Keep your source files as a portable backup.

Does this put samples into my FM1?

This alpha provides browser audition. Device sample storage, firmware image checks, real CPU measurements, save/reboot and physical recovery tests are separate milestones. No Acultur8 hardware installer is included here.

Which release is this?

First-kick browser prerelease identifies the accepted kick checkpoint at 1394e5f. Its hosted files, source fingerprint and WASM match the tested build. The original alpha remains recoverable.

Browser alpha.1 passed mandatory CI and hosted synthetic import, tempo sync, transport and save/reopen checks. Lossless fonts and the shared command/save foundation are merged; the audible 909 kick editor passed local and hosted acceptance. Physical-device acceptance remains pending.

How do I use the kick strip?

Switch on the emulator, then enable the 909 kick strip and the stages you want. High-pass removes low frequencies; low-pass reduces high frequencies. Boost raises level into the limiter, and the negative dBFS ceiling caps the processed kick before pan and effect sends. Existing projects start bypassed. Use Undo/Redo for edits, and stop the sequencer before Save project. The other voices keep their existing sound.

This is a sample-peak limiter with no lookahead or true-peak claim. Effects and other sounds can still add together after the strip; keep the existing master protection. The browser prototype is accepted; physical-device performance remains pending.

How do I arrange blocks and chords?

Switch on the emulator, set Length while stopped and enable arrangement. Each block assigns five patterns, mutes, a duration of 1–8 four-quarter-note bars and an optional I–VII degree. Twelve pages cover 192 rows. Editing selects the row shown in the controls without moving playback. Queue chooses the next musical-bar transition, or the start block while stopped. The C engine displays the playing chord and shares it with enabled bass-follow in the locally tested candidate. Follow editing, range rejection, undo/redo and saved reopen pass local GUI checks; publication is held. External accompaniment remains pending.

Editing and playback are independent; a queued block starts at the next musical barEditing block 4Playback stays putQueue block 2Wait for the barPlaying block 2Latch its chordEditing, playing and queued rows have separate engine-owned states.

Choose the key and mode for diatonic triads. Pentatonic chords require an explicit seven-note parent; choose it before changing mode. Chromatic mode cannot hold I–VII degrees. Stop before length/enable changes, Undo/Redo of arrangement or Save project. Busy requests retain your current project and transport. Broader insert/duplicate/delete, row-order operations and loop-range controls are still being developed. The published basic arrangement and harmony metadata are already accepted.

What is next?

Preserve the accepted all-25 browser functionality and basic arrangement. The new bass-follow candidate passes local source review, host/WASM and actual GUI checks, but further publication is held for explicit sign-off. Next complete external MIDI accompaniment and the full musical scene, including its soak and listening checks, while broader arrangement insertion/order/loop controls and physical qualification remain open.

All 25 strips include high-pass, low-pass, boost, ceiling, metering and persistence with prior hosted acceptance. Basic arrangement and seven-degree metadata remain accepted; the local bass candidate and pending external MIDI work are tracked in the development plan.

When will the next features arrive?

Planning windows from resumed implementation are 4–7 focused days for sound controls and 8–12 for the musical browser alpha. These are conditional forecasts: memory redesign and failed acceptance may extend them. Physical-device qualification has no fixed date.

Latest local development checkpoint

The qualified resource checkpoint is merged in PR19 after GitHub CI passed: 580484/581564 image bytes, 98272/98304 ordinary RAM and 335712/344064 pool bytes, with all fifteen original static gates passing. The browser slice candidate preserves all 693 registry rows and adds source2/HOST controls for all thirteen marked-audio operations; native USB/TRS slice bindings stay unsupported. Its fresh combined nine-check suite, including seven new mandatory engine/UI/HTTP/coverage checks, passes after the packaging assertions were updated for the shared storage service. The integrated genuine-browser IndexedDB harness also passes all thirteen paths. These results do not establish real AudioContext, DAW/device, download delivery, hearing or full-performance acceptance.

New-action browser GUI, real DAW/receiver, hearing/click, long-soak, physical timing/stack and flash crash acceptance remain open. Previous browser scene evidence below belongs to its original engine. Source updates are authorized; Pages remains held. See the MIDI editing diagram.

Previous qualified parameter-table and browser-scene checkpoint

The reviewed lossless parameter-table encoding passes all 15 original static target gates. The combined image uses 579172/581564 bytes, general RAM 98184/98304 and pool 335712/344064. That leaves 2392 image bytes, 120 general-RAM bytes and 160 pool bytes above the reserve. The fresh integrated candidate passed all nine mandatory software checks, including exact sound-table comparisons. Actual browser checks on this engine passed MASTER readback, a synthetic drum/bass/BREAK scene with independent hat timing and slices at 125/90/180 BPM, shared Stop and saved settings/import reopening. These are partial scene checks: human listening, external MIDI delivery and a long soak still need acceptance. Complete MIDI coverage, real DAW and receiver delivery, continuous-click diagnosis, the full musical scene and physical timing remain open. Earlier candidate figures below are historical checkpoints. Browser Pages publication awaits sign-off; GitHub source updates are authorised.

Can the MASTER knob follow DAW automation?

The local development candidate maps the main output level to MIDI channel 13, controller 76: zero is mute and 127 is full level. This is separate from the MASTER effects bank. Browser knob movement immediately takes control and reads back the engine value. On the device, the proposed pickup policy holds the automated level until you deliberately move the physical knob near or through that level. A stationary knob and small jitter retain automation, including mute. Disconnecting the controller retains the last level.

Who controls the master level?DAW automation and deliberate knob movement choose one shared level. The existing gain glide applies that level to audio output.DAW automationDeliberate knob pickupOne shared levelCurrent owner winsExisting gain glideThen audio output
This level is a runtime control: it is not a saved sound preset or part of project Undo. Native pickup traces and browser-engine tests pass; actual hardware pickup and DAW delivery remain pending.

Why measure memory first?

Earlier D8 combined development checkpoint, 13 October: individual lanes and the current MIDI candidate now fit the unchanged target limits: image 581316/581564 bytes, general RAM 98184/98304 and pool 335712/344064. All 15 original static gates pass. Only 248 bytes of image space, 120 bytes of general RAM and 160 pool bytes above the reserve remain. The fresh mandatory browser-alpha suite passed all nine checks after the optimisation, including the exact original 808 sound comparison. Remaining MIDI features, real-time clicking, full-scene acceptance and physical timing/stack checks are still open. This is a local engineering checkpoint, not a firmware release; further publication awaits sign-off.

The earlier published all-25 target passes all 15 original gates unchanged: image 579636/581564 bytes, general RAM 97860/98304 and pool 335712/344064. Pool free space is 8352 bytes with the unchanged 8192-byte reserve, leaving 160 bytes above reserve. New helper and caller costs are recorded separately in tests/all_sound_feature_costs.json and tests/all_sound_target_costs.json; these static estimates do not measure physical deadline headroom.

Additional lossless Huffman fonts preserve all 439 glyphs and 1756 rendered cases against the original renderer. Native focused draw is about 49.6% slower than the prior packet format. Physical draw timing remains pending; flash savings do not establish device performance.

Releases require tested commits, independent review and hosted checks. See the About page for Acultur8.com and Traxsource links.

Accepted all-25 browser checkpoint

The previously accepted all-25 browser release at c081d63 processes eleven sounds in each 909/808 engine, both 303 parts and the instrument's mono BREAK part with high-pass, low-pass, input boost and a summed-sound sample-peak ceiling. Native/actual WASM, independent source review and local/hosted browser checks passed. This ceiling has no lookahead or true-peak claim. The separate Marked-WAV preview keeps its own import and playback lane.

The accepted checkpoint passed the complete mandatory suite, local/hosted GUI acceptance and all 26 hosted checksum checks. Sound-strip browser functionality is accepted; explicit worst-case physical CPU qualification is a separate open criterion. Physical draw/audio timing, stack, DMA and device acceptance remain pending. Basic arrangement and saved harmony metadata are already publicly accepted at e78ee13; broader insertion/order/loop controls remain pending. The newer bass-follow candidate passes local checks and GUI acceptance with publication held; external MIDI/pad behavior remains pending.

Local GUI checks cover all 25 selectors, isolated 808 and BREAK edits, undo/redo, saved reload, four arrangement blocks with six synthetic slices synchronized to FM1 at 125 BPM using a 120 BPM source, PLAY stop, live-save rejection and stopped-save acknowledgement. The selected-view checking message clears after settings arrive. At 390px, the document is 375px and editor 343px wide. An older kick-only engine disables the other 24 selectors while keeping its kick controls usable, with no console errors.

Earlier bass-follow implementation checkpoint

Further development and verification stay local until explicit publication sign-off. Lossless fonts, shared commands/saves, all-25 sound-strip browser functionality and basic arrangement have accepted historical local/hosted checkpoints. These prior releases do not publish or accept the newer bass-follow candidate.

The new bass-follow candidate passes local source review, host/WASM and actual GUI editing, rejection, undo/redo, save/reopen, transport-lock and chord-follow checks. Its target image is 581,524 / 581,564 bytes (40 bytes spare), with all 15 unchanged original static gates passing. The separate all-25 checkpoint budget is preserved above. Static gates do not establish physical CPU, stack, DMA or device audio acceptance. External MIDI receiver delivery, the complete musical scene, 30-minute soak, human listening and physical qualification remain pending. Publication is held.

Local MIDI accompaniment checkpoint

The private development candidate now implements dedicated-channel chord triads through the real firmware/WASM engine and an opt-in browser MIDI route. Native and actual-worklet regressions pass, including old-project migration, Notes Out undo/redo, original-channel cleanup and pitch-preserving slice timing. The complete required suite passed at source efe2eca080498ae80d61f662434fca5e42872486e334ebe560892b51ffbb468e; its 32 packaged file hashes were verified locally. This is development evidence, not a public release.

Independent review confirmed that a late successful route reply can no longer reactivate a disconnected output. A worklet-replacement fix now rejects old requests, preserves original-output cleanup and waits for a fresh engine snapshot before explicit Retry. Focused router/UI tests, independent review and fresh complete suite6 pass at source fcd814466eabaf5513dbde436e0d0dc39948e7e8ad6bc03d475bdbb5082b8359. Synthetic browser outputs have exercised triads, Stop, send-failure cleanup, Retry, output switching and narrow layout at 90 BPM. Fresh suite6 browser checks also observed both bass channels, pad and synced original-pitch slices at120/180 BPM; Stop left no owned notes, with352/352 and804/804 Note On/Off events respectively. Quick virtual-key clicks were found to disappear before the firmware scan, leaving intended drums empty; that input fix is in progress. These are partial scene checks, not full drum-and-bass acceptance. Full combined-scene acceptance at 90/120/180 BPM, a recorded 30-minute soak, real receiver delivery and physical-device qualification remain pending.

The latest official external-pad target probe fits at 579,556 / 581,564 image bytes and 97,868 / 98,304 ordinary RAM bytes; pool usage remains 335,712 / 344,064, only 160 bytes above the unchanged reserve. All 15 original static gates pass. These numbers do not prove physical CPU or stack margins. Earlier bass-only and published checkpoints elsewhere on this page remain historical evidence. Public publishing remains held until user sign-off.

CRITICAL PERFORMANCE TARGETS · PLANNED

Independent lanes. One musical clock.

Every individual 909/808 drum lane, 303 A, 303 B and BREAK will have its own rate and step count. Different lengths at one rate create polymeter; different rates create polyrhythms. These are confirmed development requirements, not accepted firmware functionality yet.

Independent sequence lengths and rates on one tempoExample kick lane loops 16 steps at one sixteenth note per step, hat lane loops 11 steps at that same rate, and bass lane loops 7 steps at an eighth-note triplet rate. All follow one master musical clock; their individual cycles do not move chord progression boundaries.One master tempo / musical barKick16 steps1/16 rateHat11 steps1/16 rate303 A7 steps1/8 tripletEach lane wraps independently.
Illustrative target behavior. Arrangement/chord changes keep their musical-bar timing. Supported rates, live phase policy and target resource costs still require implementation and testing.

DAW automation while the performance runs

DAW Control Change messages reach shared authoritative engine parametersDAW automation sends channel and CC number with a value. A versioned mapping validates and scales it, then safely applies it at defined audio or musical boundaries. Browser controls read back the actual engine values. No flash save occurs for each CC.DAW: channel + CC + valueValidated, documented parameter mapShared engine / acknowledged controlsNo automatic flash write for each CC.
The documented map covers sound/strip/mix/effects, lane timing, generators, pattern fields, arrangement/chords and bass/pad settings. The local candidate has partial implementation and focused actual-WASM tests. Complete parameter coverage, real DAW integration, physical delivery and timing remain open; a received CC does not prove application.

Local MIDI Undo/Redo candidate: channel 13, CC 93 for Undo and CC 94 for Redo. Values 0–63 release/rearm; 64–127 request once. Send a release before the next request. Stop playback and finish any active edit first: history requests during a held edit, recording or transport transition are refused without ending the edit. A refused request does not block a following Stop. Native and production-worklet/actual-WASM tests pass; this is not full DAW or device acceptance. Global settings such as tempo still sit outside this undo journal.

The published baseline shares timing inside each drum kit and fixes BREAK to 16 steps/16ths. The new local lane candidate adds independent timing and 64-step BREAK editing; complete live-CC and performance acceptance remains pending. Existing stopped-only settings need live-safe application and original-note cleanup; merely adding a CC number does not make them safe during playback. See critical targets FM1-32/33. Official MIDI CC reference ↗

Local lane checkpoint · 13 October 2026

The new local candidate passes native and actual WebAssembly checks for all 25 sound lanes, 32 patterns, eight rates and 1–64 steps, including 64-step BREAK editing. Its fresh full browser regression suite and all 15 original static firmware gates pass. Firmware uses 581236 of 581564 image bytes and 98048 of 98304 ordinary RAM bytes; the existing pool reserve still has 160 bytes of margin.

Actual browser checks verified mixed hi-hat/bass timing, a length change while playing, save/reopen and BREAK step 64. This is partial performance evidence, not a complete DAW scene or physical-device test. Command-draining work is measured separately; a smaller caller does not prove lower CPU use.

Live CC has a separately tested native candidate and an input-panel prototype. Full lane/CC integration, current browser input, DAW automation and physical timing remain pending. New development stays local under the publication hold. The existing public repository has not yet been made private; this checkpoint is not a hardware release.

FM1-35 · PROPOSED · NOT IMPLEMENTED

CV/gate sequencing: think of a guitarist’s two hands

A guitarist combines two jobs: the picking or strumming hand supplies the rhythm, while the fretting hand helps choose the pitch through string and fret position. Our proposed split sequencer separates those jobs into two repeating lanes.

The gate lane is the picking hand: a trigger says “play now”, a rest says “do not pick”, and a hold keeps an existing note sounding. The pitch lane is the fretting hand: it chooses the note ready for the next trigger. In this first design, changing the pitch lane alone does not start a note.

Two hands, two sequences, one sounding note The fretting hand corresponds to a pitch lane that selects which note. The picking hand corresponds to a gate lane that decides when to play. Both join at the 303: a trigger uses the current chosen pitch. They share tempo but can have different lengths and rates. Fretting handPITCH LANEWhich note?Picking handGATE LANEWhen to play? 303: play the chosen pitchwhen a gate trigger arrivesShared tempo · independent lane lengths and rates
This is a musical analogy, not a literal guitar model. Picking can also choose strings, and hammer-ons or pull-offs can sound notes without a fresh pick. Those techniques need explicit synth retrigger/slide rules.

A small example you can read like two hands

Imagine an eight-step picking rhythm over a three-note fretting cycle: D → F → A. Both advance on the same tick in this example. The pitch updates first; a trigger then plays that pitch. The repeating pitch lane continues through rests.

Illustration only: the proposed engine mode is not available yet.
Tick12345678
Pitch / frettingDFADFADF
Gate / pickingPlayRestRestPlayRestPlayRestRest
New note heardD——D—A——

The dash means no new trigger, not necessarily silence: an earlier note’s decay or release can still ring. The next eight-step gate cycle starts while the three-step pitch cycle is at a different position. Their combination repeats after 24 ticks in this simple example. Different rates make the interaction more varied.

Does moving the “fretting hand” bend a held note?

Not in the first proposed mode: a pitch change prepares the next trigger, while the sounding note keeps its accepted pitch. A later option could let pitch changes retune a held gate, with a defined slide behaviour. Ties, gate duration, accents and slides need explicit rules and tests; the guitar metaphor does not decide them automatically.

How would I switch it on?

The proposal is Classic / Split Gate–Pitch for 303 A first, keeping 303 B in Classic. Classic keeps the existing combined note/rhythm sequence. Split mode would expose two rows with independent length, rate and playhead. Key/scale locks and chord-following policy would still constrain the chosen notes.

Status: feasibility exploration FM1-35. This guide explains the design; it does not claim a working mode in the browser or on the FM1. Internal CV/gate-style sequencing uses note numbers and triggers, not physical analogue voltage outputs. Resource fit, persistence, MIDI mappings, live switching and physical testing remain pending.

Can I save one sound and put it in another slot?

The planned sound-variant library saves a named version of one sound: its timbre controls and processing strip. Load it into a compatible sound slot without replacing your rhythm, notes, lane length/rate, chord progression or other sounds. Pan and effect sends would be preserved by default, with an explicit option to include them.

For example, a 303 A preset can be compatible with 303 B. An 808 kick preset cannot be treated as a 909 snare preset. The paired 808 alternatives share their existing strip. BREAK presets do not include the imported sample bank: keep the matching audio separately.

Status: the local library prototype passes format, compatibility, export/import and overwrite-recovery tests using a simulated engine adapter. It is not connected to the emulator yet. Actual-engine capture/load, persistent browser storage, undo and save/reopen checks remain open. Browser library slots and physical FM1 flash slots are separate work. The existing PRESETS encoder still selects patterns.

Can a bit crusher run in series with the filters and limiter?

Yes, this is the proposed optional per-sound chain. A crusher reduces amplitude resolution and/or holds samples for a rougher texture. The low-pass filter afterwards can soften the added high frequencies; it cannot undo aliasing. Boost and the enabled limiter follow the effect and its wet/dry mix.

Proposed serial processing for each sound Sound and its tails pass through high-pass, optional bitcrusher, low-pass, boost, then limiter ceiling, before pan and effect sends. The crusher wet/dry mix is before the final limiter. Sound + tails High-pass filter Optional crusher + wet/dry Low-pass filter Boost → limiter ceiling Pan + effect sends
Proposed chain, not an available crusher control. The final ceiling bounds this sound when enabled; several sounds and effect returns can still add together at the master.

Status: target FM1-37 is planned. Existing crush effects in some voices do not provide a common crusher on every strip. Bit depth, sample-hold factor, wet/dry, bypass, smooth live changes, MIDI mappings and preset storage need implementation and tests. The combined firmware has narrow measured headroom; this crusher is not yet included or resource-qualified. Browser success alone cannot establish physical-device support.

How could several FM1s play a one-to-two-hour live set?

Planned: FM1-39 and FM1-40. Choose one clock leader and explicitly route its timing to the followers. MIDI clock supplies the pulse; Start, Continue and Stop control transport. Matching tempo alone does not prove matching bar position, and clock does not send chord changes or our scenes.

One clock leader routed to several instrumentsA DAW or one selected FM1 provides clock. A computer or true USB MIDI host routes it to two FM1 followers and another device. Their audio connects separately to a mixer. ONE clock leaderDAW or selected FM1Computer / USB hostExplicit MIDI routingFM1 AFM1 BOther MIDI device
A regular USB hub expands the host's connections; it cannot route MIDI on its own. Instrument audio goes separately to a mixer or interface. Physical connections still require equipment-specific checks.

Direct FM1-to-FM1 USB daisy chaining is not supported by the current device-mode firmware. Use a computer with separate device connections, or a verified standalone USB-MIDI host/router. The current FM1 TRS implementation is MIDI input; do not assume an output or Thru jack.

The proposed Performance Clock page will show Lead / Follow / Standalone, source and destinations, BPM, bar/beat, waiting or lost-clock status, and an explicit recovery policy. Current code automatically returns to internal timing after half a second without external clocks; controlled live recovery and single-source ownership are new work.

For long sets, prepare reusable musical sections and a saved set list. Queue the next scene for a shared bar boundary, with confirmed versus pending feedback. The existing 192-block song model permits up to eight repetitions per block: about 49 minutes at 125 BPM in 4/4 at maximum repeats, not an unlimited two-hour timeline. Longer saved sets and gap-free scene/project changes need implementation and acceptance; manually repeating or cueing patterns is different from automated long-set support.

Two devices could alternate current and next material while their audio is mixed, but seamless preparation and multi-device cues are not yet qualified. Required checks include dropped/duplicate clock, Stop and reconnect, sustained-note cleanup, foreground/background behaviour, full-scene listening and a real two-hour soak. GitHub source updates are authorised; a new Pages release and hardware flashing remain held for separate sign-off.

Development status: reviewed Stop/transport and USB session fixes pass native regressions. An earlier combined target exceeded firmware space by184bytes. The newer isolated full clock-role candidate now passes all15 original static gates at581348image/98292ordinaryRAM/335720pool bytes, with216image and12RAM bytes spare. Independent initialization/deadline/cost review and actualWASM qualification remain pending; it is not integrated. No Performance Clock page or live multi-device set is accepted yet.

Protocol references: MIDI Association USB topology and clock and transport messages.

How will other developers make compatible modules?

Our developer compatibility and audit guide defines requirements for human developers, Codex and similar coding agents. Contributions must document versions, interfaces, parameter and MIDI meanings, save migrations, licences and resource budgets.

Independent review checks evidence against an exact commit. Native, browser, firmware, receiver and physical-device results are recorded separately; untested gates remain open. These are compiled source modules, not runtime plugins. Guide version 0.1 is a development contract; automated manifest validation and third-party compatibility fixtures are still planned under FM1-41.

Could several devices express one chord together?

Our distant-future Paraphonix proposal would distribute chord tones across compatible devices, following one progression, key and scale. For example, three melodic voices could play D, F and A together while a global voice budget limits note density. Range locks, voice leading and supported expression would shape the result.

FM1-43 is planned only. Receiver capabilities, sustained-note cleanup and release tails must be tested. A voice cap does not guarantee safe audio levels; mixing, metering and headroom remain separate. Devices do not automatically share a physical filter or envelope, and extra onboard voices or per-note expression support are not assumed.

Can MIDI control the imported loop?

The browser candidate maps all thirteen slice controls to channel 13, CC 80–92: level, repeat, layering, source tempo, slice audition, play, stop, sync, import, demo, save, reopen and marker export. Enable the selected CC input explicitly. The physical firmware's USB/TRS slice bindings remain unsupported.

Browser slice MIDI control and applied resultsSelected input waits for native engine work, then runs one browser operation and reports its applied or rejected result.Selected CC inputExplicitly enabledWait for engineFresh settled frameOne slice operationCheck ownershipRead the resultApplied / rejected
An input receipt confirms queued MIDI; a separate operation result confirms what happened.

Select matching WAV and markers before sending Import; MIDI opens no file chooser. Import, demo and reopen require stopped, unowned playback. Save finishes only when the browser database transaction commits; a failed save retains the prior saved import. CC Export prepares marker JSON, while the manual Export control requests a download. Trigger actions rearm below 64 and fire at 64 or above.

Repeat changes preserve the current slice cursor and tails until the original loop boundary. Source-tempo changes during sync rearm at the next four-quarter bar and stop existing slice tails; this is not seamless tempo morphing. Local native/worklet tests and the genuine browser database harness pass all thirteen paths. Fresh combined-main software checks pass; real AudioContext, DAW/device, download delivery and full performance acceptance remain open.

How do MIDI editing actions avoid accidental changes?

The local integration candidate adds eleven native actions and explicit destination, arm and cancel controls. Select the pattern, part, destination and block explicitly. Destructive edits require an action-specific arm and stopped, validated ownership; they do not silently retarget the selected front-panel page. Continuous musical controls retain their separate live-automation path.

Explicit MIDI editing and recoverySelect context, arm the intended destructive action, validate and execute while stopped, then read the result and undo or save. A refusal preserves the project.Select contextPattern / part / blockArm intended editCancel if neededValidate + executeStopped ownershipRead resultUndo / save
Queue acceptance is not proof that an edit applied. Read the action result; rejection keeps the project intact.

Save, clear/copy, motion clearing, song-row insert/delete, reset and performance actions have different prerequisites. Reset requires a verified clean saved checkpoint and preserves it for recovery; it is not an ordinary undoable edit. Benchmark tests verify completion and Stop restoration. Physical flash failure and power-loss recovery are still unqualified.

Status: independent code review, the existing nine-check suite and all fifteen original firmware gates pass in isolation. Action-specific production-worklet/WASM checks pass and are now mandatory; the fresh integration suite passes all nine checks. Image usage is 581492 of 581564 bytes; ordinary RAM is 98272 of 98304 bytes. The thirteen browser slice controls now have the local candidate described above; physical slice bindings and complete DAW/device acceptance remain open. This is not a new Pages or hardware release.

Firmware space: reviewed lossless table encoding preserves every original sound value and recovers 1008 bytes in a complete target build. The locally integrated image is 580484 bytes; RAM is unchanged. Both resource suites pass all nine required checks; PR19 is merged after GitHub CI passed. Pages remains held. Physical timing and stack headroom remain unqualified.

Can I sweep lane speed without jumping into triplets?

The per-sound rate-family selector offers Straight only, Straight + dotted (no triplets), Straight + triplets, and All. A family-aware MIDI sweep moves from slow to fast through only allowed choices. Existing raw CC meanings remain unchanged.

1/2 lasts two quarter-note beats; 1/8 lasts half a beat; 1/8D (dotted eighth) lasts three quarters of a beat; 1/8T (eighth-note triplet) lasts one third of a beat. Dotted multiplies duration by 1.5; triplet multiplies it by two thirds.

Eighth-note durations within one quarter-note beatStep duration inside one beat1/81/8D1/8T01 beat
Longer duration means slower steps. Filtering triplets prevents unwanted family changes; rate changes still alter the relationship between lanes.

Status: implemented in the reviewed local candidate. All21 choices use compatible versioned storage and rational engine timing. Changes finish the current interval and apply at the next sound step, with an optional next-bar policy. See the expanded-rate controls below. Physical MIDI/device qualification remains pending; Pages held.

Why can I only change the whole drum kit length?

An older dashboard or published emulator may still expose the grouped kit controls. In the current tested local candidate, switch on, stop playback, find Sound lanes, and choose Initialize independent lanes. Select the pattern and individual sound, then change Length (steps) from1 to64. Leave the number field to commit; read the acknowledged result. Grouped mode uses each kit BD clock; choose independent mode for individual timing.

Fresh packaged-browser checks preserved a seven-step909 closed hat and thirteen-step808 kick through sound selection, Save project and reload. These are focused GUI/persistence checks; full live-scene and physical acceptance remain open. The separate preview origin has separate browser saves.

Real muted AudioContext tests also pass all13 slice MIDI controls, with measured full/half/zero gain and explicit Stop cleanup. This verifies rendering, not human listening or the reported clicking. A Windows generic Python server can serve MJS as plain text and prevent startup; the verified local alpha helper supplies the proper module MIME types.

How do I import a REX loop into this preview?

The standalone emulator accepts a slice-bank WAV plus matching marker JSON. Raw REX decoding runs in the separate local Windows dashboard converter; the static browser package does not include that decoder.

  1. In the local development dashboard, open REX converter and select your .rx2, .rex or .rcy file.
  2. Choose Convert loop. Download the matching _slices.wav and _markers.json from that conversion.
  3. Return to this preview. Choose the WAV under WAV audio and JSON under Exact slice markers, then choose Import WAV + markers.
  4. Audition original timing, or use Play with FM1 · keep pitch to sequence the retained slices at the FM1 tempo. Save import in browser stores them for this preview origin.

REX loop → local decoder → slice-bank WAV + timing JSON → browser audition. Conversion preserves original cuts and musical trigger positions; WAV storage position and trigger time are different. Your original REX stays unchanged. An older dashboard converter's Open in emulator button may open its older engine; use the downloaded pair when testing a newer separate preview.

If the converter is unavailable on this machine, import an already converted matching pair. Restricted SDK files and private loops are excluded from the public package. This workflow does not transfer samples into physical FM1 flash.

What happens after the reboot?

Development is paused at your request. Restart the checked local preview with its existing port so its browser saves remain available; do not use Factory reset. The latest checked package is build/site-slice-qualified-1b66770, served with python tools/serve_alpha.py --site build/site-slice-qualified-1b66770 --port 8133 from the integration workspace. Earlier preview ports have separate saves.

The next working day prioritizes preview recovery, exact-head source PR20 checks, the clock transport race correction and reproducible click diagnosis. The following day prioritizes lossless rate migration, rational timing and family-safe MIDI sweeps, subject to resource and review gates. Expanded rates are not available in the current instrument yet.

The clock candidate fits static limits, but independent review found a late Start/Continue race; it is not approved for integration. Browser Pages deployment, real DAW/receiver tests and physical-device qualification remain pending. Source PR20 is open; local tests pass, but remote CI was still running when paused. No merge or publication while paused.

Current local clock checkpoint

Clock repair independently reviewed PASS and integrated locally from commit12d32d695387ef83601ec3c4cc9cddce08f3a0cd. Fresh complete mandatory suite9/9 PASS; all41 frozen artifact hashes verified; original15 target gates and caller/helper aggregate PASS. Production guard preserves exact ICFG state; generation/retirement publication, reserved Start/Continue and MIDI replacement ownership are covered. Target image581444/581564, RAM98292/98304, pool335720/344064 (120image,12RAM and152above8192reserve spare). Real muted AudioContext clock/role/source-loss checks PASS using exact production worklet/WASM; no MIDI permission or physical receiver claimed. Physical IRQ timing, stack, DAW/receiver and soak remain pending. Expanded rates remain unwired. Pages held; no remote push or clock merge. Existing8133 preview and browser storage preserved; this local integration does not reload that frozen PR20 preview. See docs/CLOCK_REVIEWED_INTEGRATION.md. This supersedes the older paused/unintegrated clock status.

Per-sound lengths already support 1–64 in Sound lanes. Expanded straight/dotted/triplet families remain future work; the current eight rates are unchanged.

Expanded divisions and family-safe rate sweeps

In Sound lanes, initialize independent lanes while stopped, then choose Enable expanded rates. Each of the25 sounds has21 divisions: straight, dotted and triplet forms of1/1,1/2,1/4,1/8,1/16,1/32 and1/64. Dotted lasts1½ times the straight duration; triplet lasts⅔. Length remains a separate1–64 step setting.

Choose Straight only, Straight + dotted, Straight + triplet or All. This sound’s sweep policy is shared across patterns. A family change keeps allowed rates and moves excluded rates to the nearest allowed duration; exact ties choose the slower one. The saved rate and the effective playing rate are shown separately while a change is pending.

CC0 →1/1→1/2→1/4→1/8→1/16→1/32→1/64← CC127

A sweep uses stable slow-to-fast bins and0–2 CC units of hysteresis. Straight-only and Straight+dotted sweeps cannot select triplets. Repeating a value within its bin does not change the rate or consume the audio control queue.

New MIDI controls, channel13
ControlCCParameter
Enable expanded rates, stopped1111135
Exact division ID0–201121136
Family0–31131137
Step/bar boundary0–11141138
Hysteresis0–21151139
Family-safe sweep ABI11161140

Use the existing explicit pattern/sound selectors and selector commit first. CC values for enum fields use the registry’s normal scaling; parameter values are exact through the existing exact-value transaction. Legacy lane.rate1129/channel13 CC105 retains its eight original meanings. Exact-rate selection is separate from the family-safe sweep.

Live changes preserve the interval already in flight and adopt at the next sound step, or the next sound step after the next bar. Stop before Undo, Redo or Save. Expanded saves use format6; older firmware refuses them. Native SEQ includes an appended RATE FAMILY page; BREAK also has a DIVISION page when expanded.

Clock interpolation uses fractional MIDI-pulse durations. Ambiguous queued-clock timing or an out-of-domain period freezes playback; clocks alone do not restart it. Physical MIDI receiver, timing, stack, listening and soak acceptance remain separate. Pages remains held.

Can each sound remember its own filter and limiter defaults?

Newer hardware evidence: see 303 controls and power-cycle recall. Older dated qualification paragraphs below remain historical checkpoints.

In development: per-sound defaults for the browser and FM1. The isolated candidate adds Save as sound default and Apply saved default to each selected sound strip. The reviewed local preview, build25641496, does not yet include these controls.

Choose a sound, set its high-pass and low-pass cutoffs, boost, limiter ceiling and release, and choose which stages are enabled. Stop playback, then save that sound’s default. BD and CHH have separate defaults, as do all25 sounds.

Separate sound defaults and project savesSelected sound settingsSave as sound defaultThis sound’s defaultApply saved default → selected sound only
Defaults are reusable starting settings. Save project keeps the current strip settings with that project.

Applying a saved default changes only the selected sound. Existing projects are not overwritten automatically. The candidate groups recall into one Undo step and preserves the saved release time when another control is edited. Release is editable from10 to250ms; the limiter ceiling is a sample-peak ceiling.

Local qualification in progress, 16 October 2026. Focused tests now cover all25 sounds, explicit Save/Apply, release persistence, selected-only recall, Undo/Redo, damaged or oversized banks, and storage failure/retry feedback. An isolated real browser confirms separate kick/hat defaults survive reload and never automatically replace project settings. The latest packed samples match the original PCM exactly with sanitizer checks, and the target passes the original static limits. The complete mandatory regression suite passes all9 groups, including31 host scenarios and packaged parser/WASM checks. Defaults remain isolated pending reviewed integration. Real-browser quota exhaustion and physical FM1 flash, power-loss, menu, listening, timing and stack checks remain separate. Pages publication stays held.

Can my DAW groove the arpeggiator with MIDI trigger notes?

Requested feature, not implemented yet (FM1-46). An external MIDI gate mode will let a DAW note pulse advance the arpeggiator one position. Choose an input source, MIDI channel and trigger key, such as the key your DAW labels C-2. The UI should also show its numeric MIDI note, because octave labels differ between DAWs.

Each matching Note On with velocity above zero advances once. The gaps between the DAW’s pulses supply the groove, replacing automatic division timing such as1/16 in this mode. With no pulse, there is no next step. Note Off, velocity-zero Note On and other channels or keys do not advance it. Internal straight, dotted and triplet timing remains available as a separate mode.

Planned example: send five unevenly spaced C-2 pulses on the chosen channel and get five advances at those pulse times. Note duration and Stop/disconnect cleanup must be specified and tested with the actual engine. This is a MIDI-note trigger proposal; the existing CC-only browser input does not already provide it. Native/WASM and real DAW/FM1 timing acceptance remain pending. Pages stays held.

Where are the 303 filters, limiter and saved defaults?

Hardware check, 17 October 2026: both 303 A and 303 B expose STRIP FILTERS, STRIP LIMITER and STRIP DEFAULTS. ALGORITHM selects the part; SELECT moves through its sound pages. STRIP FILTERS uses KNOB1/2 for HP/LP cutoffs and KNOB3/4 for their enables. Overall STRIP enable is separate, on STRIP DEFAULTS.

With playback stopped, STRIP DEFAULTS uses KNOB2 clockwise: SAVE DEFAULT and KNOB3 clockwise: APPLY DEFAULT. These affect the selected sound's filter, limiter and enable settings. Do not use SAVE while testing recall: that replaces the reference.

Verified on this FM1: 303 B HP returned from100Hz to146Hz before and after a normal power cycle, with a fresh deliberate change to100Hz after restart. The setup saved LP10240Hz and individual filters enabled; their post-cycle readback, limiter fields, overall STRIP enable and other sounds remain unverified. This is a narrow persistence pass, not all25-sound or power-loss acceptance.

Known issue FM1-49: post-cycle Apply displayed a blank message, although the HP readback proved recall succeeded. A blank message alone does not establish success or failure.

Requested policy FM1-48: normal HP150Hz; chosen drums may be lower but never below55Hz; LP no higher than11kHz. This policy is not yet implemented globally.146Hz is below a strict150Hz standard; precise values, drum exceptions and range/default behavior remain to be resolved.

The boot-animation candidate is installed locally; explicit appearance/hold/skip acceptance remains pending. Device photos are catalogued privately for future FAQ illustrations. Pages publication stays held.

How do I play only the 909, or turn individual parts on and off?

On the device's HOME pattern screen, tap the first five black keys from the left to mute or unmute the five parts:

  • Black key 1: 909
  • Black key 2: 808
  • Black key 3: 303A
  • Black key 4: 303B
  • Black key 5: BREAK

Tap the same key again to unmute. To hear only the 909's internal sequence, leave 909 unmuted and mute 808, 303A, 303B and BREAK. Check the HOME display for the current mute state: do not blindly toggle a part that is already muted. Muting preserves the notes and sound settings. These mutes suppress internal sequence triggers; they do not switch an engine off or disable incoming MIDI notes. Existing ringing tails, synth/filter state and shared effects can still consume processing time until they become idle. Use the performance display to inspect actual load rather than assuming that mute means zero CPU.

On the LFO mixer PARTS page, black keys alone select a part; hold HOME and press its black key to mute it. On 909 MIX or 808 MIX, hold HOME and press a black key to mute that individual drum track instead. These are performance mutes; do not treat them as a saved global enable switch or a MIDI input-channel OFF setting. Ordinary performance mutes are not saved with the project; song-row mutes are separate.

Device and Reason workflow: practical questions from testing

Local FAQ update, 18 October 2026. These notes describe the installed 0.1.3-beta1 workflow and bounded observations from one FM1. Publication remains held. Older checkpoint sections on this page are historical; the observations here do not establish full release qualification.

Where is the volume for an individual drum?

Press LFO, choose 909 MIX or 808 MIX with SELECT, and select the drum with a black key. The four knobs control LEVEL, PAN, REV and DLY. Use LEVEL to balance sounds. Strip BOOST and the limiter have different jobs. The PARTS mixer provides the corresponding controls for the five whole parts. Individual drum levels were explored successfully during the physical session.

Why do externally played bass notes repeat after release?

Check the selected part's mixer DLY and REV sends before concluding that MIDI notes are stuck. During this session, 303B had DLY at 47%; returning it to 0 removed the repeating echoes. Reverb can leave a fading tail. A sustained or retriggering sound after tails fade still needs investigation; this example is not a universal stuck-note diagnosis.

Can each part have its own MIDI channel?

Yes. In GLO > MIDI, each part offers channels 1–16 or OFF. Default note channels are 909: 10; 808: 11; 303A: 2; 303B: 3; BREAK: 4. A part currently shares its assigned input/output note channel. NOTES OUT controls pattern note output, not permission to receive notes. Basic USB note response was heard for all five parts through Reason; arbitrary reassignment, full isolation, TRS and precise timing remain separate checks.

Which notes trigger drums and slices in Reason?

Use numeric MIDI notes when comparing software octave labels. The current drum maps are fixed. In Reason, C1 (36) triggers the kick and D1 (38) the snare on the chosen kit channel. On 909 channel 10, F-sharp1 (42) triggers closed hat and A-sharp1 (46) open hat. On 808 channel 11, G-sharp2 (56) triggers cowbell. BREAK channel 4 uses notes 36–43 for slices 1–8. These are mappings, not pitched transpositions of the drum sounds.

In the tested Drum Monkey export, notes appeared around C3. A duplicate clip was moved down two octaves to C1 for testing. Keep the original. A whole-clip shift only solves layouts with matching relative spacing; it is not proof of universal Drum Monkey compatibility. Configurable input maps remain a suggestion.

Will pressing Play in Reason start the FM1's own sequencer?

Incoming notes can trigger the FM1 while its internal sequencer is stopped. MIDI Start/Continue control transport; MIDI Clock supplies timing. For a notes-only test, keep the FM1 stopped and disable Reason's Options > Sync > Send MIDI Clock. Reason's clock-host mode also sends transport messages. The FM1's CLOCK OUT setting controls its outgoing sync. Avoid assuming an incoming-sync setting from that label. In the tested setup the FM1 became quiet after Reason stopped; this is not exhaustive transport or stuck-note qualification.

Can a Reason Combinator rotary control the FM1 without its page being open?

Yes for the tested parameter. A separate MIDI Out on channel 6, CC106 controlled 303B Delay Send, including while another FM1 page was open. CC values are 0–127. The adjacent 303B mixer addresses are CC104 Level, CC105 Reverb Send and CC107 Pan, also on channel 6; these adjacent controls have source mappings but were not individually accepted in this physical test.

Fixed CC control channels are independent of configurable note channels: keep 303B notes on channel 3 and use a separate control-only MIDI Out on channel 6. Disable Receive Notes for the control-only device in a Combinator. A labelled Combinator can make controls easier to identify; the hardware does not currently rename Reason's generic CC menus. Physical control surfaces, automation timing, pickup and the full CC map still need their own acceptance.

How do project Save, Save Default and Apply Default differ?

A brief tap of the physical SAVE button saves the project; watch for SAVED. Holding SAVE has copy/combination functions, so use a short tap for this operation. On a sound's STRIP DEFAULTS page, KNOB2 saves that sound's reusable default; KNOB3 applies its previously saved default. KNOB1 controls the overall strip enable. Do not use KNOB2 during a recall test.

303B low-pass, boost, ceiling, release and enable recalls were observed in this session. Its saved low-pass default recalled after a normal restart. All 25 current strip configurations matched across explicit project Save and a normal power cycle. These results do not prove every saved field, every default bank or complete sound/pattern/mixer persistence. The strip MIDI query reports project configuration, not the saved bank or actual audio DSP state.

How do I undo an edit?

Hold HOME and press REC for Undo; hold HOME and press PLAY for Redo. A 303A high-pass edit was physically checked through edit, Undo, Redo and final Undo, with the other strip settings unchanged. This does not claim every action has identical Undo coverage. To clear one part's sequence, select that part first, then hold SAVE and press REC. Check that the confirmation names the intended part and current pattern; press SEL to confirm or HOME to cancel. This was exercised on 303A in P1: the device reported CLEARED 303A and the note display became empty. Do not use the global CLEAR PATTERN action when you only want to clear one part. Clearing notes does not reset the selected sound or diagnose a sustained/overload-like sound; those require separate checks.

What does EXPAND mean, and why is returning to zero refused?

EXPAND upgrades the project's timing storage to the expanded rate format. The device also initializes independent lanes if required. Existing notes and starting timing are retained; it does not generate or extend notes automatically. It is currently a one-way conversion: requesting zero is deliberately refused. The rotary 0/1 presentation and generic RATE CHANGE REFUSED message are misleading; clearer action/status wording is a recorded UI issue, not a fix already present. Preserve a private project backup before conversion. Older firmware cannot be assumed to load the expanded format.

Why do all drum rows appear shortened when only the kick length changes?

Known display issue: the grid uses the selected drum's length to shade all rows. During this device test, BD was set to 6 steps, SD to 8, and reselecting BD still showed 6. Thus the settings were independent even though the shading suggested otherwise. A per-row rendering correction is recorded for review. Subsequently, switching between BD and SD during internal playback showed their position indicators cycling independently over six and eight steps. This is physical visual timing evidence; a subsequent explicit Save and normal power cycle retained BD at six steps and SD at eight, both at 1/16. Measured audio/MIDI onset timing and all-lane persistence remain unverified.

Why do all drum rows appear to share a playhead?

Known display issue: the current grid reuses the selected drum lane's position for every row. It does not yet show a separate moving playhead for each drum's own length and rate. The requested correction is recorded for review; independent kick/snare timing settings, selected-lane cycling and persistence were checked separately. A shared display highlight is not a measurement of each audio clock.

Does the delay already filter its repeats?

TONE low-pass filters the feedback loop. DLY LOW CUT, in the FX SEL list, high-pass filters the incoming delay signal. Tape mode adds saturation and a fixed low-frequency/DC filter. A separately adjustable feedback high-pass and explicit low-pass cutoff are suggestions for review; filtering alone is not a guarantee against excessive feedback.

Which ideas are still proposals?

The review list includes more accessible Clear/New Line/Mutate controls; a unified chord-or-scale-aware generation workflow; per-drum rhythm generation/mutation; tempo-synced limiter release; button-held 0.1 dB boost adjustment; drum input-note remapping; easier access to existing Level controls; performance-controller templates; custom Reason parameter-name profiles/API; feedback filtering; and clearer EXPAND and per-row length displays. Existing scale generation, chord-following infrastructure, mixer controls and CC mappings should be reused where appropriate. These notes do not authorize or claim implementation of the proposed changes.

Can I record individual sounds as stems?

Individual drum mutes exist. Automated sequential capture is a future proposal: record one continuous audio track while MIDI isolates each sound for equal 16-, 32- or 64-bar passes, then split and align those sections afterward. Automatic DAW track creation is not required. Full-device solo isolation, MIDI operation, repeatable starts, prior mute restoration and effect tails need review and hardware testing. Shared effects and compression may change when sounds are isolated. Automated capture is not yet implemented or accepted.

What did the playback overload checks establish?

At 125 BPM, short clap-strip OFF/ON/OFF comparisons added 0/32/0 dropouts. Two five-minute runs with the clap strip OFF added none, including one after Save and restart. The OFF setting persisted, the clap level was unchanged, and a separate brief listening check sounded normal. The load guard remained active. This supports a workaround for that tested setup; it does not establish a general fix, sufficient headroom, or a sole cause.

What happens next?

Review mono processing, 909 per-sample calls and meter overhead, and settled-control work before any firmware changes. A visible overload warning is suggestion 21 for review; it is not implemented by these notes. Later work must preserve limiter protection and smooth transitions, pass local and target qualification, and then receive separate hardware acceptance. Publication remains on hold. Existing MIDI CC documentation also needs a release-matched guide distinguishing verified controls from pending tests.