OsirisEdit
Web
Chapter 1About
OsirisEdit is where you build the wavetables that Osiris plays. This edition runs in a browser, so it opens on whatever machine you happen to be sitting at.
1.1 OsirisEdit and Osiris
Osiris is a Modbap wavetable oscillator. It reads its wavetables from a Micro SD card, arranged in a structure called a WavPak: four folders named A, B, C and D, each holding up to 32 wavetables.
OsirisEdit is the editor that makes them. You draw or generate waveforms, arrange them into a wavetable, and package the result into that A to D structure ready for the card. Nothing else is required: no account, no plugin host, no install.
1.2 Why there is a web edition
The original OsirisEdit was a Mac application built for Intel machines, and on Apple Silicon it depends on Rosetta 2. As Apple retires Rosetta 2, that binary eventually stops running on new Macs. Windows users, meanwhile, never had a version at all.
Rebuilding for the browser answers both at once. The editor now opens on a Mac, a Windows machine, a Linux box or an iPad, from a link, and it keeps opening after the next platform change.
1.3 What this manual covers
This is the complete manual for the web edition. It stands on its own: everything you need to build a WavPak is here.
Two older documents still exist and are linked at the top of this page. The original OsirisEdit User Manual, v1, is the Mac application's manual, and its concepts are still correct. The Web Edition Addendum is the short document that first described what the browser version added. If the three ever disagree, this manual is the one that describes the software you are using.
Chapter 2Getting around
2.1 Opening it
Go to osirisedit.modbap.com. That is the whole installation procedure. It is free, there is no sign in, and nothing you make is uploaded anywhere: the editing, the generating and the packaging all happen in your own browser, and files land in your normal downloads folder.
2.2 The words
Osiris has its own vocabulary and this manual uses it exactly. It matters most for the word bank, which means something larger here than it did in the software OsirisEdit grew out of.
| Term | What it is |
|---|---|
| Waveform | 256 samples. One cycle. The thing you draw in the editor. |
| Wavetable | A set of waveforms, normally 32 of them. The unit of work: what you edit, what you save, what you collect in the Library. |
| Bank | One letter of the SD card structure: A, B, C or D. Up to 32 wavetables per letter. |
| WavPak | The whole card structure, all four letters. Up to 128 wavetables. |
2.3 The header
Across the top, left to right:
- New Wavetable clears back to a starting table.
- Load Wavetable opens a saved wavetable WAV back into the editor.
- Save Wavetable writes the current 32 waveforms out as one WAV. See 10.1.
- Convert → WavPak opens the Convert dialog. See chapter 9.
- ⚡ Generate fills all 32 waveforms at once. See chapter 5.
- Load Wave and Save Wave work on the single selected waveform rather than the whole table.
- Manual holds this manual, the original PDF and the addendum.
- ◖ Theme switches light and dark.
The m. mark at the right hand end goes to Modbap Software.
2.4 The transport
The strip under the header auditions what you are making.
- ▶ Play starts and stops the oscillator.
- Vol and Freq set monitoring level and pitch. They affect what you hear, never what you save.
- Morph chooses how the playhead moves through the table: Z (1-D) sweeps along the 32 waveforms in order, XY (2-D) reads the table as the 8 by 8 grid described in 6.1.
- Interpolate crossfades between neighbouring waveforms instead of stepping between them. Off is the harder, more digital sound.
- Z is the position itself. Drag it to hear the table sweep.
2.5 The tabs
Six pages, one row of tabs:
They are views onto the same wavetable, not separate documents. Draw on one, and the waterfall, the grid and the Library snapshot all reflect it.
2.6 Light and dark
◖ Theme toggles between the warm paper theme and a dark one. The choice is remembered in your browser, so it survives a reload. Nothing else about the app changes.
Chapter 3The Waveform Editor
One waveform, 256 samples wide, drawn by hand. This is the page the whole app is built around.
3.1 The drawing tools
Pick a tool, then drag across the canvas. The vertical axis is amplitude, clamped to plus and minus one; the horizontal axis is the 256 sample positions of one cycle.
| Tool | What it does |
|---|---|
| Pencil | Draws freehand, joining each pointer position to the last with a straight segment. The precise tool. |
| Brush | Pulls the curve toward the pointer over a soft neighbourhood rather than at a single point. Use it for gentle shaping. |
| Grab | Holds one horizontal position and moves it vertically. Good for lifting or dropping a single feature without redrawing around it. |
| Line | Draws one straight segment between where you pressed and where you released. Ramps, saw edges, hard corners. |
| Smooth | Nudges the curve gently around the pointer. Hold and work over an area to build the move up. |
| Eraser | Flattens back to zero along the drag. |
3.2 The harmonic editor
Below the waveform is its spectrum. Drag the bars to set harmonic magnitudes, with DC at the left. Phase is preserved as you drag, so you are changing how much of each harmonic there is, not where it sits.
The two views are the same waveform. Draw in one and the other follows. Building a sound by pulling up the third and fifth harmonics and then cleaning the result up with the Pencil is a perfectly normal way to work.
3.3 The wavetable strip
Under the editor sits the whole wavetable, 32 waveforms. Click one to select it: the editor, the harmonics and the effect chain all follow the selection. The strip is how you keep an eye on the shape of the sweep while working on a single frame of it.
3.4 Shuffle and Duplicate to All
Shuffle reorders the wavetable. The same 32 waveforms, a different journey through them, which is a fast way to find a morph you would not have arranged by hand.
Duplicate → All copies the selected waveform across all 32 slots, effect chain included. It is the usual starting point for building a table deliberately: flatten everything to one shape, then edit outward from there.
3.5 Load Wave and Save Wave
Load Wave and Save Wave act on the selected waveform alone, as a single cycle WAV. Load Wavetable and Save Wavetable act on all 32. Keep the two pairs straight and the rest follows.
Chapter 4The Effect Editor
4.1 How the chain works
Every waveform carries its own effect chain. The Effect Editor shows the source waveform, the post-effect waveform, and twelve sliders between them, applied in order, top to bottom.
Effects are non-destructive until you say otherwise. The source waveform is what you drew; the post-effect waveform is what you hear, what the waterfall shows, and what gets written when you save. Move a slider back to the middle and the original is still there underneath.
4.2 The twelve effects
| Effect | What it does |
|---|---|
| Pre-Gain | Level into the chain. Bipolar: it cuts as well as boosts, and drives everything after it. |
| Phase Shift | Rotates the cycle. Silent on its own, audible as soon as neighbouring waveforms differ. |
| Harmonic Shift | Moves the spectrum up or down the harmonic series. Inharmonic, bell-like results at anything but whole steps. |
| Comb Filter | Adds a delayed copy of the cycle to itself. Hollow, phasey notches. |
| Ring Modulation | Multiplies the waveform against a second tone. Metallic, clangorous. |
| Chebyshev Wavefolding | Folds the peaks back on themselves. Adds harmonics fast and gets loud. |
| Sample & Hold | Freezes the value in steps across the cycle. Stair-stepped, lo-fi. |
| Quantization | Reduces amplitude resolution. Bit crushing, on the amplitude axis rather than time. |
| Slew Limiter | Limits how fast the curve may move. Rounds corners and softens edges. |
| Lowpass Filter | Rolls off the upper harmonics. |
| Highpass Filter | Rolls off the lower harmonics, DC included. |
| Post-Gain | Level out of the chain. Bipolar, and the place to recover headroom after folding. |
4.3 Cycle, Normalize, Randomize
- Cycle (force one period) makes the waveform end where it began. Osiris loops every waveform, so a mismatched start and end is a click on every cycle. Use this after freehand drawing.
- Normalize scales the waveform up to full range without changing its shape.
- Randomize throws new values at the effect chain for the selected waveform. Roughly half the slots land at zero and the rest at weighted random amounts, so the result is usually a few strong effects rather than a wall of twelve. It is a good way to find settings you would not have chosen.
4.4 Bake and Clear
Bake into wave writes the post-effect result into the source waveform and resets the sliders. The sound stays the same and the chain is free for a second pass. This is how you stack more processing than twelve sliders allow.
Clear effects resets the chain and leaves the source waveform alone.
Chapter 5Generate
New in the web edition. ⚡ Generate fills all 32 waveforms with generated content in one click, so a table starts as something to react to instead of a blank canvas.
5.1 The five generators
| Generator | What it makes |
|---|---|
| Harmonic Morph | Interpolates one spectrum into another across the table. Smooth and musical, the safest starting point. |
| Additive Random | Random harmonic stacks with falloff, lightly correlated from waveform to waveform. Evolving textures. |
| Catalog Shapes | Morphs between classic waveforms: sine, saw, square, pulse, triangle, formant. |
| Glitch / Chaos | Sparse bright spectra with sample glitches thrown in. Harsh and digital. |
| FM / Phase Dist | A carrier modulated by a swept ratio and index. Metallic, and it moves a lot across the table. |
5.2 Coherence
One slider, and the most important control in the dialog. It sets how smoothly the 32 waveforms evolve.
- At 1, the table glides: each waveform is close to its neighbours and the morph is continuous.
- At 0, each waveform is independent and sweeping the table jumps rather than glides.
- The default, 0.70, keeps a recognisable journey with enough variation to be interesting.
5.3 Re-roll
↻ Re-roll same generator runs the same generator again with a fresh random set. Same character, different table. Keep pressing it until something is worth editing, then close the dialog and edit it.
Chapter 6Grid XY and Waterfall
6.1 Grid XY View
The same 32 waveforms, laid out as a grid instead of a line. Click a cell to select that waveform. Drag the pad to morph across the grid; it wraps at the edges, so movement never dead ends.
This is a different way to think about a wavetable: not a sweep from start to end, but a surface you move around on. Switch the transport to XY (2-D) to hear it as you drag.
6.2 Waterfall View
All 32 post-effect waveforms stacked front to back, the classic wavetable picture. Tilt and Height change the viewing angle and the vertical exaggeration.
It is the fastest way to see whether a table actually develops. A waterfall that looks like 32 copies of the same ridge will sound like one waveform no matter how far you sweep.
6.3 Hearing the morph
The views show the table. The transport plays it. Set Morph to Z (1-D) and drag Z for the straight sweep, or XY (2-D) and drag the grid pad for the surface. Turn Interpolate off if you want to hear the individual frames step past.
Chapter 7Import Audio
7.1 Loading a file
Browse WAV/audio… takes any audio file the browser can decode and slices a window of it across the 32 waveforms. The upper display is the source file; the lower one is what will land in the wavetable.
7.2 Gain, Offset, Zoom
- Offset moves the window through the file. This is what you use to find the part worth importing.
- Zoom sets how much of the file that window covers. Low values take a short slice and stretch it; high values take a long slice and compress it.
- Gain scales the level in decibels before it is written.
Watch the lower display while you move these. Aim for a window where the material actually changes across its length: that change is the morph.
7.3 Replace, Mix, Ring Mod
| Mode | What it does |
|---|---|
| Replace All | The imported audio becomes the wavetable. The current one is discarded. |
| Mix | The imported audio is added to what is already there. |
| Ring Mod | The imported audio is multiplied against what is already there. Sparser and stranger than Mix. |
Import into wavetable commits it. Cancel clears the loaded file and leaves the wavetable alone.
Chapter 8The Library
New in the web edition, and the reason a full WavPak no longer takes an afternoon. The Library is a holding area for finished wavetables, and a one-click packager for the lot.
8.1 Collecting wavetables
- + Add current wavetable takes a snapshot of the 32 waveforms as they stand.
- Auto-collect on Generate / Save does it for you: every time you generate or save a wavetable, a copy drops into the Library. Turn this on before a session and the set builds itself.
- + Add saved .wav files… pulls in wavetables you saved earlier, including ones from the desktop app.
- The ✕ on an entry removes it. Clear all empties the Library.
A snapshot is a copy. Editing the wavetable afterwards does not change what is already in the Library.
8.2 Bank letters and the ceiling
Each entry is labelled with the bank letter it will land in. The first 32 fill A, the next 32 fill B, and so on to D. The counter reads n / 128, which is the whole WavPak: four letters of 32.
8.3 Package to WavPak
Package → WavPak (.zip) writes the entire Library into the Osiris folder structure and downloads it as a single zip. It packages at the Osiris standard format: 16-bit, 44.1 kHz, 32 waveforms of 256 samples, separated into A, B, C and D.
- Open the Library tab and turn on Auto-collect on Generate / Save.
- Hit ⚡ Generate, pick a generator, set Coherence, and edit the result if you want to.
- Repeat. Each generated or saved wavetable drops into the Library on its own.
- Stop at 32 for one bank letter, 64 for two, or 128 for the full set.
- Package → WavPak (.zip), then unzip onto the SD card.
Chapter 9Convert to WavPak
Convert is the original app's batch export, and it does the same job here. Use it when you need control over the format rather than the standard one.
9.1 The settings
| Setting | Choices |
|---|---|
| Sample Rate | 8000 to 96000. Written into the file header; the sample data itself is not resampled, exactly as the original app behaved. |
| Bit Depth | 8, 16 or 32. This one is a real requantization, so 8-bit genuinely sounds like 8-bit. |
| Bank Length | 16, 32 or 64 waveforms per wavetable. Osiris expects 32. |
| Wave Length | 8 to 2048 samples per waveform. Osiris expects 256. |
The queue works like the Library: + Add current wavetable, + Add saved .wav files…, Clear queue, up to 128 wavetables. Convert & download .zip writes the lot.
9.2 Separating into A to D
With Separate into WavPak banks A–D checked, the zip contains Osiris/A, Osiris/B, Osiris/C and Osiris/D, filled 32 wavetables per letter, capped at 128. That is the card layout, ready to unzip.
Unchecked, you get the converted files without the folder structure, which is what you want when you are re-encoding a handful of wavetables rather than building a card.
9.3 Faithful and Corrected
The original Convert has a quirk. At a Wave Length above 256, or a Bank Length above 32, it reads past the end of its waveform buffers and writes a specific tail into the file.
Faithful, the default, reproduces that behaviour exactly. Banks you built years ago on the desktop app stay bit identical when you rebuild them here.
Corrected mode zero-pads and clamps instead, giving clean results at those settings.
9.4 Onto the SD card
Unzip the download onto the Micro SD card so the A, B, C and D folders sit where Osiris expects them, then put the card back in the module. Audio on the card is 16-bit, 44.1 kHz.
Chapter 10Files, fidelity, help
10.1 What Save Wavetable writes
One mono WAV containing all 32 waveforms end to end, 256 samples each, at 44.1 kHz and 16-bit. It is the post-effect result that gets written, not the source waveforms, so what you saved is what you heard.
This is the working file. Load Wavetable reads it back, and the Library and the Convert queue both accept it.
10.2 File names
Saved wavetables are named Osiris_WT_01.wav, Osiris_WT_02.wav and so on, counting up through the session. Each file is one wavetable. It is never a bank, whatever the file browser makes you feel.
10.3 Fidelity to the original
The wavetable engine is a port of the original, not a reimplementation of it. All twelve effects, the FFT conventions and the harmonic model were verified against the original C++ to within floating point rounding, on the order of 1e-5.
In practice: a wavetable built here from the same input is intended to match what the desktop app produced from it.
10.4 The desktop edition
The Mac application still exists and still works where it runs. Its manual still describes its own behaviour correctly. Wavetables move between the two in either direction, since both write the same WAV format.
The web edition is where the new features are, and it is the version that survives the next platform change. If you are choosing, choose this one.
10.5 Getting help
Support runs through the Modbap Hub. Open a case there and it keeps your question, the answer, and anything attached to it in one place both sides can still read later.