Note to Be User Manual

Table of Contents

  1. 🎯 Overview & Philosophy
  2. 🔧 Core Architecture
  3. 🎨 User Interface
  4. 🎼 Musical Configuration
  5. 🎹 MIDI Processing
  6. 🎛 MIDI CC Features
  7. 🎵 Microtonal Support
  8. 🎸 MPE (Multidimensional Polyphonic Expression)
  9. 🔌 AUv3 Plugin Mode
  10. 🧠 BrainBud Integration
  11. ⚙️ Settings & Configuration
  12. 💡 Tips & Best Practices
  13. Links

🎯 Overview & Philosophy

Note to Be is a sophisticated MIDI note quantizer and filter that transforms incoming MIDI data to conform to musical scales and custom note selections. Unlike traditional quantizers that only work with timing, Note to Be operates on the pitch domain, allowing you to:

Core Concept

Note to Be operates on a simple but powerful principle: you define which of the 128 MIDI notes (0-127) are "allowed," and the app either quantizes incoming notes to the nearest allowed note or filters them out entirely based on your preference.

This makes it perfect for:

🔧 Core Architecture

MIDI Note Quantization

When quantization mode is enabled, Note to Be finds the nearest allowed note for any incoming MIDI note and outputs that instead.

Quantization Algorithm

1. Receive incoming MIDI note (0-127)
2. Check if note is in allowed notes list
3. If yes → Output note unchanged
4. If no → Find nearest allowed note using binary search
5. Output quantized note with original velocity and channel
6. Apply microtonal pitch bend if Scala tuning is active

Tie-Breaking

When a note is equidistant from two allowed notes, the algorithm chooses the lower note. For example, if F# (66) is equally distant from F (65) and G (67), it will quantize to F (65).

Performance Optimization

The quantization uses a high-performance binary search algorithm with cached active note indices for O(log n) lookup time, ensuring real-time performance even with complex scales.

MIDI Note Filtering

When filtering mode is enabled, Note to Be acts as a musical firewall - only allowed notes pass through, while disallowed notes are completely ignored.

Filtering Behavior

This creates a "safe zone" where only harmonically appropriate notes can be played, perfect for educational scenarios or live performance constraints.

MIDI CC to Note Conversion

Note to Be can treat MIDI Continuous Controller (CC) values as note numbers, applying the same quantization or filtering logic.

CC Processing

1. Receive MIDI CC message (CC number + value 0-127)
2. Treat CC value as MIDI note number
3. Apply quantization/filtering based on current pattern
4. Output as MIDI note with CC number preserved for tracking
5. CC value 0 always means "note off"

CC Replacement Logic

When multiple CC messages arrive on the same CC number and channel:

🎨 User Interface

Octave-Based Layout

The interface is organized into octave views (C0-C9), with each octave displaying a piano keyboard layout where you can select individual notes.

Visual Elements

Responsive Design

Note Selection Interface

Individual Note Selection

Octave Controls

Global Selection Modes

Control Panel

Scale Selection

Key Selection

Pattern Management

🎼 Musical Configuration

Keys and Scales

Supported Keys

All 12 chromatic keys with proper enharmonic spelling:

Scale Library

Comprehensive collection of musical scales:

Automatic Scale Application

When you select a key/scale combination:

  1. All notes are automatically set based on the scale
  2. Enharmonic spelling is determined by the key center
  3. Visual feedback shows the scale pattern across all octaves
  4. Changes take effect immediately

Note Selection Modes

Scale-Based Selection

Manual Selection

Hybrid Approach

Pattern Management

Multiple Patterns

Pattern Operations

MIDI Pattern Switching

🎹 MIDI Processing

MIDI Input Processing

Note Messages

Real-Time Processing

Channel Management

Standard MIDI Mode

MPE Mode

Velocity Handling

Velocity Preservation

Velocity-Sensitive Features

🎛 MIDI CC Features

CC to Note Conversion

When MIDI CC mode is enabled, Note to Be treats incoming CC values as MIDI note numbers.

CC Processing Logic

CC Message: CC1 = 60 (on channel 1)
↓
Treated as: Note 60 (Middle C) on channel 1
↓
Apply current pattern quantization/filtering
↓
Output: Quantized MIDI note

CC Tracking

Pattern Switching via CC

Configuration

Real-Time Switching

CC Mode Toggle

Enable/Disable

CC Channel Behavior

🎵 Microtonal Support

Note to Be includes comprehensive microtonal support through Scala file integration, enabling precise microtuning with per-note pitch bend values.

Scala File Integration

