Liking cljdoc? Tell your friends :D

noon.lib.harmony

Harmony related utilities

Harmony related utilities
raw docstring

->pitch-updateclj

(->pitch-update x)
source

abstract-dropsclj

(abstract-drops x & [include-inversions])

Get a list of abstract drops for x. An abstract-drop is a vec of the form [[first-octave-degree...][second-octave-degree...]...] e.g a drop 2 for a tetrad can be represented as [[0 2 3][1]] x can be either:

  • a natural number indicating the number of notes.
  • a sequence of numbers representing different notes.
Get a list of abstract drops for `x`.
An abstract-drop is a vec of the form [[first-octave-degree...][second-octave-degree...]...]
e.g a drop 2 for a tetrad can be represented as `[[0 2 3][1]]`
`x` can be either:
- a natural number indicating the number of notes.
- a sequence of numbers representing different notes.
sourceraw docstring

align-contextsclj

(align-contexts)
(align-contexts layer)
(align-contexts layer mode)

align successive harmonic contexts based on the given 'layer: :tonic (:t) | :structural (:s) | :diatonic (:d) | :chromatic (:c)

can also take a second argument 'mode: :incremental | :static that stays if the alignement is done on the first chord only or incrementally.

align successive harmonic contexts based on the given 'layer:
  :tonic (:t) | :structural (:s) | :diatonic (:d) | :chromatic (:c)

can also take a second argument 'mode:
  :incremental | :static
that stays if the alignement is done on the first chord only or incrementally.
sourceraw docstring

bounds-gteclj

(bounds-gte [a b] [c d])

Check if bounds [a b] contains bounds [c d].

Check if bounds [a b] contains bounds [c d].
sourceraw docstring

closedclj

Put a chord into closed position. Bring every notes within the octave following the bass note. If some notes have the same pitch class, it can produce unisons.

Put a chord into closed position.
Bring every notes within the octave following the bass note.
If some notes have the same pitch class, it can produce unisons.
sourceraw docstring

closed-no-unisonclj

Put a chord into closed position. Starting at bass note, bring every other notes as close as possible above it.

Put a chord into closed position.
Starting at bass note, bring every other notes as close as possible above it.
sourceraw docstring

dropclj

(drop x)

Build an update that produce a drop of the received score (that is expected to represent a chord). x is a member-pick argument that is used to pick a drop from the complete list of possible drops. refer to noon.utils.sequences/member for complete documentation

Build an update that produce a drop of the received score (that is expected to represent a chord).
`x` is a member-pick argument that is used to pick a drop from the complete list of possible drops.
refer to `noon.utils.sequences/member` for complete documentation
sourceraw docstring

dropsclj

Computes all possible drops of the given score (that is supposed to represent a chord). The :inversions option can be given to include inversions and their drops.

Computes all possible drops of the given score (that is supposed to represent a chord).
The :inversions option can be given to include inversions and their drops.
sourceraw docstring

gridclj

(grid & xs)

Build an update that applies an harmonic grid to the received score. The harmonic grid is created by threading a fresh score through the sequence of update xs. e.g (noon.score/mk* xs). The resulting score (which represent an harmonic grid) is zipped over the received score, All harmonies are applied accordingly to their position and duration.

Build an update that applies an harmonic grid to the received score.
The harmonic grid is created by threading a fresh score through the sequence of update `xs`.
e.g `(noon.score/mk* xs)`.
The resulting score (which represent an harmonic grid) is zipped over the received score,
All harmonies are applied accordingly to their position and duration.
sourceraw docstring

grid*clj

(grid* xs)

Build an update that applies an harmonic grid to the received score. The harmonic grid is created by threading a fresh score through the sequence of update xs. e.g (noon.score/mk* xs). The resulting score (which represent an harmonic grid) is zipped over the received score, All harmonies are applied accordingly to their position and duration.

Build an update that applies an harmonic grid to the received score.
The harmonic grid is created by threading a fresh score through the sequence of update `xs`.
e.g `(noon.score/mk* xs)`.
The resulting score (which represent an harmonic grid) is zipped over the received score,
All harmonies are applied accordingly to their position and duration.
sourceraw docstring

grid-zippedclj

(grid-zipped & xs)

zip the current score (which should represent an harmonic grid) to the resulting of applying 'xs updates to a fresh score.

zip the current score (which should represent an harmonic grid)
to the resulting of applying 'xs updates to a fresh score.
sourceraw docstring

grid-zipped*clj

(grid-zipped* xs)

