X0X

0.1.32-straightbeta preview · separate browser saves · no device connection

Choose your emulator version

Straight time and per-sound triplet overrides. Experimental preview with separate saved data.

Save changes you want to keep before switching. Switching versions stops playback and opens the selected emulator. Each version keeps its own saved projects, break slots and slice imports.

Try straight time and a triplet exception

Experimental 0.1.32 preview. The existing emulator remains available here. This preview has separate saved projects, break slots and slice imports. It does not read or change the existing emulator’s saves.

Stop playback, open GLO → SYNC RATE MODE → STRAIGHT. Select 909 BD and use SEQ: RATE should move from 1/16 directly to 1/8. For SD, choose EDIT → STRIP SYNC → RATE MODE → STR+TRIPLET, then use SEQ to choose 1/16T. Turn SELECT to move through menu rows; ALGORITHM changes the highlighted GLO value. On the STRIP SYNC page, KNOB1 changes RATE MODE.

Step-by-step tutorials · Firmware & known limits

Switch on for read-only engine feedback: global mode and the first pattern’s 909 kick/snare rates.

Save after changes you want to keep. Preview saves use LAN3 when straight/override features are activated. No physical MIDI, timing or listening acceptance is implied by browser checks.

Turn your phone sideways for bigger controls.

Off. Sound starts when you switch it on.

909 kick · sound strip

Shape each selected sound before the mix. Use the instrument pads or PLAY to audition.

Switch on the FM1 panel to check sound-strip support.

Kick processing

Limiter release: 80 ms while editing this strip. Floor booster is the existing 0–24 dB boost; the limiter uses a sample-peak ceiling. Boost applies when the strip is enabled.

808 paired tracks: RS/Clave tails and CP/Maracas tails are each summed before one strip. The selected sound’s Rev/Dly settings are used when active. BREAK currently has a mono source.

Gain reduction unavailable.

Waiting for the engine.

Arrangement · progression metadata

Arrange five pattern parts into blocks. Chord information is metadata in this build; bass-follow and pad connections are pending.

Switch on the FM1 panel to check arrangement support.

Arrangement settings

Length changes require stopped playback. To keep existing chord degrees when switching to pentatonic, choose a seven-note parent first, then change the mode. The parent can be chosen in a seven-note mode; it takes effect for pentatonic chords. Chromatic mode has no degree chord.

Blocks 1–16

Editing — · Playing — · Queued —

Block editor

Playing chord metadata unavailable.

Waiting for the engine.

WAV slices + sound settings

Import exact cuts and trigger positions for emulator audition. Up to 64 slices, mono/stereo WAV, 30 seconds of audio. Sound settings are applied in this browser. This preview lane is separate from the FM1’s three flash slots and legacy eight-slice BREAK controls.

Choose WAV + CSV/JSON. Audio stays on this computer; no hardware upload occurs.

Sync starts both transports, or joins the next 4-beat bar if FM1 is playing. Instrument PLAY then controls both. Slice pitch stays unchanged.

Open Slice Profiles to detect and shape hits, then export a review project. Import that JSON here with the same WAV to play its sounds alongside the emulator instruments. This preview uses the 0.1.32-straightbeta engine. These slice sound settings remain a browser feature; the physical FM1 does not read Slice Review JSON.

Select a slice

Apply commits this slice's edits and stops slice playback; select another slice to recall its settings. Inactive slices remain auditionable. Length stops at the next slice start or WAV end. Hold/Decay and Level use the same renderer as Slice Profiles. Save import keeps audio and settings in this browser; review JSON needs its matching WAV. Marker export is cuts-only.

Stopped

Marker formats and REX conversion

CSV uses seconds: Slice,Start,End,Time. End and Time are optional: End defaults to the next start, Time to Start. JSON supports sampleRate, loopDuration, optional bpm, and slices: [{startSample, endSample, time, label}]. Source positions are WAV samples; time is the original onset in seconds. WAV sample rate must match the marker sampleRate.

Use the dashboard REX converter for original loops, or import its matching _slices.wav and _markers.json. Old Slice,Duration,Total CSV files do not contain original onset timing and are rejected; reconvert the REX. Read the illustrated FAQ. No cuts are guessed or reduced to eight.

Play with FM1 follows the internal sequencer clock and tempo, repeating the loop with its original beat length. It moves slice onsets while retaining their original pitch and duration; slower tempos can reveal gaps, faster tempos overlap tails. It does not stretch sustained audio. Physical FM1 storage is not implemented. Overlaps use up to eight voices and are validated. Source audio is not normalized; preview level is separate. Packed shaped slices have a 1,440,000-frame limit; long overlapping cuts may need shortening. No audio is truncated to fit. Original timing is rounded only to the nearest 44.1 kHz output sample.

Your breaks

Load your own loops into the three slots, as you would upload them to the FM-1: one file per loop (WAV, AIFF or MP3), up to 16 in a slot, about 7 seconds per slot. X0X works out whether a loop is 1, 2 or 4 bars. To play one, choose BREAK with ALGORITHM, press EDIT until the LOOPS page, and turn KNOB 1. Your loops stay in this browser.

Mouse and touch

  • Drag a knob up or down, or use the scroll wheel over it.
  • Click or touch buttons and keys. Several fingers at once work on a touch screen.
  • Combinations with a mouse: Shift-click (or right-click) a button to hold it down, click again to let go.

Keyboard

  • White keys 1–8: Q–I, 9–16: A–K. Black keys 1–11: 1–0, -.
  • Space PLAY, Enter REC, Shift SEL (held), Esc HOME, Z / X OCT− / OCT+.
  • ↑ ↓ turn SELECT.

Saving

SAVE keeps your patterns in this browser, as the FM-1 keeps them in its memory. Factory reset forgets them. It is the firmware, not a recording: what you hear is X0X running, at the FM-1's 44.1 kHz. The idea of running FM-1 firmware in the browser comes from Groove OS's emulator.

Based on X0X by Charles Vestal and contributors and Felucca by Leo Kuroshita. Credits · Licenses · Matching firmware source.