Scala File Format Support

Scala Processing

1. Parse Scala file for frequency ratios/cents
2. Convert to frequency space
3. Calculate pitch bend values for each MIDI note
4. Map to synthesizer's pitch bend range
5. Apply pitch bend with quantized notes

iCloud Scala Import

File Import

Library Management

Pitch Bend Range Configuration

Synthesizer Compatibility

Different synthesizers have different pitch bend ranges. Note to Be supports:

Critical Setting

The pitch bend range MUST match your target synthesizer's setting for accurate microtuning. Mismatch will result in incorrect intonation.

Range Selection

Example: For a synth set to ±2 semitones:
- Note to Be pitch bend range: ±2 semitones (±200 cents)
- MIDI pitch bend value: 0-16383 (8192 = center)
- Microtonal deviation: ±200 cents maximum

Microtonal Quantization

Pitch Bend Application

When microtuning is active:

  1. Quantize to nearest allowed 12-ET note
  2. Calculate microtonal deviation from Scala file
  3. Apply pitch bend value for precise tuning
  4. Output MIDI note + pitch bend data

Per-Note Tuning

🎸 MPE (Multidimensional Polyphonic Expression)

MPE mode enables polyphonic microtonal expression by allocating separate MIDI channels for each note, allowing individual pitch bend control.

MPE Channel Allocation

Channel Management

MPE Setup

Enable MPE Mode:
1. Turn on MPE in settings
2. Configure pitch bend range to match target synth
3. Notes automatically get individual channels
4. Each note can have independent pitch bend

Per-Note Pitch Bend

Individual Expression

In MPE mode, each note can have:

MPE Message Flow

Input: Note 60 (C4)
↓
Allocate MPE channel: Channel 3
↓
Calculate microtonal pitch bend: -14 cents
↓
Output: Note 60 on channel 3 + pitch bend value

Polyphonic Microtonality

True Polyphonic Tuning

Unlike standard MIDI where pitch bend affects all notes on a channel, MPE allows:

Practical Applications

🔌 AUv3 Plugin Mode

Note to Be functions as a full-featured AUv3 (Audio Unit version 3) plugin, integrating seamlessly with iOS DAWs and music apps.

Host Integration

Supported Hosts

Plugin Features

Parameter Automation

Automatable Parameters

Host Integration

Preset Management

Factory Presets

User Presets

Full State Management

Preset includes:
- All pattern configurations (notes, keys, scales)
- Microtonal settings (Scala files, pitch bend range)
- MIDI settings (channels, CC numbers, MPE mode)
- UI settings (keyboard labels, selection modes)

🧠 BrainBud Integration

Note to Be integrates with the BrainBud ecosystem for advanced music theory operations.

Universal MIDI Channel

BrainBud Communication

Synchronization Process

1. BrainBud updates key/scale in shared storage
2. Send MIDI Program Change 69 to Note to Be
3. Note to Be reads new key/scale from shared storage
4. Apply new settings to current pattern
5. Update UI to reflect changes

Integration Benefits

⚙️ Settings & Configuration

MIDI Settings

Channel Configuration

Processing Options

Interface Settings

Visual Options

Interaction Settings

Microtonal Settings

Tuning Configuration

💡 Tips & Best Practices

Getting Started

  1. Start simple - Begin with basic major/minor scales
  2. Learn the interface - Practice note selection before live use
  3. Test with your synths - Verify MIDI routing before performance
  4. Save presets - Create presets for your common scales

Live Performance

  1. Use pattern switching - Pre-configure patterns for song sections
  2. Enable filtering mode - Prevent wrong notes during improvisation
  3. Check MIDI channels - Ensure proper routing in complex setups
  4. Practice transitions - Rehearse pattern changes before shows

Microtonal Exploration

  1. Start with pitch bend ±2 - Most common synthesizer setting
  2. Verify tuning accuracy - Use reference tones to check intonation
  3. Use MPE for chords - Enable polyphonic microtonal harmony
  4. Explore built-in scales - 5000+ scales for inspiration

Studio Production

  1. Record MIDI - Capture both input and quantized output
  2. Use automation - Record parameter changes over time
  3. Layer instances - Multiple Note to Be instances for complex routing
  4. Document settings - Keep notes on successful configurations

Troubleshooting

  1. No output - Check MIDI routing and allowed notes
  2. Wrong tuning - Verify pitch bend range matches synth
  3. Missing notes - Ensure notes are selected in current pattern
  4. Channel conflicts - Check MIDI channel assignments

Note to Be - Transform your MIDI into musical perfection