zip the current score (which should represent an harmonic grid) to the resulting of applying 'xs updates to a fresh score.

zip the current score (which should represent an harmonic grid)
to the resulting of applying 'xs updates to a fresh score.
sourceraw docstring

harmonic-zipclj

(harmonic-zip grid content)

Build an update that zip a grid score over a content score. grid score and content score are just regular scores, but they are representing different things. grid score is representing an harmonic grid, and content score represents what is happening over those harmonies.

Two arguments are expected:

  • grid is an update that will be applied to the received score in order to produce the grid score.
  • content is an update that will be applied to received score in order to produce the content score.

Once those two scores are built, the harmonies of the grid score will be applied to the content score accordingly to their position and duration.

Build an update that zip a grid score over a content score.
grid score and content score are just regular scores, but they are representing different things.
grid score is representing an harmonic grid, and content score represents what is happening over those harmonies.

Two arguments are expected:
- `grid` is an update that will be applied to the received score in order to produce the grid score.
- `content` is an update that will be applied to received score in order to produce the content score.

Once those two scores are built, the harmonies of the grid score will be applied to the content score
accordingly to their position and duration.
sourceraw docstring

in-boundsclj

(in-bounds bounds s)

Check if the score s is within given pitch bounds.

Check if the score `s` is within given pitch `bounds`.
sourceraw docstring

inversionclj

(inversion n)

Build an update that produce an inversion of the received chord (score). x is an integer that correspond to the index of the desired inversion.

  • negative x picks the nth downward inversion
  • positive x picks the nth upward inversion.
Build an update that produce an inversion of the received chord (score).
`x` is an integer that correspond to the index of the desired inversion.
- negative `x` picks the nth downward inversion
- positive `x` picks the nth upward inversion.
sourceraw docstring

inversionsclj

compute downward and upward inversion of the given chord (score). return a map containing

  • :self, the received chord (score)
  • :upward, the list of upward inversions
  • :downward, the list of downward inversions.
compute downward and upward inversion of the given chord (score).
return a map containing
- :self, the received chord (score)
- :upward, the list of upward inversions
- :downward, the list of downward inversions.
sourceraw docstring

linclj

(lin & xs)

Build an update similarly to noon.score/lin but interpret keywords using noon.parse.harmony.

Build an update similarly to `noon.score/lin` but interpret keywords using `noon.parse.harmony`.
sourceraw docstring

lin*clj

(lin* xs)

Build an update similarly to noon.score/lin but interpret keywords using noon.parse.harmony.

Build an update similarly to `noon.score/lin` but interpret keywords using `noon.parse.harmony`.
sourceraw docstring

(modal-structure size)

Build an event update that change the harmonic structure of the received event to its N (size) most characteristic degrees. The table of degree priority for known modes is available as noon.constants/degree-priority.

Build an event update that change the harmonic structure of the received event to its N (`size`) most characteristic degrees.
The table of degree priority for known modes is available as `noon.constants/degree-priority`.
sourceraw docstring

pitch-valuesclj

(pitch-values chord)

Returns a sorted vector of all pitch-values in chord (score).

Returns a sorted vector of all pitch-values in chord (score).
sourceraw docstring

simple-chordclj

Build a structural chord on top of received event.

Build a structural chord on top of received event.
sourceraw docstring

tupclj

(tup & xs)

Build an update similarly to noon.score/tup but interpret keywords using noon.parse.harmony.

Build an update similarly to `noon.score/tup` but interpret keywords using `noon.parse.harmony`.
sourceraw docstring

tup*clj

(tup* xs)

Build an update similarly to noon.score/tup but interpret keywords using noon.parse.harmony.

Build an update similarly to `noon.score/tup` but interpret keywords using `noon.parse.harmony`.
sourceraw docstring

updclj

(upd & xs)
source

voice-ledclj

Apply voice leading to the received score.

Apply voice leading to the received score.
sourceraw docstring

VOICE_LEADING_MAX_SHIFTclj

The maximal step that can occur betwwen extreme voices of a voice leading.

The maximal step that can occur betwwen extreme voices of a voice leading.
sourceraw docstring

voicingsclj

(voicings s {:as _opts :keys [bounds]})

Computes a list of possible voicings for the given chord (score s). The second argument is an option map that contain:

  • :bounds, a vector of the form [lowest-pitch-value highest-pitch-value]
Computes a list of possible voicings for the given chord (score `s`).
The second argument is an option map that contain:
- :bounds, a vector of the form [lowest-pitch-value highest-pitch-value]
sourceraw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close