Harmony & Melody
This page will present you all the functions that can be used to deal with harmonies, scales and various musical objects. Each function will be presented following the same model:
- Type signature: how the function is declared on the Haskell side.
- Description: verbal description of the function.
- Examples: a small list of examples that you can copy/paste in your editor.
#
Scales#
scaleThe scale
function interprets a pattern of note numbers into a particular named scale. For example:
caution
Prior to Tidal version 1.0.0, scale had a very different function as a range
operator. Veteran users will need to switch to using range
for this functionality.
#
scaleListThe scaleList
function outputs all the available scales, at the time of writing:
#
getScaleYou can build your own scale
function with additional scales if you wish, using getScale
. For example:
The above takes the standard scaleTable
as a starting point, and adds two custom scales to it. You'll be able to use the new function as normal:
#
toScaletoScale
allows you to quickly apply a scale without naming it. For example:
#
Chords#
chordListThe chordList function outputs all the available chords. At the time of writing:
caution
You'll need to run import Sound.Tidal.Chords
before using this function.
#
Arpeggios#
arpeggiateThe arpeggiate
(alias arpg
) function spreads chords of note numbers over time. For example, using the 1.0
version of Tidal, chord name notation & older list notation:
#
arpThe arp function takes an additional pattern of arpeggiate modes. For example, using the 1.0
version of Tidal, chord name notation (root note / chord type / additional notes above the chord):
The different arpeggiate modes are: