Open Vellamo
Vellamo User Manual
- Getting Started
- Control Reference
- Pattern View
- Voice View
- Song View
- Saving & Loading
- Steam Deck Setup
Getting Started
What is Vellamo?
Vellamo is a four-track sequencer that lets you create music using patterns. Each pattern contains notes arranged in a grid, and you can sequence multiple patterns together to create complete songs. It uses SoundFont files to generate the sounds. It's designed to work well with a gamepad, and with a keyboard. Mouse support is limited.
Key Concepts:
- Pattern: A grid of notes (up to 16 steps) that plays in a loop
- Sequencer: One of 4 independent tracks, each with its own Voice
- Voice: The sound assigned to a sequencer. Combines two instrument sounds.
- Song: An arrangement of patterns organized into sections
Quick Start
- Enter notes in Pattern View by pressing EDIT on grid cells
- Press PLAY to hear your pattern
- Modify sounds of each sequencer in Voice View
- Arrange patterns into sections in Song View
- Press MOD1 + PLAY to play the full song
Control Reference
Vellamo uses semantic command names that work with both keyboard and gamepad. In this manual, they are always shown in UPPERCASE.
Core Commands
| Command | Description | 
|---|---|
| PAGE | Switch between different views | 
| MOVE | Navigate and change values | 
| EDIT | Toggle cells, select, confirm | 
| CANCEL | Clear cells, go back in menus | 
| PLAY | Start/stop playback | 
| TAB | Jump to next panel | 
| MOD1 | Used in combination with other commands | 
| MOD2 | Used in combination with other commands | 
Input Mappings
Keyboard
| Command | Keys | 
|---|---|
| PAGE | 1 - Pattern, 2 - Voice, 3 - Song, 4 - Settings, 5 - Manual | 
| MOVE | Arrow keys / WASD | 
| EDIT | Enter / Space | 
| CANCEL | C | 
| PLAY | P | 
| TAB | Tab | 
| MOD1 | Q | 
| MOD2 | E | 
Gamepad (Xbox / PlayStation)
| Command | Buttons | 
|---|---|
| PAGE | RB / R1 - next page, LB / L1 - previous page (Pattern, Voice, Song) | 
| MOVE | D-Pad or Left Stick | 
| EDIT | A / X | 
| CANCEL | B / ○ | 
| PLAY | X / □ | 
| TAB | Y / △ | 
| MOD1 | LT / L2 | 
| MOD2 | RT / R2 | 
Global Actions
These work in all views. The sections on each views will explain how the copy/paste/undo/redo operations work in them.
| Action | Command | 
|---|---|
| Next/previous sequencer | MOD2 + MOVE left/right | 
| Undo | MOD2 + CANCEL | 
| Redo | MOD2 + TAB | 
| Copy cell/pattern/voice | MOD1 + TAB | 
| Paste cell/pattern/voice | MOD1 + CANCEL | 
Pattern View
The Pattern View is where you create and edit musical patterns using a grid interface.
The Grid
The grid shares some similarity with piano rolls of traditional DAWs, and with the button grids in launchpad-style midi controllers.
16 columns
Each column is a step in the pattern. With default pattern speed, the grid represents four measures in 4/4 time. Every 4th column is highlighted, but do note that the highlights don't represent the musical measures, they are just for visual aid when navigating the grid.
12 rows
Each row represents a musical pitch, and at once only twelve of them are shown. You can scroll up and down from the top & bottom rows to show the higher and lower pitches. The scale pattern parameter defines which pitches are present in the pattern, filtering out non-scale pitches from the rows.
16x12 cells
Press EDIT to toggle cells on/off, and CANCEL to clear cell parameters.
Each cell in the grid represents one note. You can create melodies by adding notes one after another to the different columns, chords by adding notes on different rows of one column, and any combination of the two.
Navigation
- MOVE: Navigate between cells
- MOVE up/down while on top/bottom row: Scroll the visible window to see different octaves
Your position in each pattern is remembered when you switch patterns.
Note Parameters
Each note has couple of different parameters. These are shown in the Setings Panel, alongside with the Pattern settings. When navigating between cells, the panel shows currently highlighted cell's values. Using the actions defined below, you can change the values of the highlighted cell. You can also change these values in the Panel, by switching focus to the panel with the TAB key.
Velocity
Duration
Offset (Microtiming)
Chance
- Action: MOD1 + MOVE up/down
- Range: 0-100%
- Description: Probability the note will play each time
- 0% = never plays
- 100% = always plays
- 50% = plays randomly half the time
 
