Beta Test · Sampler Engine

TAMBURI
WEB

Installation guide for beta testers.
A sampler engine for ASSEMBLY-7 controlled via browser — no panels inside Max, everything runs in your browser.

✓ SuperCollider 3.x ✓ Max/MSP ✓ Node.js (any version) ✓ Chrome o Firefox
⚠ BETA RELEASE
This is an experimental feature under active development. I cannot guarantee identical behaviour across all systems, sample formats, or OS versions. If something doesn't work, write to [email protected] and I'll look into it. Thank you for testing.
00 — The Modules

7 SAMPLER VOICES

Each module is an independent sampler voice with a fixed stereo position and its own timbral character. The result depends entirely on the sample you load — these are the roles each slot is designed for.

MODULE PAN BEST WITH
KICK center Kicks, sub thuds, low toms, bass hits
PULSAR hard R Hi-hats, cymbals, ticks, noise bursts, clicks
FM1 hard L Toms, cowbells, rim shots, tuned perc, synth hits
ABSTRACT L center Field recordings, noise, granular debris, found sound
ZWEET R center Snares, claps, body hits, rimshots, brushed percussion
GLITCH far L Glitches, stutters, digital artifacts, crackles, bit errors
LPG far R Congas, bongos, plucks, tuned hits, resonant strikes
This engine produces no internal synthesis. Every module needs a sample loaded to make sound. No sample = silence.
💡 Pan positions create the spatial image regardless of content — experiment freely.
⚠ BETA RELEASE
This is an experimental feature under active development. I cannot guarantee identical behaviour across all systems, sample formats, or OS versions. If something doesn't work, write to [email protected] and I'll look into it. Thank you for testing.
00 — Contents

FOLDER CONTENTS

You downloaded a folder with these files. Don't move anything.

# folder structure Assembly-7/ ├── Assembly-7.maxproj ← open this in Max ├── Launch_Assembly7_MAC.command ← Mac launcher (all engines) ├── Launch_Assembly7_WIN.bat ← Windows launcher (all engines) ├── Kill_Assembly7_MAC.command ← Mac kill script ├── Kill_Assembly7_WIN.bat ← Windows kill script ├── ______Engine_7/ │ ├── engine_7_sampler.scd ← SuperCollider engine │ ├── server.js ← Node server │ ├── index.html ← browser GUI │ ├── package.json │ ├── samples/ ← created on first sample load │ ├── stems/ ← recordings end up here │ └── _______Start_from_here/ ← Engine 7 standalone launchers │ ├── Launch_Engine7_MAC.command │ ├── Kill_Engine7_MAC.command │ ├── Win Commander/ │ │ ├── Launch_Engine7_WIN.bat │ │ └── Kill_Engine7_WIN.bat │ └── ___Install_guide_Engine_7_only/ │ └── install_guide_en.html ├── code/ ← JS painters ├── patchers/ ← Max patchers ├── other/ ← other engines (1–6) ├── media/ └── stems/
The samples/ folder inside ______Engine_7 is created automatically when you first load an audio file.
01 — Launch

START ENGINE 7

Launch scripts handle everything: SuperCollider starts in the background, the Node server boots, and the browser GUI opens automatically. You only interact with the Assembly-7 interface.

★ From the root folder Recommended

From the main Assembly-7 folder, double-click the launcher for your platform. It will ask which engine to start — choose Engine 7.

Mac
Launch_Assembly7_MAC.command

If macOS asks for permission, right-click → Open → Open.

Windows
Launch_Assembly7_WIN.bat

If Windows SmartScreen appears, click "More info" → "Run anyway".

↳ Engine 7 only Alternative

If you only use Engine 7, you can launch it directly from ______Engine_7/_______Start_from_here/:

Mac
______Engine_7/_______Start_from_here/Launch_Engine7_MAC.command
Windows
______Engine_7/_______Start_from_here/Win Commander/Launch_Engine7_WIN.bat

In both cases the launcher starts everything automatically:

What happens What to expect
1 Audio Engine SuperCollider boots in the background and loads engine_7_sampler.scd automatically. You won't see the SuperCollider window.
2 Node Server The local server starts in the background.
3 Browser GUI The interface opens in a clean application-like window. Wait for the green CONNECTED dot.
Then open Assembly-7.maxproj in Max. The sequencer connects automatically — no need to configure anything.
Do not close the launcher terminal window while the engine is running. To stop, use the kill script (see section 08).
02 — Node.js

