Generally speaking, the improvisation is supposed to be free. There are some restrictions imposed by harmony that the player should overcome by practice and a correct approach.
The theory speaks about two ways to approach improvisation:
The vertical approach – the player solos according to the current chord.
The horizontal approach – the player solos according to the current scale
A classic example of vertical approach is “wrapping the chord”. That means that certain notes of the current chord and neighboring ones are played: Wrapping Chords.
Another vertical approach is to play modes according to the chord-changes. For this you will get help from the "Recommended Modes" table or from the "harmolod" program in the "Harmony" section of CAL Programs.
The vertical approach demands a perfect knowledge of harmony and quick-thinking. Sometimes the modes that the soloist plays may be too far out of the basic key of the song or of the section. That's why we got the horizontal approach:
If the current chord is the result of the harmonization of the basic scale of the song, there's no problem: one can improvise freely inside the scale. If a chord that contains one or two notes that don't belong to the basic scale emerges, the improviser may go on thinking about the same scale with one or two exceptions.
Some examples: Diagonal Approach.
Another situation is when sections of the song are written in other scales than the basic one: Modulation
Inside the scale one can play:
- 2-notes patterns: intervals
- 3-notes patterns: triads
- 4-notes patterns: arpeggios
- 5-notes patterns: pentatonic scales
- 6-notes patterns: blues scales
- 7 or 8-notes patterns: scales
- In Major Scales
- In Harmonic-Minor Scales
- In Melodic-Minor Scales
But the real thing is after you master all the theories and all the techniques. Here is some advice of how to get there: Beyond the Right Notes
Except the “Modulation” examples, all the others are written in C scales for a quick comprehension. It is your task to transpose them in all the other scales and eventually to write comps on which you’ll solo. This way, you’ll also learn them faster.