Dirty Flag Behavior
Once you edit a note's parameters (velocity, duration, etc.), that cell becomes "dirty" - marked as customized. When you toggle a dirty cell off and back on, it preserves your custom parameters instead of resetting to defaults.
To reset a cell to defaults: Use MOD1 + CANCEL on the cell.
Pattern Settings
Press TAB to switch between Settings Panel and the Grid.
Scale
- Choose from various musical scales (Major, Minor, Pentatonic, etc.)
- Changes which notes appear on the grid rows
- Tonic: The root note of the scale (C, D, E, etc.)
Length
- Values: 2, 4, 8, 16.
- Sets where the pattern loops back to the beginning
Speed
- Range: 0.25x to 8x
- Changes playback speed relative to the song tempo
- Changes the default note duration to relative value. Does not affect dirty cells.
Pattern Actions
| Action | Command | 
|---|---|
| Start/stop pattern | PLAY | 
| Copy cell | MOD1 + TAB (on cell) | 
| Paste cell | MOD1 + CANCEL (on cell) | 
| Copy pattern | MOD1 + TAB (in settings Panel) | 
| Paste pattern | MOD1 + CANCEL (in settings Panel) | 
| Clear cell | CANCEL (removes note) | 
Voice View
The Voice View controls the sounds and effects for each sequencer.
Voice Architecture
Each of the 4 sequencers has a sound layer called Voice. Each Voice has two different sounds called Instruments. The instruments can be toggled on and off, and their various parameters can be changed independently from each other. By default, Instrument B is always off.
The two sounds are then combined into one Voice, which has it's own parameters.
Voice Panels
There are 3 panels accessible via TAB:
- Instrument A: Settings for the first voice
- Instrument B: Settings for the second voice
- Voice Controls: Shared settings affecting both sounds
Instrument Settings
Preset
- Range: 0-127 (General MIDI programs)
- Choose from 128 instrument sounds
- Programs are grouped by families (piano, guitar, bass, strings, etc.)
Volume
- Range: 0-127
- Controls overall instrument loudness
Pan
- Range: -50 (left) to +50 (right)
- Positions the instrument in stereo field
Semitone
- Range: -12 to +12
- Transposes the instrument up or down by semitones
Octave
- Range: -4 to +4
- Transposes the instrument up or down by octaves
Envelope
Shapes the tone by adjusting the attack and release. These values and their effect is dependent on the SoundFont's settings. For some instruments they might not do anything, and for others have more drastic change.
Attack
- Range: 0 to 127
- Sets the amount of time it takes for the sound to get into it's full loudness
Release
- Range: 0 to 127
- Sets the amount of time it takes for the sound to fade out after note off.
Filter
Shapes the tone by removing frequencies:
Type
- Lowpass: Removes high frequencies (warmer sound)
- Highpass: Removes low frequencies (thinner sound)
- Bandpass: Keeps only middle frequencies
- Lowshelf, Highshelf, Notch, Allpass, Peaking: Various specialized filters
Frequency
- Range: 20Hz - 20kHz
- Sets the cutoff point for the filter
Rolloff
- Options: -12dB, -24dB, -48dB, -96dB per octave
- Controls how steeply the filter cuts frequencies
Voice settings
Volume
- adjust the combined loudness of both instruments
Delay
Adds echo/repeat effect:
Tempo Sync
- Off: Delay time in milliseconds
- On: Delay time syncs to musical divisions (8th notes, quarter notes, etc.)
Time
- Synced: Musical notation (32n, 16n, 8n, 4n, etc.)
- Free: 20ms - 4000ms
Feedback
- Range: 0-100%
- Amount of delay repeats (higher = more echoes)
Wet
- Range: 0-100%
- Mix of dry (original) and wet (delayed) signal
Sends
Adjust the signal level that is send to the master effects
Note: the controls for the master effects will be added later, now they just have default values.
- SendA: Ping-pong delay
- SendB: Reverb
Voice Actions
| Action | Command | 
|---|---|
| Adjust value by 1 | MOVE left/right | 
| Adjust value by 10 | MOD1 + MOVE left/right | 
| Copy sound | MOD1 + TAB (on Sound A or B panel) | 
| Copy voice | MOD1 + TAB (on Voice Controls panel) | 
| Paste sound/voice | MOD1 + CANCEL | 
Song View
The Song View arranges patterns into sections to create complete compositions.
Sections
A song is made up of columns, which we call sections. Each section:
- Contains one pattern assignment per sequencer (4 total)
- Has a length determined by the longest pattern in that section
- Plays all 4 sequencers simultaneously
Grid Layout
- Rows: One row per sequencer (4 rows)
- Columns: One column per section (scrolls horizontally)
- Cells: Each cell shows which pattern plays for that sequencer in that section
Editing Sections
Change Pattern Assignment
Change Play Mode
- Navigate to a cell
- Use EDIT + MOVE left/right to cycle through play modes:
- Loop: Pattern repeats throughout section
- Once (Start): Plays once at section beginning
- Once (End): Plays once at section end
 
