Open Vellamo

Vellamo User Manual

  1. Getting Started
  2. Control Reference
  3. Pattern View
  4. Voice View
  5. Song View
  6. Saving & Loading
  7. 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

  1. Enter notes in Pattern View by pressing EDIT on grid cells
  2. Press PLAY to hear your pattern
  3. Modify sounds of each sequencer in Voice View
  4. Arrange patterns into sections in Song View
  5. 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.

  • 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

  • Action: EDIT + MOVE up/down
  • Range: 0-127
  • Description: How loud the note plays

Duration

  • Action: EDIT + MOVE left/right
  • Range: Variable (in steps)
  • Description: How long the note sustains

Offset (Microtiming)

  • Action: MOD1 + MOVE left/right
  • Description: Shifts note timing slightly early or late for groove

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:

  1. Instrument A: Settings for the first voice
  2. Instrument B: Settings for the second voice
  3. 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

  • Navigate to a cell
  • Use EDIT + MOVE up/down to select a different pattern (0-15)

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:

  1. Go to Settings view
  2. Select "Save Song"
  3. Select either "Create a new save" or "Overwrite current"
  4. Enter a filename or use the randomly generated one.
  5. Press "Save with this name"

Load Song

Restores a previously saved localStorage object.

To load:

  1. Go to Settings view
  2. Select "Load Song"
  3. Choose a song name from the list
  4. 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

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 + Z Redo
  • 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.

  1. Switch to Desktop Mode
  2. Open terminal
  3. Run the appropriate command for your browser:

For Chrome:

flatpak --user override --filesystem=/run/udev:ro com.google.Chrome

For Microsoft Edge:

flatpak --user override --filesystem=/run/udev:ro com.microsoft.Edge

This grants the browser access to the Steam Deck's controller input device.

Step 2: Add Browser to Steam

  1. Right-click the browser icon (Chrome or Edge)
  2. Select "Add to Steam"
  3. The browser will appear in your Steam library

Step 3: Configure Launch Options

To make Vellamo launch in fullscreen at the correct resolution:

  1. In your Steam Library, find the browser you added
  2. Right-click and select Properties
  3. 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

  1. Launch the browser shortcut from Game Mode
  2. Press the Steam button (while the browser is running)
  3. Navigate to Controller Settings
  4. Set the layout to "Gamepad with Mouse Trackpad"

Step 5: Test the Controls

Once Vellamo loads:

  1. The Steam Deck controls should work as described in the Control Reference
  2. 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