ReasonTouch Technical Companion
Version 1.0 (Working Draft)


4. Progression Planning Architecture

4.1 Introduction

If the Harmonic Analysis Engine answers the question

“What is this progression?”

then the Progression Planning Architecture answers

“Where should this progression go next?”

This distinction is fundamental to the design philosophy of ReasonTouch.

Traditional chord generators often skip directly from analysing the current chord to selecting the next one.

ReasonTouch deliberately inserts an intermediate planning layer.

Instead of:

Analyse

↓

Generate

ReasonTouch performs:

Analyse

↓

Plan

↓

Generate

This seemingly small architectural change produces a much more musical system.

The software is no longer choosing isolated chords.

It is making compositional decisions.


4.2 Why Planning Matters

Imagine a human composer writing the progression:

C

Am

F

G

They rarely think

“What chord comes next?”

Instead they ask questions such as

  • Should this section resolve?
  • Should tension continue?
  • Is this the end of a phrase?
  • Should the music become more energetic?
  • Is this leading into a chorus?
  • Should I surprise the listener?

Only after deciding the musical intention do they begin selecting chords.

The Planning Layer attempts to model this same thought process.


4.3 Separation of Musical Intent and Musical Realisation

One of the most important design principles within ReasonTouch is separating intent from implementation.

The planner never thinks in terms of chord names.

Instead it thinks in terms of goals.

Examples include:

Continue

Resolve

Increase tension

Repeat motif

Extend phrase

Create contrast

Modulate

Prepare cadence

These intentions are independent of key.

Whether the progression is in

C Major

or

F# Minor

the planning logic remains identical.

Only later are these abstract goals converted into actual harmony.


4.4 Inputs to the Planner

The planner receives a complete musical description from the Harmonic Analysis Engine.

Primary input:

ProgressionAnalysis

Typical information includes:

  • detected key
  • cadence type
  • harmonic stability
  • harmonic functions
  • tension
  • energy
  • root movement
  • confidence
  • progression length

Additional contextual inputs include:

  • current workspace
  • requested phrase length
  • generation mode
  • user preferences
  • mood bias
  • optional style constraints

Together these describe both the music and the composer’s intentions.


4.5 Planner Responsibilities

The planner is responsible for deciding:

  • whether the current phrase is complete
  • whether continuation is appropriate
  • whether resolution should occur
  • whether repetition is desirable
  • whether modulation is appropriate
  • whether variation should increase
  • how much harmonic risk is acceptable

Notice that none of these involve selecting actual chords.

Those decisions belong to the generation layer.


4.6 Planning Goals

Internally the planner produces one or more planning objectives.

Examples include:

Continue Naturally
Resolve
Increase Energy
Reduce Tension
Prepare Chorus
Extend Phrase
Create Contrast
Modulate

Each objective represents a possible future direction for the music.

The generator later determines how to realise that direction harmonically.


4.7 Multiple Future Possibilities

One of ReasonTouch’s core principles is that music rarely has only one correct continuation.

Instead of producing:

Next Chord = G

the planner generates multiple possible futures.

For example:

Future A

Natural continuation
Future B

Strong cadence
Future C

Unexpected modulation
Future D

Increase emotional tension

Each represents a different compositional decision rather than merely a different chord.

This allows the user to remain the creative decision maker.


4.8 Planning Strategies

Planning behaviour is divided into independent strategy modules.

Examples include:

ContinueStrategy
ResolveStrategy
ContrastStrategy
RepeatStrategy
ExpandStrategy
BridgeStrategy
ModulationStrategy

Each strategy answers one specific question.

For example,

ContinueStrategy

asks

“How can this idea continue naturally?”

whereas

ContrastStrategy

asks

“How can the next phrase feel different while remaining related?”

Because these strategies are isolated they can evolve independently.


4.9 Strategy Selection

The planner does not execute every strategy equally.

Instead each strategy is scored according to the current analysis.

For example:

Strategy Score
Continue 0.94
Resolve 0.82
Contrast 0.41
Modulate 0.08

These scores are influenced by:

  • harmonic stability
  • cadence type
  • phrase length
  • energy
  • tension
  • user mood bias
  • historical context

The highest scoring strategies become generation candidates.


4.10 Phrase Awareness

Unlike many chord generators, ReasonTouch plans in phrases rather than individual chords.

Instead of asking

“What is the next chord?”

the planner asks

“What should the next four bars achieve?”

Typical phrase objectives include:

  • reinforce tonic
  • climb toward dominant
  • prepare cadence
  • delay resolution
  • repeat previous idea
  • answer previous phrase

This phrase-oriented approach produces significantly more coherent musical results.


4.11 Musical Memory

Future versions of the planner will maintain a larger compositional memory.

Rather than analysing only the current progression, the planner will remember:

  • previous phrases
  • repeated motifs
  • harmonic rhythm
  • previous cadences
  • modulation history
  • thematic material

This allows long-form composition rather than isolated progression generation.


4.12 Mood Bias Integration

The existing Mood Bias control naturally integrates into the planning layer.

Rather than simply altering chord probabilities, mood affects planning priorities.

For example:

Low mood bias may favour:

  • slower resolutions
  • suspended harmony
  • modal colour
  • descending movement

High mood bias may favour:

  • stronger cadences
  • brighter harmonic motion
  • ascending progressions
  • energetic transitions

This produces more coherent emotional development than merely changing chord weights.


4.13 Planning Output

The planner produces one or more planning requests.

Conceptually these resemble:

ProgressionGenerationRequest

Typical contents include:

Source Analysis

Desired Direction

Preferred Length

Target Energy

Target Stability

Target Tension

Allowed Borrowed Chords

Generation Strategy

These requests are then passed to the generation engine.

The planner therefore acts as the bridge between musical understanding and musical creation.


4.14 Current Implementation

At present the planning architecture exists in a partially implemented form.

Components already present include:

  • ContinueStrategy
  • ProgressionGenerationRequest
  • GeneratedProgression
  • strategy interfaces
  • harmonic analysis pipeline

Several additional planning strategies remain on the roadmap.

Current development is focused on completing the planning framework before expanding generation capabilities.

This ensures that future AI improvements build upon a stable and extensible architectural foundation.


4.15 Future Development

The planning layer is intended to become increasingly sophisticated over time.

Planned enhancements include:

Adaptive Strategy Selection

Strategies will learn which continuations users prefer.


Style Profiles

Different planning behaviours for:

  • Classical
  • Jazz
  • Blues
  • Pop
  • Rock
  • Folk
  • Film
  • Progressive

Structural Awareness

Planning will understand:

  • verses
  • choruses
  • bridges
  • intros
  • codas

Emotional Arcs

Rather than planning individual phrases, the engine will eventually model complete emotional journeys across an entire composition.


Long-Term Harmonic Planning

Future versions may plan:

8 bars

↓

16 bars

↓

32 bars

↓

Entire songs

before generating any individual chords.

This moves ReasonTouch beyond chord suggestion into true compositional assistance.


4.16 Summary

The Progression Planning Architecture is the intellectual centre of the ReasonTouch generation engine.

It transforms musical analysis into compositional intent.

Rather than asking

“What chord comes next?”

it asks

“Where should the music go?”

This distinction allows the software to behave less like a random chord generator and more like a collaborative musical partner.

By separating planning from generation, the system becomes easier to extend, easier to reason about, and capable of supporting increasingly sophisticated compositional techniques in future releases.


End of Chapter 4

Next Chapter

Chapter 5 — Chord Generation Engine


<
Previous Post
Chapter 5 – The Progression Planning Engine
>
Next Post
Chapter 14 — Development Principles, Standards & Project Governance