Speaking of Witch User Manual

Table of Contents

  1. πŸŽ™οΈ Overview & Philosophy
  2. πŸ”§ Core Architecture
  3. 🎨 User Interface
  4. πŸ—£οΈ Speech Synthesis Engine
  5. πŸŽ› Pad Configuration
  6. πŸ“Š Envelope System
  7. 🎹 MIDI Integration
  8. πŸ”Š Multi-Output Audio Routing
  9. 🎚️ AUv3 Plugin Support
  10. πŸ’Ύ Preset Management
  11. 🎼 Creative Applications
  12. Links

πŸŽ™οΈ Overview & Philosophy

Speaking of Witch is a speech-to-synth sampler that transforms text into expressive musical performances. Built on iOS's powerful AVSpeechSynthesizer engine, it captures spoken phrases and makes them playable as pitched, envelope-shaped samples across 16 independent pads with full MIDI control and multi-output routing.

The Speech Synthesis Vision

Traditional samplers require external audio sources, but Speaking of Witch generates its own unique content through:

Unique Design Philosophy

Speaking of Witch embraces a hybrid approach:

The Multi-Pad Workflow Philosophy

Speaking of Witch is designed around distributing content across 16 pads rather than loading long texts into individual pads:

Why Short Phrases Work Better:

Recommended Approach: Instead of: One pad with paragraph-length text Do this: Split into 8-16 pads with 1-5 words each

Example - Song Lyrics:

Example - Syllable Chopping:

This multi-pad design enables creative sequencing, layering, and performance that would be impossible with monolithic long-text samples.

πŸ”§ Core Architecture

16-Pad Sampler Design

Speaking of Witch organizes audio around 16 independent pads, each containing:

Pad Independence

Signal Chain Overview

1. TEXT INPUT
   User types phrase β†’ selects voice/language
   ↓
2. SPEECH SYNTHESIS (AVSpeechSynthesizer)
   Text β†’ AVSpeechSynthesizer.write() β†’ float array (mono @ 44.1kHz)
   ↓
3. SAMPLE LOADING (Swift β†’ C++ Bridge)
   Float array β†’ DSPBridge β†’ DSPKernel β†’ Pad buffer slot
   ↓
4. MIDI TRIGGERING
   MIDI Note On (channel X, note Y, velocity Z)
   β†’ DSPKernel filters by channel
   β†’ Matching pad(s) trigger playback
   ↓
5. REAL-TIME PLAYBACK (Per-Pad Voice)
   Sample buffer β†’ Speed modulation (MIDI note + speed param + pitch envelope)
   β†’ Amplitude envelope application
   β†’ Stereo panning
   ↓
6. BUS MIXING (8 Stereo Busses)
   All pads assigned to Bus 0 β†’ mix together β†’ Output Bus 0
   All pads assigned to Bus 1 β†’ mix together β†’ Output Bus 1
   ... (up to 8 busses)
   ↓
7. AUDIO OUTPUT
   8 stereo busses (16 channels) β†’ AUv3 multi-output β†’ DAW host

🎨 User Interface

Main Pad Grid

The main interface displays all 16 pads in a grid layout:

Pad Display Elements

Interaction

Pad Editor

Selecting a pad opens the detailed editor with tabs/sections:

Text & Voice Section

Playback Section

Routing Section

Visual State Indicators

Envelope Editors

Each pad has two independent envelope editors:

Amplitude Envelope Editor

Pitch Envelope Editor

πŸ—£οΈ Speech Synthesis Engine

AVSpeechSynthesizer Integration

Speaking of Witch uses Apple's built-in AVSpeechSynthesizer framework for high-quality, on-device speech generation.

Synthesis Pipeline

  1. Text Input: User enters text in pad editor
  2. Voice Selection: Choose from system-installed voices
  3. Utterance Creation: Configure speech rate and pitch
  4. Audio Capture: Use AVSpeechSynthesizer.write() to capture audio buffers
  5. Buffer Concatenation: Combine all audio buffers into single float array
  6. Silence Trimming: Remove leading silence (preserving 10ms attack)
  7. Sample Loading: Copy float array into C++ DSP engine