Pattern play mode defines how patterns are played when their length is shorter than the section length.
Section Length
Section length is automatically determined by the longest effective pattern:
- Takes pattern length and speed into account
- Ensures all patterns complete properly
- Adjusts when you change pattern assignments
Song Actions
| Start/stop song | MOD1 + PLAY | 
|---|---|
| Start/stop section | PLAY | 
Saving & Loading
Access save/load functions via the Settings view (PAGE to view 4).
Save Song
Saves the project into localStorage:
- All pattern data (notes and settings)
- Song arrangement (sections)
- Voice settings (instruments and effects)
These saves will not persists if you clear your browser's storage.
To save:
- Go to Settings view
- Select "Save Song"
- Select either "Create a new save" or "Overwrite current"
- Enter a filename or use the randomly generated one.
- Press "Save with this name"
Load Song
Restores a previously saved localStorage object.
To load:
- Go to Settings view
- Select "Load Song"
- Choose a song name from the list
- Song loads and overwrites current work (save first if needed!)
Export / Import JSON
For more reliable save, you can export the project as a JSON, and download the file to your computer.
- Export JSON: Saves song data in human-readable JSON format
- Import JSON: Loads song from JSON file
Export MIDI
You can export the Song View arrangement into a MIDI file. Each sequencer will be one midi track/channel.
Bits and pieces
Navigation Memory
The app remembers your position in each pattern:
- Switch between patterns freely
- Return to where you left off
- Scroll positions are preserved per pattern
Keyboard Shortcuts Summary
Global
- Ctrl/Cmd + Z: Undo
- Ctrl/Cmd + Shift + ZRedo
- 1-5: Switch views
- P: Play/stop pattern
- Shift + P: Play/stop song
Pattern View
- Arrow keys: Navigate grid
- Enter/Space: Toggle cell
- Enter/Space + Arrow up/down: Adjust velocity
- Enter/Space + Arrow left/right: Adjust duration
- Q + Arrow left/right: Adjust offset
- Q + Arrow up/down: Adjust probability
- E + Arrow up/down: Next/previous pattern
Voice View
- Arrow left/right: Adjust value
- Q + Arrow left/right: Adjust by 10
- Tab: Switch between panels
Song View
- Arrow keys: Navigate sections
- Enter/Space + Arrow up/down: Change pattern
- Enter/Space + Arrow left/right: Change play mode
Steam Deck Setup
Vellamo works great on Steam Deck! Follow these steps to add it as a Game Mode shortcut with full gamepad support.
Prerequisites
- Browser installed: Chrome or Microsoft Edge recommended. Make sure it is not outdated version, as the sound might not work.
- Internet connection: To access Vellamo (standalone offline version will be added)
Step 1: Enable Gamepad Support in Browser
This step is critical for the Steam Deck controller to work in the browser.
- Switch to Desktop Mode
- Open terminal
- Run the appropriate command for your browser:
For Chrome:
flatpak --user override --filesystem=/run/udev:ro com.google.ChromeFor Microsoft Edge:
flatpak --user override --filesystem=/run/udev:ro com.microsoft.EdgeThis grants the browser access to the Steam Deck's controller input device.
Step 2: Add Browser to Steam
- Right-click the browser icon (Chrome or Edge)
- Select "Add to Steam"
- The browser will appear in your Steam library
Step 3: Configure Launch Options
To make Vellamo launch in fullscreen at the correct resolution:
- In your Steam Library, find the browser you added
- Right-click and select Properties
- In the Shortcut/Launch Options field, enter:
--window-size=1280,800 --kiosk "pages.vellamo.dev"
Why these settings?
- --window-size=1280,800: Sets window size
- --kiosk: Launches in fullscreen mode without browser UI (no tabs/address bar)
Step 4: Configure Steam Input
- Launch the browser shortcut from Game Mode
- Press the Steam button (while the browser is running)
- Navigate to Controller Settings
- Set the layout to "Gamepad with Mouse Trackpad"
Step 5: Test the Controls
Once Vellamo loads:
- The Steam Deck controls should work as described in the Control Reference
- Refer to the Gamepad mapping table for button functions
If controls don't work:
- Verify you ran the flatpak command in Step 1
- Confirm Steam Input is set to "Gamepad with Mouse Trackpad"
- Restart the browser shortcut
Version: 0.7.15
Last Updated: 2025-10-17
