OsirisEdit · Web edition

OsirisEdit
Web

The wavetable editor for Osiris
Manual v1.0 Web edition Original manual, PDF Web edition addendum

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.

On an iPad The editor works with touch, but packaging a WavPak downloads a .zip, and getting a zip onto a Micro SD card is easier on a desktop. Build wherever you like, package where the card reader is.

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.

TermWhat it is
Waveform256 samples. One cycle. The thing you draw in the editor.
WavetableA set of waveforms, normally 32 of them. The unit of work: what you edit, what you save, what you collect in the Library.
BankOne letter of the SD card structure: A, B, C or D. Up to 32 wavetables per letter.
WavPakThe whole card structure, all four letters. Up to 128 wavetables.
If you know WaveEdit WaveEdit called the 32-waveform set a "bank". Osiris does not. Here that set is a wavetable, and "bank" is reserved for the A to D grouping on the card.

Across the top, left to right:

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.

2.5 The tabs

Six pages, one row of tabs:

Waveform EditorEffect EditorGrid XY ViewWaterfall ViewImport AudioLibrary

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.

ToolWhat it does
PencilDraws freehand, joining each pointer position to the last with a straight segment. The precise tool.
BrushPulls the curve toward the pointer over a soft neighbourhood rather than at a single point. Use it for gentle shaping.
GrabHolds one horizontal position and moves it vertically. Good for lifting or dropping a single feature without redrawing around it.
LineDraws one straight segment between where you pressed and where you released. Ramps, saw edges, hard corners.
SmoothNudges the curve gently around the pointer. Hold and work over an area to build the move up.
EraserFlattens 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

EffectWhat it does
Pre-GainLevel into the chain. Bipolar: it cuts as well as boosts, and drives everything after it.
Phase ShiftRotates the cycle. Silent on its own, audible as soon as neighbouring waveforms differ.
Harmonic ShiftMoves the spectrum up or down the harmonic series. Inharmonic, bell-like results at anything but whole steps.
Comb FilterAdds a delayed copy of the cycle to itself. Hollow, phasey notches.
Ring ModulationMultiplies the waveform against a second tone. Metallic, clangorous.
Chebyshev WavefoldingFolds the peaks back on themselves. Adds harmonics fast and gets loud.
Sample & HoldFreezes the value in steps across the cycle. Stair-stepped, lo-fi.
QuantizationReduces amplitude resolution. Bit crushing, on the amplitude axis rather than time.
Slew LimiterLimits how fast the curve may move. Rounds corners and softens edges.
Lowpass FilterRolls off the upper harmonics.
Highpass FilterRolls off the lower harmonics, DC included.
Post-GainLevel out of the chain. Bipolar, and the place to recover headroom after folding.

4.3 Cycle, Normalize, Randomize

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.

Baking is the one destructive step Everything else in the effect chain can be undone by moving a slider back. Baking cannot. Save the wavetable first if you might want the version before.

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

GeneratorWhat it makes
Harmonic MorphInterpolates one spectrum into another across the table. Smooth and musical, the safest starting point.
Additive RandomRandom harmonic stacks with falloff, lightly correlated from waveform to waveform. Evolving textures.
Catalog ShapesMorphs between classic waveforms: sine, saw, square, pulse, triangle, formant.
Glitch / ChaosSparse bright spectra with sample glitches thrown in. Harsh and digital.
FM / Phase DistA 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.

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.

Generate replaces the whole table All 32 waveforms are overwritten. If the current table is worth keeping, save it or add it to the Library before you generate.

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

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

ModeWhat it does
Replace AllThe imported audio becomes the wavetable. The current one is discarded.
MixThe imported audio is added to what is already there.
Ring ModThe 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.

Cycle after importing Sliced audio rarely ends where it began. Run Cycle (force one period) on waveforms that click.

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

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.

When to use Convert instead The Library packages at the standard format only. If you need a different sample rate, bit depth, wavetable length or wave length, use Convert, which exposes all of them.
Building a full WavPak
  1. Open the Library tab and turn on Auto-collect on Generate / Save.
  2. Hit ⚡ Generate, pick a generator, set Coherence, and edit the result if you want to.
  3. Repeat. Each generated or saved wavetable drops into the Library on its own.
  4. Stop at 32 for one bank letter, 64 for two, or 128 for the full set.
  5. 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

SettingChoices
Sample Rate8000 to 96000. Written into the file header; the sample data itself is not resampled, exactly as the original app behaved.
Bit Depth8, 16 or 32. This one is a real requantization, so 8-bit genuinely sounds like 8-bit.
Bank Length16, 32 or 64 waveforms per wavetable. Osiris expects 32.
Wave Length8 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.

At standard settings they are identical The quirk only appears above 256 samples per waveform or above 32 waveforms per wavetable. At the Osiris standard of 32 by 256, Faithful and Corrected produce the same file, so the choice does not matter.

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.