Speech Settings

Multiple Language Support

Speaking of Witch supports all iOS system voices across dozens of languages and dialects.

Example Voices

And many more, including regional variants and enhanced voices.

Voice Documentation

For a complete list of available voices, see Apple's AVSpeechSynthesizer documentation.

Note: Available voices depend on which voices are installed on your iOS device. You can download additional voices in Settings β†’ Accessibility β†’ Spoken Content β†’ Voices.

Voice Selection

Voice Picker Interface

Voice Quality Levels

iOS voices come in different quality levels:

Text-to-Audio Pipeline

Workflow

  1. Enter Text: Type phrase in pad editor (e.g., "Hello world")
  2. Select Voice: Choose voice/language from picker
  3. Preview (Optional): Tap "Preview" to hear speech without rendering
  4. Render: Tap "Render" to synthesize and load into pad buffer
  5. Background Processing: Speech synthesis happens in background thread
  6. Sample Ready: Waveform appears, pad is ready to play via MIDI

Render Time & Text Length Guidelines

Synthesis Time (per pad):

Text Length Recommendations:

Memory & Stability:

Musical Timing Tip: Consider BPM and beat subdivisions when crafting phrases. Short, punchy phrases work best for rhythmic and melodic sequences.

πŸŽ› Pad Configuration

Text Input & Voice Settings

Text Field

Design Tip - Splitting Content Across Pads: If you have long text to work with, split it intelligently:

This approach gives you better control, faster synthesis, and more creative performance possibilities.

Voice Settings

Speed Control

The Speed parameter (0.5x to 2.0x) is a fundamental control that affects multiple aspects of playback:

Speed Effects

Speed Accumulation

The final playback speed is a combination of multiple factors:

Final Speed = Base Speed Γ— MIDI Note Factor Γ— Pitch Envelope Γ— Tempo Sync Factor

Where:
- Base Speed: Pad's speed parameter (0.5-2.0x)
- MIDI Note Factor: Pitch shift from MIDI note number
- Pitch Envelope: Real-time modulation from pitch envelope
- Tempo Sync Factor: Optional BPM-based adjustment (future feature)

Practical Uses

Gain & Pan

Gain Control

Pan Control

Multiple Takes (16 Buffer Slots)

Each pad contains 16 independent buffer slots, allowing multiple variations of the same or different phrases.

Slot Management

Creative Uses

  1. Variations: Record same phrase with different voices β†’ switch between them
  2. Syllable Splitting: Record individual syllables β†’ trigger different slots for complex phrases
  3. Multi-Language: Store same phrase in different languages β†’ switch dynamically
  4. Performance Layers: Store soft/loud variations β†’ switch based on context

Memory Considerations

Important Memory Notes:

πŸ“Š Envelope System

Speaking of Witch features a sophisticated breakpoint envelope system with independent amplitude and pitch envelopes per pad.

Amplitude Envelope

The amplitude envelope controls the volume curve applied to each triggered note.

Envelope Characteristics

Common Envelope Shapes

  1. Fade In: Start at 0.0, rise to 1.0 at midpoint, hold
  2. Fade Out: Start at 1.0, hold, drop to 0.0 at end
  3. Fade In/Out: Classic ADSR-style shape with attack and release
  4. Gate: Start at 1.0, drop to 0.0 at specific point (hard cutoff)
  5. Tremolo: Multiple up/down cycles for rhythmic amplitude modulation

Pitch Envelope

The pitch envelope controls pitch modulation over the duration of each triggered note.

Envelope Characteristics

Common Envelope Shapes

  1. Pitch Dive: Start at +12, drop to 0 (classic dive bomb)
  2. Pitch Rise: Start at -12, rise to 0 (upward sweep)
  3. Vibrato: Sine-wave-like oscillation around center pitch
  4. Portamento: Gradual slide from one pitch to another
  5. Glitch: Rapid random pitch jumps for stuttering effects

