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
X0X EXTENDED EDITION / EXPERIMENTAL 0.1.5-beta1 / 19 OCTOBER 2026
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.
Search current release guidance and the complete illustrated history.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
The WAV holds the slices. The markers tell the emulator when each one should play.
ILLUSTRATED FEATURE GUIDE / LOCAL DEVELOPMENT
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.
| Degree | Chord | Chord tones |
|---|---|---|
| 1 · I | C major | C · E · G |
| 2 · ii | D minor | D · F · A |
| 3 · iii | E minor | E · G · B |
| 4 · IV | F major | F · A · C |
| 5 · V | G major | G · B · D |
| 6 · vi | A minor | A · C · E |
| 7 · vii° | B diminished | B · D · F |
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.
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.
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.
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.
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.
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.
| Item | Browser limit |
|---|---|
| WAV / markers | 16 MiB / 256 KiB |
| Slices / overlapping tails | 64 / 8 voices |
| Audio bank | 30 seconds and 1,440,000 source frames |
| Musical loop | 60 seconds |
| Audio | Mono or stereo, 8–48 kHz |
At tempos that exceed the overlap capacity, sync stops with an explanation. Lower the tempo and arm sync again.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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 ↗
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
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.
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.
| Tick | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|
| Pitch / fretting | D | F | A | D | F | A | D | F |
| Gate / picking | Play | Rest | Rest | Play | Rest | Play | Rest | Rest |
| New note heard | D | — | — | 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
_slices.wav and _markers.json from that conversion.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.
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.
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.
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.
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.
| Control | CC | Parameter |
|---|---|---|
| Enable expanded rates, stopped | 111 | 1135 |
| Exact division ID0–20 | 112 | 1136 |
| Family0–3 | 113 | 1137 |
| Step/bar boundary0–1 | 114 | 1138 |
| Hysteresis0–2 | 115 | 1139 |
| Family-safe sweep ABI1 | 116 | 1140 |
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.
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.
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.
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.
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.
On the device's HOME pattern screen, tap the first five black keys from the left to mute or unmute the five parts:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.