INSTALL NODE.JS

Node.js is required for the server. You only need to install it once. Check if you already have it:

0
Check if Node.js is installed
node --version

If you see a version number (e.g. v18.0.0) you're good — skip this section.

Install Node.js

macOS — with Homebrew (recommended):

brew install node

macOS — without Homebrew:

Download the installer from nodejs.org → choose LTS → run the .pkg file.

Windows:

Download from nodejs.org → choose LTS → run the .msi installer → restart PowerShell after installing.

03 — Troubleshooting

MANUAL LAUNCH

If the launcher doesn't work on your system, you can start each component by hand. Follow this order — each step must complete before starting the next.

1
SuperCollider — load the audio engine

Open SuperCollider. Open the file ______Engine_7/engine_7_sampler.scd.

Press Cmd + Return (Mac) or Ctrl + Return (Windows) to evaluate.

Wait until the Post Window shows:

TAMBURI WEB LOADED
Only one engine at a time. If another SC engine is running, reboot the server first: type s.reboot in SC, then re-evaluate the sampler file.
2
Terminal — start the Node server

Open Terminal (Mac) or PowerShell (Windows). Navigate to the engine folder:

cd /path/to/Assembly-7/______Engine_7
💡 On Mac you can drag the folder into Terminal after typing cd (with a space) to autocomplete the path.

First time only — install dependencies:

npm install

Then start the server:

node server.js

Keep Terminal open — do not close it.

3
Browser — open the GUI

Open Chrome or Firefox and go to:

http://localhost:8080

The dot in the top right must be green — CONNECTED.

If it's red, check that node server.js is still running in Terminal.

4
Max/MSP — open the project

Open Assembly-7.maxproj. Start the sequencer. It connects to SuperCollider automatically.

💡 If the port is busy after a crash, kill it manually before restarting:
Mac: kill $(lsof -ti:8080)   Win: Stop-Process -Id (Get-NetTCPConnection -LocalPort 8080).OwningProcess -Force
04 — Usage

LOADING A SAMPLE

1
Click ▲ LOAD SAMPLE

On any of the 7 modules (KICK, PULSAR, FM1, ABSTRACT, ZWEET, GLITCH, LPG). The system file picker will open.

Use WAV or AIFF files, preferably 44100 Hz or 48000 Hz. MP3s work but may produce artefacts with some modes.
2
Wait for buffer loaded

At the bottom of the GUI you'll see:

[KICK] buffer loaded — 88200 frames @ 44100Hz

Only after this message will the module produce sound.

3
Choose the MODE and adjust the knobs

See the MODES section below for details.

4
Test with TRIG

The TRIG button triggers the module manually. The Max sequencer triggers automatically just like with the other engines.

!
Swapping samples while the sequencer is running

If you load a new sample (or unload one) while the sequencer is active, stop and restart the sequencer from Max to make sure the new buffer is picked up cleanly. This is normal behaviour — the running synth voices hold a reference to the previous buffer until retriggered.

💡 Knob changes and mode switches take effect immediately without stopping the sequencer. Only sample swaps require a restart.
05 — Sample Guide

CHOOSING SAMPLES

Not all samples work equally well in every mode. Here's what to keep in mind.

Best formats

WAV or AIFF at 44100 Hz or 48000 Hz, mono or stereo. Avoid very compressed MP3s — they can introduce artefacts especially with PITCH and STRETCH modes.

!
Short samples (kicks, snares, hits < 0.5s)

These work best in PLAY mode. Keep POS near 0 to start from the attack transient — moving it too far right will skip into silence.

In PITCH mode with short samples: keep PDSP low (0–0.1) otherwise the pitch scatter will smear the transient.

!
Long samples (loops, textures, tails > 1s)

Great for STRETCH mode — slow them down without changing pitch. Use POS to choose which part of the file to play, and DEC to control how much of it you hear per trigger.

In PITCH mode on long samples: RATE below 1.0 gives a slow dreamy playback, above 1.0 goes fast and chippy.

POS — the most important knob

POS sets where in the buffer each trigger starts reading. Always check POS first if a module seems silent — it may be reading from a silent part of the file.

💡 Turn POS slowly from 0 while the sequencer is running. You'll hear different sections of the sample fire on each hit.
DEC — shape the tail

