Skip to content

diii-neotrellis-emulator

A browser emulator for monome iii grid scripts. It runs the same Lua scripts as a NeoTrellis or monome grid, plays them through a built-in synth or MIDI, and shows each script's controls on the grid as a live manual.

Open the emulator · Documentation

LeaveSeqr in the emulator, with the Live Manual showing its controls on two screens

What you can do

  • Play scripts: the bundled ones, scripts by others (loaded from their own repositories), any GitHub or Codeberg repository, or a file from your computer.
  • Hear them: several synths at once (from soft keys to Karplus–Strong strings) and a drum kit, with reverb, delay and chorus; MIDI out to a synth or DAW, and MIDI in for scripts that follow a clock or a keyboard.
  • Read them: each script's controls are drawn over the grid, its README shows in the Guide tab and its code in the Source tab.
  • Write them: edit and run a script in the browser, or in your own editor with live reload. ↓ Device makes a smaller copy for uploading and warns about code the device won't load.
  • See them your way: NeoTrellis pads or Mechatrellis keys, dark or light, in colour or as a monochrome monome grid.

LeaveSeqr on Mechatrellis keys, with a Karplus–Strong synth open in the Sound tab

Getting started

Documentation

Scripts

My scripts, as grouped in the emulator's script list:

Scripts by others

The emulator's script list also offers scripts by other people. They are not my work and they are not part of this project or copied into this repo: scripts/external.json only holds their names and repository links, and the emulator fetches each script from its author's repository when you load it. All credit goes to the authors.

If you wrote one of these and would rather not be listed, please open an issue and I'll take it out.

The list also has my own selector, which lives in the firmware repo, and tehn's scripts from monome's iii-scripts.

Background

This started as an interactive manual for my Serpentine script. Once it could play the script, I kept going until it could run other scripts too.

I have a few DIY projects from okyeron, and it was through his Discord that I got curious about diii. I built my own version of okyeron's NeoTrellis firmware with iii and colour support: jonwaterschoot/neotrellis-monome. It also uses my fork of iii, which can upload scripts larger than about 32 KB, such as LeaveSeqr (details).

I don't own original monome gear, so the monochrome side is tested with the viii web app on my NeoTrellis grid.

[!IMPORTANT] This is a vibecoded project: I'm not a C++ developer, and I built it with Claude and Gemini in VS Code and Google Antigravity. I have still spent many hours on it and learned a lot about the ecosystem.

Please don't ask monome or the lines forum about the NeoTrellis colour features: they're mine, not monome's.

License

My own work in this repository is under the GPL-3.0 License: I want to share what I make freely with the community. I'm still looking into the licenses of the third-party parts it uses. If I've got something wrong, please let me know.