Breakpoint Editing

Both envelopes use the same touch-based editing interface:

Editing Gestures

Visual Feedback

Editing Workflow

  1. Load sample into pad
  2. Open amplitude or pitch envelope editor
  3. Add breakpoints by tapping on envelope view
  4. Drag to adjust timing and depth
  5. Preview by triggering pad via MIDI or manual trigger
  6. Refine until desired effect is achieved

Envelope Application in Real-Time

Envelopes are applied per MIDI trigger in real-time during playback.

Application Flow

MIDI Note On β†’ Trigger Pad
  ↓
Calculate base playback speed:
  speed = pad.speed Γ— midiNoteFactor
  ↓
For each audio frame during playback:
  1. Calculate normalized time: t = currentFrame / totalFrames
  2. Sample amplitude envelope at time t β†’ ampMod
  3. Sample pitch envelope at time t β†’ pitchMod
  4. Apply pitch modulation: finalSpeed = speed Γ— pitchMod
  5. Read sample at position (with interpolation)
  6. Apply amplitude modulation: sample Γ— ampMod Γ— pad.gain
  7. Apply stereo panning
  8. Mix into assigned output bus
  ↓
MIDI Note Off β†’ Release (or immediate stop, depending on envelope tail)

Polyphonic Behavior

🎹 MIDI Integration

Speaking of Witch features comprehensive MIDI support with channel-based routing for flexible performance and sequencing.

MIDI Channel Routing

The core routing model is: MIDI Channel β†’ Pad β†’ Output Bus

Channel Assignment

Routing Examples

Example 1: Simple Mapping
  Pad 1 β†’ MIDI Ch 1 β†’ Bus 1
  Pad 2 β†’ MIDI Ch 2 β†’ Bus 1
  Pad 3 β†’ MIDI Ch 3 β†’ Bus 1
  Result: 3 pads on separate MIDI channels, all mixed to Bus 1

Example 2: Layering
  Pad 1 β†’ MIDI Ch 1 β†’ Bus 1 (Voice: "Hello" in English)
  Pad 2 β†’ MIDI Ch 1 β†’ Bus 1 (Voice: "Hello" in Spanish)
  Pad 3 β†’ MIDI Ch 1 β†’ Bus 1 (Voice: "Hello" in Japanese)
  Result: All 3 pads trigger together on MIDI Ch 1, creating multilingual layer

Example 3: Multi-Bus Sequencing
  Pad 1 β†’ MIDI Ch 1 β†’ Bus 1
  Pad 2 β†’ MIDI Ch 2 β†’ Bus 2
  Pad 3 β†’ MIDI Ch 3 β†’ Bus 3
  Result: 3 pads on separate channels AND separate outputs

Channel-Based Pad Triggering

MIDI Note-On Processing

When a MIDI Note-On message arrives on channel X:

  1. DSPKernel receives MIDI message
  2. Kernel iterates through all 16 pads
  3. Each pad checks: if (pad.midiChannel == X)
  4. Matching pads trigger playback
  5. Non-matching pads ignore the message

Multiple Pads, Same Channel

If Pad 1, Pad 5, and Pad 9 all listen to MIDI Channel 1:

MIDI Note Pitch Mapping

MIDI note numbers control the playback speed (and therefore pitch) of samples.

Speed Calculation

Playback Speed = Pad.Speed Γ— 2^((MIDINoteNumber - 60) / 12)

Where:
- Pad.Speed: Base speed parameter (0.5-2.0x)
- MIDINoteNumber: Incoming MIDI note (0-127)
- 60: Middle C (C4) - reference note for 1:1 playback
- 2^(semitones/12): Equal temperament pitch formula

Pitch Examples

Musical Applications

Single MIDI Channel Mode

