ScaleBud 2 User Manual
Overview
ScaleBud 2 is a MIDI scale and chord utility for iOS. It sits between a keyboard (a MIDI controller, another app, or your fingers on the touchscreen) and a sound source, and constrains everything that passes through it to a key and scale you choose. Play anything, anywhere on the on-screen keyboard or your MIDI controller, and ScaleBud 2 only lets musically-correct notes and chords through.
ScaleBud 2 is available in two forms that share the same engine and interface:
- Standalone app — runs on its own, with Core MIDI routing to hardware, virtual, and Bluetooth MIDI devices.
- AUv3 plugin — loads as a MIDI effect inside a compatible host app (GarageBand, AUM, Cubasis, and similar), so it can process the host's MIDI tracks or a physical/virtual keyboard routed into the host.
ScaleBud 2 does not produce any sound on its own — it is a MIDI processor, not an instrument. Its output must be routed into a synth, sampler, or another app/plugin to be heard.
Core Concept
At the center of ScaleBud 2 is the keyboard: a configurable strip that has its own key, scale (or chord set), octave range, and MIDI input/output routing. Every keyboard operates in one of two modes:
- Notes mode (Scale) — the keyboard displays the individual notes of the selected scale, spread across an octave range you define. Touching a key, or sending a matching MIDI note into ScaleBud 2, plays that scale tone.
- Chords mode — the keyboard displays chords built from the selected scale's harmonic field (triads, 7ths, 9ths, 11ths, 13ths). Touching a key, or sending in a matching MIDI note, plays the full chord built on that scale degree.
Any MIDI note that arrives with a pitch outside the current scale is either snapped to the nearest in-scale note or dropped entirely, depending on the "Round off-scale notes" setting for that keyboard. This is what lets you play carelessly on a MIDI controller (or let a generative/arpeggiator app drive it) and still stay in key.
You can run several keyboards at once, each with independent key, scale, octave range, MIDI channel and routing — and group them into patterns that you can switch between while performing.
Interface Overview
The main screen is laid out in three horizontal bands:
- Scale/chord browser (top) — a two-column area. The left column lists every available scale (100+ built-in scales, plus any custom scales you've created) with a search field. The right column shows the contents of the scale or chord set currently assigned to the active keyboard.
- Keyboard rack (middle) — one row per keyboard in the current pattern. Each row has an activation toggle, a mode button, a lock button, and a horizontally-scrolling strip of playable keys.
- Bottom bar — the pattern switcher (numbered buttons plus a + button to add patterns), the key button for the active keyboard, and the Settings button.
Primary Workflow
- Tap the key button in the bottom bar to open the key picker and choose the root note (with sharp/flat/natural spelling) for the active keyboard.
- Tap a scale in the left-hand scale browser to assign it to the active keyboard. Use the search field above the list to filter by name; a Custom Scales section appears at the bottom once you've created any.
- Play the keyboard row on screen, or send MIDI notes into ScaleBud 2 from a controller, host track, or another app.
- Open Settings to fine-tune octave range, velocity, MIDI channels, and note-rounding behavior for each keyboard, or to add more keyboards.
- Route ScaleBud 2's MIDI output (virtual port, physical MIDI-out, or the AUv3 plugin's MIDI output) into whatever is actually making sound.
Main Performance Surface
Each keyboard row shows:
- An activation button (square outline, filled white when active) — only one keyboard per pattern can be active at a time. The active keyboard is the one whose key and scale are shown and edited in the scale/chord browser and the key button. Tap another keyboard's activation button to make it active.
- A mode button, labeled "Notes" or "Chords", that switches that keyboard between Notes mode and Chords mode.
- A Lock button that freezes horizontal scrolling on that keyboard's key strip, so accidental swipes don't scroll the keys out of reach mid-performance.
- The key strip itself, scrollable and playable with multiple simultaneous touches.
The right-hand table above the keyboard rack reflects the active keyboard's content:
- In Notes mode, it lists every key belonging to the current scale. Tapping a row re-roots the active keyboard on that scale degree (keeping the same scale type) — a fast way to hop between closely related keys without reopening the key picker. Each row also previews the resulting scale's note spelling.
- In Chords mode, it lists the harmonic-field sections — Triads, 7th, 9th, 11th, 13th — as checkable rows. Enabling a section adds that chord family to the keyboard's chord row; you can enable several at once.
Touch and Playing Details
- The on-screen keyboard supports full multi-touch: you can hold multiple keys (or a whole chord row) at once, and each touch is tracked independently as notes are pressed and released.
- While any key is held, the keyboard row's scroll view is disabled so you can't accidentally drag the keys away from under your fingers.
- Key width is adjustable per keyboard (Small / Mid / Big) in Settings, trading information density for touch-target size.
- Chord keys can optionally show their inversions and a roman-numeral label under the chord name, both toggled per keyboard in Settings.
Scale and Chord System
ScaleBud 2 ships with 100+ built-in scales, searchable from the scale browser. Selecting a scale updates the active keyboard immediately, in both Notes and Chords mode.
Chords are generated from the scale's harmonic field — the set of triads/7th/9th/11th/13th chords that can be built diatonically from each degree of the scale. Which of those chord families appear on the keyboard is controlled by the checkable rows in the chord browser (see above) and mirrored in the keyboard's chord-inversion and roman-numeral display settings.
Custom Scale Builder
From Settings → Custom Scales, you can:
- Swipe-delete any existing custom scale.
- Tap an existing custom scale to edit it.
- Tap Create New Custom Scale to build a new one.
The custom scale editor lets you set:
- A name for the scale.
- An interval count (3–20 notes), which adds or removes interval rows as you change it.
- For each interval, a quality (diminished, minor, major, perfect, augmented) and a degree, matched to that quality's valid scale degrees.
Custom scales are saved to a shared app group and appear in the Custom Scales section of the scale browser, alongside the built-in list — and are also visible to ScaleBud 2's companion "Bud" apps that read the same shared scale database, so a scale you build once is available everywhere.
Patterns
A pattern is a saved set of keyboards — their keys, scales, modes, and settings — plus which keyboard is active. The pattern strip in the bottom bar lets you:
- Tap a numbered button to switch to that pattern instantly.
- Tap + to append a new (default two-keyboard) pattern and switch to it.
- Long-press a pattern button to Copy, Paste, or Delete it (delete is only available while more than one pattern exists).
Patterns are also switchable remotely: sending a MIDI Control Change message on the Patterns CC# (configurable in Settings, default CC 10) with a value of N switches to pattern N. This is intended for hands-free pattern changes from a foot controller, sequencer, or another app while you keep both hands on the keyboard.
Per-Keyboard Settings
Open Settings from the bottom bar to configure the current pattern's keyboards. Each keyboard has its own collapsible section with:
- Mode — Notes or Chords, mirrors the on-screen mode button.
- Min/Max Octave — the octave range the keyboard spans (-1 to 8).
- Velocity — the fixed velocity (0–127) used for notes played on screen, plus a Randomise Velocity switch that instead picks a random velocity between a Min and Max Velocity you set.
- MIDI Input Enabled, and when on: MIDI Input Channel (1–16), Transpose Note Octave (±4 octaves applied to incoming notes before they're processed), and a MIDI Input Range (Min/Max note) that gates which incoming notes this keyboard responds to.
- MIDI Output Enabled, and when on: MIDI Output Channel (1–16) that outgoing, processed notes are sent on.
- Round off-scale notes — when on, incoming notes outside the current scale are snapped to the nearest in-scale note; when off, they're silently dropped.
- Key size — Small / Mid / Big, sets the on-screen key width.
- Show chord inversions and Show roman numerals — Chords-mode display options.
- Remove Keyboard — deletes this keyboard from the pattern.
Tap + Add New Keyboard at the bottom of the list to add another keyboard to the current pattern. The Custom Scales and Patterns CC# settings described above live below the keyboard sections, and apply globally rather than per keyboard.
MIDI Routing
A keyboard only reacts to incoming MIDI when MIDI Input Enabled is on for it, and only to notes that satisfy all three:
- Arriving on that keyboard's MIDI Input Channel.
- Falling inside that keyboard's MIDI Input Range (Min–Max).
- Landing on (or, with rounding on, snapping to) a note in the currently selected scale.
Matched notes are transposed by the keyboard's Transpose Note Octave setting, mapped through the current scale (Notes mode) or the current chord set (Chords mode — the whole chord built on that scale degree is triggered), and re-sent on the keyboard's MIDI Output Channel if MIDI Output Enabled is on. Off-scale notes are either rounded to the nearest scale tone or dropped, per the "Round off-scale notes" switch.
Notes played on the on-screen keyboard bypass the input filtering above — they always play the key that was touched, using that keyboard's Velocity (or Randomise Velocity range), and are sent out on its MIDI Output Channel when MIDI Output is enabled.
Because every keyboard in a pattern is evaluated independently, a single incoming note can be filtered by one keyboard, passed and harmonized by another, and ignored by a third — depending on each keyboard's channel, range, and enabled state. This is how you can split or layer a physical controller across multiple ScaleBud 2 keyboards at once.
No Built-In Sound Source
ScaleBud 2 does not synthesize or sample audio. It only reads and writes MIDI. To hear anything, route its MIDI output into a synth or sampler:
- In the standalone app, enable a MIDI destination (virtual port, hardware MIDI-out, or Bluetooth) in Settings so the processed notes reach an external synth or another app listening for MIDI.
- As an AUv3 plugin, place it on a MIDI/instrument track ahead of an instrument, so the host passes its MIDI output into that instrument.
AUv3 Plugin Details
ScaleBud 2 ships as a MIDI effect Audio Unit ("Cem Olcay: ScaleBud 2") that hosts load on a MIDI or instrument track, upstream of a sound-producing plugin. Because it is a MIDI processor rather than an instrument, it needs to sit somewhere in the signal chain where the host lets MIDI effects operate, not on an audio insert.
- State saving — the entire project (all patterns, keyboards, and settings) is saved and restored with the host's session/preset state, so recalling a host project restores your ScaleBud 2 setup exactly.
- User presets — the plugin supports the host's own preset save/load mechanism in addition to session state.
- Transport awareness — the plugin reads the host's tempo and play/stop state. When the host's transport stops, ScaleBud 2 automatically sends note-off for anything still sounding, preventing stuck notes when playback halts.
- MIDI output — the plugin exposes a MIDI output named "ScaleBud 2 Out" in the host's MIDI routing, carrying the processed note and chord data.
- Settings and the Tutorial are reached the same way as in the standalone app, from the Settings button on the plugin's view.
ScaleFinder Companion Plugin
ScaleBud 2 is bundled with a small companion AUv3 utility, ScaleFinder ("Cem Olcay: Scale Finder"), for working out what key and scale a piece of music is already in.
- Play (or hold) notes on ScaleFinder's on-screen mini keyboard, or pick a specific root key with its key button, to search the full scale database — including any custom scales you've created — for every scale that contains those notes.
- Matching scales are listed below; tapping a result sends that key and scale straight into ScaleBud 2, updating the active keyboard automatically.
This is the fastest way to make ScaleBud 2 match an existing recording or MIDI part: work out the scale in ScaleFinder, tap it, and keep playing in ScaleBud 2.
Bud Family Interoperability
ScaleBud 2 shares its custom scale library with Cem Olcay's other "Bud" apps through a common app group, so scales you build in one app are available in all of them.
It also listens for a MIDI Program Change message (program 69) as a signal from other apps in the family to synchronize key and scale automatically — so a companion app's key/scale detection can drive ScaleBud 2's active keyboard directly over MIDI, without manual setup on your part.
Standalone App Settings
The standalone app adds a MIDI configuration section on top of the shared Settings screen described above:
- Virtual MIDI In / Virtual MIDI Out — switches to enable ScaleBud 2's own virtual MIDI ports ("ScaleBud 2 MIDI In" / "ScaleBud 2 MIDI Out"), so other apps on the device can send it MIDI or receive MIDI from it.
- A switch per detected MIDI input port and MIDI output port — enable exactly the physical, virtual, or network sources and destinations you want ScaleBud 2 to use.
- MIDI Bluetooth — opens the system Bluetooth MIDI device browser to pair a wireless controller.
- MIDI Panic — immediately sends note-off for every note on every MIDI note number, to silence any stuck notes.
The Support section (standalone and plugin alike) offers:
- Tutorial — replays the interactive, coach-mark-driven walkthrough of the interface.
- Review — opens ScaleBud 2's App Store listing to leave a rating.
- Other Apps — opens the developer's App Store page.
- Feedback — opens a pre-addressed email to send feedback directly to the developer.
Tips and Starting Points
- Start with a single keyboard in Notes mode, pick a key and scale, and play the on-screen keys to get a feel for how off-scale notes are handled before wiring up an external controller.
- Use two keyboards in the same pattern — one in Notes mode, one in Chords mode, on different MIDI channels — to play a bass/lead line and its harmonizing chords from a single MIDI controller split across channels.
- If you're not sure what key a backing track is in, load ScaleFinder alongside ScaleBud 2, play along on its mini keyboard, and tap the best match to send it straight into ScaleBud 2.
- Save different keyboard configurations as separate patterns and switch between them with the Patterns CC# during a performance instead of digging into Settings.
- Turn off "Round off-scale notes" on a keyboard if you'd rather have wrong notes disappear than get pulled to the nearest scale tone.
Troubleshooting
No sound at all — Remember ScaleBud 2 makes no sound by itself. Confirm its MIDI output is actually routed into a synth/sampler: a MIDI destination enabled in standalone Settings, or (as a plugin) placed ahead of an instrument on the host's MIDI/instrument track.
Notes don't come out, or come out wrong — Check that the keyboard's MIDI Input Enabled is on, that the incoming note's MIDI channel matches MIDI Input Channel, and that the note falls inside the MIDI Input Range. If the note isn't in the current scale, check whether Round off-scale notes is on or off — with it off, out-of-scale notes are dropped rather than rounded.
Stuck notes — Use MIDI Panic in the standalone app's Settings to force an all-notes-off. As a plugin, stopping the host's transport also triggers an automatic note-off for anything ScaleBud 2 left sounding.
Plugin doesn't appear in my host — ScaleBud 2's AUv3 is a MIDI effect, not an audio effect or instrument. Look for it in the host's MIDI FX or MIDI processor slots on a MIDI/instrument track, not in an audio insert chain.
Patterns won't switch from my controller/DAW — Confirm the incoming CC number matches Patterns CC# in Settings (default 10), and that the CC value sent corresponds to the pattern number you want (pattern 1 = value 1, and so on).
Custom scale isn't showing up in another Bud app — Custom scales sync through a shared app group; give the other app a moment to refresh, or reopen it, if a newly created scale hasn't appeared yet.
Host preset/session doesn't restore my setup — The AUv3 plugin saves patterns, keyboards, and settings as part of the host's session and user-preset state. If a saved preset seems empty, confirm you saved a host preset (not just left the session unsaved) after making changes.
Key/scale keeps changing on its own — Another "Bud" family app on the same device may be sending key/scale updates over MIDI Program Change 69 as part of the interoperability feature; check whether a companion app is running and actively broadcasting.
Links