DEC controls the envelope decay. On percussive sounds keep it short (0.1–0.3). On pads or textures raise it to let the sample breathe. If two triggers overlap and create a mess, lower DEC.

STRETCH mode tips

RATE below 1.0 = slower playback, pitch stays the same. 0.5 = half speed. 0.25 = quarter speed — good for turning a short hit into a long drone. Above 1.0 = faster, good for stutters.

Extreme RATE values (below 0.2 or above 3.0) can produce artefacts depending on the sample length — this is expected behaviour.
06 — Modes

SYNTHESIS MODES

Each module can run in 4 different modes. Switch MODE using the 4 buttons at the top of the panel.

PLAY
PlayBuf one-shot. The sample plays from position POS at speed RATE. Simple and direct.
→ for percussive samples, hits, dry strikes
PITCH
Playback with pitch shift independent from speed. PRTO controls the pitch ratio (0.25x–4x), PDSP adds dispersion.
→ for transpositions, pitch drums, effects
STRCH
Time stretch: changes playback speed without affecting pitch. RATE controls the stretch, pitch is compensated automatically.
→ to slow down or speed up while keeping the pitch
07 — Parameters

KNOB REFERENCE

Drag up/down to change value. Double-click to reset to default.

All values are normalized 0–1 (except RATE: 0.1–4).

— Common to all modes —

AMP
Output amplitude of the module
ATK
Envelope attack (0.001s – 0.5s)
DEC
Envelope decay (0.02s – 8s)
POS
Start position in the buffer (0 = start, 1 = end)
RATE
Playback speed (1.0 = normal, 2.0 = double, 0.5 = half)
LPF
Lowpass filter (200Hz – 18kHz)
HPF
Highpass filter (20Hz – 2kHz)
VERB
Mix del riverbero (0 = dry, 1 = wet)

— PITCH and STRETCH modes only —

PRTO
Pitch ratio (0.25x – 4x, centre = 1x = unison)
PDSP
Random pitch dispersion for chorus/detune
PITCH and STRETCH knobs appear only when the corresponding mode is active.
08 — Stop

STOP & RESTART

Stop the engine — use the kill script

Double-click the kill script:

# from the root Assembly-7 folder: Kill_Assembly7_MAC.command ← Mac Kill_Assembly7_WIN.bat ← Windows # or from Engine 7 subfolder: ______Engine_7/_______Start_from_here/Kill_Engine7_MAC.command ______Engine_7/_______Start_from_here/Win Commander/Kill_Engine7_WIN.bat

This safely shuts down SuperCollider, the Node server, and frees the port.

Restart

After stopping, simply double-click the launcher again to restart.

💡 If you used the manual method: press Ctrl + C in the Terminal running node server.js, quit SuperCollider, then start again from step 1 of the manual launch.
09 — Sequencer

USING WITH ASSEMBLY-7

The Tamburi Web engine is a drop-in replacement for any other Assembly-7 engine. The sequencer in Max works exactly the same way.

1
Launch the engine

Double-click the launcher script. SuperCollider boots automatically in the background — the browser GUI opens when ready.

2
Open Assembly-7 in Max

Open Assembly-7.maxproj. Start the sequencer. Each row corresponds to a module:

Row 1 → KICK (center) Row 2 → PULSAR (hard right) Row 3 → FM1 (hard left) Row 4 → ABSTRACT (left center) Row 5 → ZWEET (right center) Row 6 → GLITCH (far left) Row 7 → LPG (far right)
3
Load samples in the browser GUI

For each module you want to use, click ▲ LOAD SAMPLE and wait for buffer loaded in the log. The sequencer will trigger that module as soon as a sample is loaded.

You can load samples while the sequencer is running — changes take effect immediately.
4
Tweak parameters in real time

All knob changes in the browser are sent to SuperCollider instantly via OSC. No need to stop the sequencer.

10 — Feedback

WHAT TO TEST

All 4 modes on different samples

Try short (<0.1s), medium, long, stereo and mono samples. Try PITCH mode on very short samples for artifacts and transient textures.

Interaction with the Max sequencer

Load samples on multiple modules and run them together with the sequencer. Check that triggers arrive correctly.

Stem recording

Press ● REC at the bottom, run something, press ■ STOP. Check that WAV files appear in the stems/ folder.

Report errors

If something doesn't work, send a screenshot of the SuperCollider Post Window and the log at the bottom of the GUI.