Speaking of Witch includes an optional Single MIDI Channel Mode that provides an alternative way to trigger pads from a single MIDI keyboard or sequencer.

Overview

In standard mode, each pad listens to its own MIDI channel and responds to incoming MIDI pitch by pitch-shifting the sample. In Single MIDI Channel Mode, all 16 pads share the same MIDI channel, and each pad is assigned to a specific trigger note.

Enabling Single MIDI Channel Mode

  1. Open Settings (gear icon)
  2. Navigate to Single MIDI Channel Mode section
  3. Toggle Enable switch to ON
  4. Configure the following settings:
    • MIDI Channel: Choose which channel (1-16) all pads will listen to
    • Start Note: Choose the starting MIDI note (default: C4/60)
    • White Keys Mode: Toggle to use only white keys for triggering

How It Works

Standard Mode vs Single Channel Mode:

Standard Mode:
  MIDI Ch 1 Note 60 β†’ Triggers Pad 1 at C4 (pitch-shifted by note)
  MIDI Ch 2 Note 72 β†’ Triggers Pad 2 at C5 (pitch-shifted by note)
  MIDI Ch 3 Note 48 β†’ Triggers Pad 3 at C3 (pitch-shifted by note)

Single Channel Mode (Start Note = C4):
  MIDI Ch 1 Note 60 (C4) β†’ Triggers Pad 1 at default pitch
  MIDI Ch 1 Note 61 (C#4) β†’ Triggers Pad 2 at default pitch
  MIDI Ch 1 Note 62 (D4) β†’ Triggers Pad 3 at default pitch
  ... (each semitone triggers the next pad)

Chromatic Mode (Default)

When White Keys Mode is OFF, each semitone triggers the next pad sequentially:

Example with C4 as start note:

C4  β†’ Pad 1    |  C#4 β†’ Pad 2
D4  β†’ Pad 3    |  D#4 β†’ Pad 4
E4  β†’ Pad 5    |  F4  β†’ Pad 6
F#4 β†’ Pad 7    |  G4  β†’ Pad 8
G#4 β†’ Pad 9    |  A4  β†’ Pad 10
A#4 β†’ Pad 11   |  B4  β†’ Pad 12
C5  β†’ Pad 13   |  C#5 β†’ Pad 14
D5  β†’ Pad 15   |  D#5 β†’ Pad 16

White Keys Mode

When White Keys Mode is ON, only white keys (natural notes) trigger pads, making it easier to play on a keyboard:

Example with C4 as start note:

C4 β†’ Pad 1     (black keys ignored)
D4 β†’ Pad 2     (C# ignored)
E4 β†’ Pad 3     (D# ignored)
F4 β†’ Pad 4     (no black key between E-F)
G4 β†’ Pad 5     (F# ignored)
A4 β†’ Pad 6     (G# ignored)
B4 β†’ Pad 7     (A# ignored)
C5 β†’ Pad 8     (no black key between B-C)
D5 β†’ Pad 9
E5 β†’ Pad 10
F5 β†’ Pad 11
G5 β†’ Pad 12
A5 β†’ Pad 13
B5 β†’ Pad 14
C6 β†’ Pad 15
D6 β†’ Pad 16

Key Differences from Standard Mode

Feature Standard Mode Single MIDI Channel Mode
MIDI Channels Each pad has its own channel (1-16) All pads share one channel
Note Triggering Any note triggers, pitch-shifts sample Specific notes trigger specific pads
Pitch Control MIDI note number controls pitch Pads trigger at default pitch (C4)
Keyboard Layout Notes pitch-shift one pad Notes trigger different pads
Ideal For Melodic/harmonic playing Sequential triggering, pad performance

Use Cases

Use Case 1: Step Sequencer Workflow

Use Case 2: Live Keyboard Performance

Use Case 3: Single-Track Sequencing

Use Case 4: Chromatic Speech Patterns

Settings Configuration

Optimal Settings for Different Workflows:

For Step Sequencing:

For Live Keyboard:

For Drum Pad Controller:

Important Notes

Switching Between Modes

You can toggle Single MIDI Channel Mode on/off at any time:

Performance Workflow

Typical Setup

  1. Text Entry: Enter phrases in pads 1-16
  2. Voice Selection: Assign different voices/languages to each pad
  3. MIDI Channel Assignment:
    • Option A: Each pad on unique channel (1-16) for independent sequencing
    • Option B: Group pads by channel for layering (e.g., pads 1-4 on Ch 1, pads 5-8 on Ch 2)
  4. Output Bus Assignment: Route to busses based on mixing strategy
  5. Envelope Design: Shape amplitude and pitch envelopes per pad
  6. MIDI Controller/Sequencer: Connect MIDI keyboard or DAW sequencer

Live Performance

πŸ”Š Multi-Output Audio Routing

Speaking of Witch features a professional 8-bus multi-output architecture for advanced mixing and processing workflows.

8 Stereo Output Busses

Bus Configuration

Bus Independence

Per-Pad Bus Assignment

Each of the 16 pads can be assigned to any of the 8 output busses.

Assignment Strategy

Bus Mixing Strategy

Multiple pads assigned to the same bus are automatically summed in the render callback.

Mixing Flow

For each audio frame:
  1. Clear all 8 busses to silence
  2. For each active pad:
     a. Render pad's voice β†’ temp buffer (stereo)
     b. Get pad's assigned bus index (0-7)
     c. Mix temp buffer into that bus (sum samples)
  3. Output all 8 busses to host (16 channels)

Mixing Examples

Scenario 1: 4 pads β†’ Bus 1
  Pad 1 (gain 0.8) β†’ Bus 1
  Pad 2 (gain 0.7) β†’ Bus 1
  Pad 3 (gain 0.9) β†’ Bus 1
  Pad 4 (gain 0.6) β†’ Bus 1
  Result: Bus 1 contains sum of all 4 pad outputs
          Busses 2-8 are silent

Scenario 2: Spread across busses
  Pad 1 β†’ Bus 1
  Pad 2 β†’ Bus 2
  Pad 3 β†’ Bus 3
  Pad 4 β†’ Bus 4
  Result: Each bus contains one pad's output
          Perfect for individual DAW tracks

Scenario 3: Grouped by character
  Pads 1-4 (voice: male) β†’ Bus 1
  Pads 5-8 (voice: female) β†’ Bus 2
  Pads 9-12 (voice: child) β†’ Bus 3
  Result: Vocal character groups on separate busses

Complex Routing Possibilities

The combination of MIDI channel routing and output bus assignment enables sophisticated workflows:

Workflow Examples

Example 1: Multi-Tracked Recording

Example 2: Submix Groups

Example 3: Layered Multi-Bus Performance

Example 4: External Hardware FX Routing

Example 5: Stem Export

🎚️ AUv3 Plugin Support

Speaking of Witch is a full-featured AUv3 audio unit with professional-grade host integration.

Full AUv3 Implementation

AUv3 Features

Supported Hosts

Multi-Output in DAW Hosts

Host Configuration

Different hosts expose multi-output AUs differently:

GarageBand

AUM

Cubasis

BeatMaker 3

Routing in Host

  1. Load Speaking of Witch as AUv3 instrument
  2. Enable multi-output mode (host-dependent setting)
  3. Host creates 8 stereo channels for busses 1-8
  4. Route each bus channel to desired mixer track/FX chain
  5. Assign pads to busses in Speaking of Witch UI
  6. Play via MIDI β†’ audio flows through assigned busses

Parameter Automation

Speaking of Witch exposes 65 AUParameters to the host:

Parameter List

Automation Workflow

  1. In DAW, enable automation recording for Speaking of Witch track
  2. Play project, adjust parameters in Speaking of Witch UI
  3. Host records parameter changes as automation lanes
  4. Edit automation curves in DAW timeline
  5. Playback includes all automated parameter changes

Use Cases

State Preservation

Speaking of Witch implements full state persistence for seamless project workflow.

State Components

How State Restoration Works

When you reopen a saved project or load a preset:

  1. Immediate: All text, voice selections, envelopes, and routing settings restore instantly
  2. Background Synthesis: Each pad automatically re-synthesizes its saved text using the saved voice
  3. Loading Indicators: Watch each pad's loading spinner as synthesis happens in parallel
  4. Ready to Play: Pads become playable as their waveforms appear
  5. Total Time: Depends on text length across all pads (typically 2-15 seconds for full preset load)

State Storage Methods

  1. fullState: Complete configuration (text + settings, NO audio data)
  2. fullStateForDocument: Optimized for AUv3 host project saves
  3. Factory Preset: Preset reference only (loads bundled preset)
  4. User Preset: JSON file with all text and configuration data

Host Integration

Why Not Save Audio Samples?

πŸ’Ύ Preset Management

Speaking of Witch features a comprehensive preset system with both factory and user presets.

Preset System Architecture

Preset Model

Each preset contains:

Preset Format

How Preset Loading Works

When you load a preset (factory or user):

  1. Instant Config Load: All text, voices, envelopes, routing settings load immediately
  2. Parallel Synthesis: All 16 pads begin synthesizing their text in background threads simultaneously
  3. Loading Indicators: Each pad shows a spinner while synthesizing
  4. Progressive Readiness: Pads become playable as soon as their individual synthesis completes
  5. Full Load Time: Typically 2-15 seconds depending on total text length across all pads

Why This Design?

Saving & Overwriting Presets

Creating a New Preset

  1. Open the Presets browser β†’ User Presets tab
  2. Tap the + button in the top-right corner
  3. Enter a name for the preset
  4. Tap Save β€” the current pad configuration is written to a new preset file

Overwriting an Existing Preset

Updating a preset used to require creating a new preset with the exact same name β€” a fragile workflow where a small typo would silently create a duplicate instead of replacing the original. Speaking of Witch now offers a direct Overwrite action for updating a preset in place:

  1. Open the Presets browser β†’ User Presets tab
  2. Swipe left on the preset you want to update
  3. Three actions appear: Delete, Rename, Overwrite
  4. Tap Overwrite
  5. Confirm in the alert that appears (this action cannot be undone)
  6. The preset file is replaced with your current pad configuration

Notes:

iCloud & Local Storage

Speaking of Witch supports both iCloud Drive and local storage for presets.

Storage Locations

  1. Factory Presets: Bundled with app, read-only
  2. User Presets (Local): Device-specific storage
  3. User Presets (iCloud): Synced across all user's devices

iCloud Sync

File Manager Integration

Factory Presets

Speaking of Witch includes curated factory presets demonstrating various techniques:

Factory Preset Categories

  1. Vocal Percussion

    • "Beatbox Kit": Mouth percussion samples across pads
    • "Vocal Drums": Speech-based drum sounds
    • "Human 808": Low-pitched vocal bass kicks
  2. Melodic Phrases

    • "Choir Pads": Harmonized vowel sounds
    • "Robot Talk": Synthesized voice melodies
    • "Vocal Synth": Pitched speech chords
  3. Multi-Language

    • "World Hello": "Hello" in 16 languages
    • "Counting": Numbers 1-16 in various languages
    • "Polyglot Sequence": Musical phrase in multiple languages
  4. FX & Textures

    • "Glitch Speech": Stutter and pitch-modulated speech
    • "Reversed Talk": Reversed speech samples
    • "Whisper Textures": Soft, ambient speech
  5. Multi-Bus Demos

    • "8-Bus Separation": One pad per bus showcase
    • "Layered Output": Multiple pads per bus example
    • "FX Routing Template": Pre-routed for external effects

Import/Export

Export Preset

  1. Select preset in preset browser
  2. Tap "Share" or "Export" button
  3. Preset file contains:
    • All 16 pads' text content and voice selections
    • Envelope configurations (amplitude and pitch breakpoints)
    • MIDI channel and output bus assignments
    • Gain, pan, speed, and all other parameters
    • NO audio samples (samples re-synthesize on import)
  4. Choose export destination:
    • iCloud Drive
    • Files app location
    • AirDrop to another device
    • Email attachment
  5. Preset file saved as .sowpreset (typically 5-50 KB)

Import Preset

  1. Tap "Import" button in preset browser
  2. Choose import source:
    • iCloud Drive
    • Files app location
    • AirDrop from another device
    • Email attachment
  3. Preset text/configuration loads instantly
  4. Each pad synthesizes speech in background (watch loading indicators)
  5. Pads become playable as waveforms appear (typically 2-15 seconds total)

Preset Sharing

Sharing Benefits of Text-Based Presets:

🎼 Creative Applications

Speaking of Witch opens up unique creative possibilities at the intersection of speech synthesis and musical performance.

Vocal Sampling & Sequencing

Speech as Instrument

Transform ordinary speech into extraordinary musical material:

Technique 1: Melodic Speech

Technique 2: Rhythmic Phrases

Technique 3: Harmonic Layering

Technique 4: Multi-Pad Phrase Chopping (Recommended Workflow) Instead of loading long phrases into single pads, split content across multiple pads for creative sequencing:

Example: "Walking down the street, I saw you yesterday"

Traditional (Avoid):

Multi-Pad Approach (Better):

Benefits:

Performance:

Complex Multi-Bus Setups

Advanced Routing Scenarios

Setup 1: Parallel Processing

Bus 1 (Dry): Pads 1-4 β†’ No FX
Bus 2 (Reverb): Pads 5-8 β†’ Long reverb in DAW
Bus 3 (Delay): Pads 9-12 β†’ Rhythmic delay in DAW
Bus 4 (Distortion): Pads 13-16 β†’ Heavy distortion in DAW

Performance:
- Trigger dry pads for clarity
- Trigger reverb pads for space
- Trigger delay pads for rhythm
- Trigger distortion pads for aggression

Setup 2: Frequency-Based Routing

Bus 1 (Subs): Low-pitched male voices (MIDI notes 24-48)
Bus 2 (Mids): Mid-pitched female voices (MIDI notes 48-72)
Bus 3 (Highs): High-pitched child voices (MIDI notes 72-96)

DAW Processing:
- Bus 1 β†’ Low-pass filter + sub bass EQ
- Bus 2 β†’ Mid-range boost + compression
- Bus 3 β†’ High-pass filter + air EQ

Setup 3: Call-and-Response

Bus 1: "Question" phrases (pads 1-8)
Bus 2: "Answer" phrases (pads 9-16)

Automation:
- Bus 1 panned hard left
- Bus 2 panned hard right
- Alternate triggering for stereo dialogue

External FX Processing

Hardware Integration

Speaking of Witch's multi-bus architecture is perfect for hardware outboard gear:

Workflow 1: Hardware Reverb

  1. Bus 1 β†’ DAW output 1-2 β†’ Hardware reverb input
  2. Hardware reverb output β†’ DAW input β†’ Return track
  3. Assign ambient pads to Bus 1
  4. Real hardware reverb processing on speech samples

Workflow 2: Multi-FX Chain

  1. Bus 1 β†’ Hardware delay
  2. Bus 2 β†’ Hardware chorus
  3. Bus 3 β†’ Hardware distortion
  4. Bus 4 β†’ Hardware filter
  5. Assign pads to busses based on desired FX
  6. Each pad gets unique hardware character

Plugin Chains

In DAW, create unique effect chains per bus:

Example Bus Effects

Live Performance Techniques

Technique 1: MIDI Keyboard Performance

Technique 2: Pad Controller Sequencing

Technique 3: DAW Automation

Technique 4: Hybrid External Control


Speaking of Witch β€” Where speech becomes music.