Liking cljdoc? Tell your friends :D
Clojure only.

noon.score

build, transform, play and write midi scores

build, transform, play and write midi scores
raw docstring

!cljmacro

(! expression)

Takes a non deterministic expression resulting in a score update.Returns a score update that wraps the expression so that it is evaluated each time the update is called.

Takes a non deterministic `expression` resulting in a score update.Returns a score update that wraps the `expression` so that it is evaluated each time the update is called.
raw docstring

$byclj

($by event->group update)

Splits the score according to the return of event->group applied to each event.apply update on each subscore and merge all the results together.Before being updated, each subscore is repositioned to zero, and shifted back to its original position after.

Splits the score according to the return of `event->group` applied to each event.apply `update` on each subscore and merge all the results together.Before being updated, each subscore is repositioned to zero, and shifted back to its original position after.
raw docstring

->16bits-naturalclj

(->16bits-natural x)

MIDI sometimes deals with 16 bits values, this function coerce its input to this range.

MIDI sometimes deals with 16 bits values,
this function coerce its input to this range.
raw docstring

->4bits-naturalclj

(->4bits-natural x)

MIDI sometimes deals with natural between 0 and 16, this function coerce its input to this range.

MIDI sometimes deals with natural between 0 and 16,
this function coerce its input to this range.
raw docstring

->7bits-naturalclj

(->7bits-natural x)

MIDI often deals with natural between 0 and 127, this function coerce its input to this range.

MIDI often deals with natural between 0 and 127,
this function coerce its input to this range.
raw docstring

->event-matcherclj

(->event-matcher x)

turn x into an event-matcher. an event-matcher is a function from event to boolean. If x is an event-update, the result of applying it to the received event should be equal to the received event in order for it to indicate a match. In other cases x is passed as second argument to noon.utils.maps/match: Check if the map m is matching with x. x can either be - a function that,when applied to m can return a deeply truthy map indicating a match, - another map from which each subvalues will be match against corresponding subvalues of m subvalues of x can be regular values that will be check for equality or functions that will be applyed to corresponding subvalues of m in order to determine if the match is successful or not.

turn `x` into an event-matcher.
an event-matcher is a function from event to boolean.
If `x` is an event-update, the result of applying it to the received event should be 
equal to the received event in order for it to indicate a match.
In other cases `x` is passed as second argument to `noon.utils.maps/match`:
Check if the map `m` is matching with `x`.
   `x` can either be
    - a function that,when applied to `m` can return a deeply truthy map indicating a match,
    - another map from which each subvalues will be match against corresponding subvalues of `m`
      subvalues of `x` can be regular values that will be check for equality
      or functions that will be applyed to corresponding subvalues of `m` in order to determine
      if the match is successful or not.
raw docstring

->event-updateclj

(->event-update x)

->intclj

(->int x)

Turn x into an integer, rounding it if needed, returning 0 if not a number.

Turn `x` into an integer, rounding it if needed, returning 0 if not a number.
raw docstring

->score-checkerclj

(->score-checker x)

Convert x to a score-checker if possible. A score-checker is a score-update that can return the score unchanged or nil indicating failure.

Convert `x` to a score-checker if possible.
A score-checker is a score-update that can return the score unchanged or nil indicating failure.
raw docstring

->score-checker!clj

(->score-checker! x)

Strict version of noon.score/->score-checker

Strict version of `noon.score/->score-checker`
raw docstring

->score-updateclj

(->score-update x)

Turn 'x into a score-update if possible.

Turn 'x into a score-update if possible.
raw docstring

->score-update!clj

(->score-update! x)

Strict version of noon.score/->score-update, it throws if x is not convertible.

Strict version of `noon.score/->score-update`, it throws if `x` is not convertible.
raw docstring

-def-channelscljmacro

(-def-channels)

-def-degreescljmacro

(-def-degrees)

-def-durationscljmacro

(-def-durations)

-def-shiftscljmacro

(-def-shifts name prefix max f)

-def-stepscljmacro

(-def-steps name prefix max f)

-def-trackscljmacro

(-def-tracks)

-def-velocitiescljmacro

(-def-velocities)

-def-wrappedcljmacro

(-def-wrapped wrapper m)

?keepclj

(?keep f xs)

like clojure.core/map, but if f returns nil for one element, the whole form returns nil.

like `clojure.core/map`, but if `f` returns nil for one element, the whole form returns nil.
raw docstring

?reduceclj

(?reduce f init xs)

like clojure.core/reduce but short-circuits (returns nil) on first falsy result

like `clojure.core/reduce` but short-circuits (returns nil) on first falsy result
raw docstring

_clj

Identity transformation

Identity transformation
raw docstring

addclj

(add x)

adjustclj

(adjust x)

Time stretching/shifting operation syntax sugar over noon.score/fit-score.

Time stretching/shifting operation syntax sugar over `noon.score/fit-score`.
raw docstring

any-thatclj

(any-that test & updates)

Tries updates in random order until one passes test.

Tries `updates` in random order until one passes `test`.
raw docstring

any-that*clj

(any-that* test updates)

Tries updates in random order until one passes test.

Tries `updates` in random order until one passes `test`.
raw docstring

appendclj

(append & updates)

Like 'lin but insert the current score before.

Like 'lin but insert the current score before.
raw docstring

append*clj

(append* updates)

Like 'lin but insert the current score before.

Like 'lin but insert the current score before.
raw docstring

append>clj

(append> & updates)

Accumulative 'append.

Accumulative 'append.
raw docstring

append>*clj

(append>* updates)

Accumulative 'append.

Accumulative 'append.
raw docstring

betweenclj

(between x y)

Build an update that keeps only events that are positioned between x and y positions.

Build an update that keeps only events that are positioned between x and y positions.
raw docstring

c-positionclj

(c-position & xs__11752__auto__)

Build an harmonic event-update using noon.harmony/c-position The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/c-position

arglists:

doc:

Build a chromatic position update. takes 0 or 1 arguments: c: chromatic layer offset.

Build an harmonic event-update using noon.harmony/c-position
The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/c-position

arglists:



doc:

Build a chromatic position update.
                   takes 0 or 1 arguments:
                   c: chromatic layer offset.
raw docstring

c-shiftclj

(c-shift & xs__11752__auto__)

Build an harmonic event-update using noon.harmony/c-shift The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/c-shift

arglists:

doc:

Builds a chromatic shift update. see noon.harmony/layer-shift documentation.

Build an harmonic event-update using noon.harmony/c-shift
The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/c-shift

arglists:



doc:

Builds a chromatic shift update. see `noon.harmony/layer-shift` documentation.
raw docstring

c-stepclj

(c-step & xs__11752__auto__)

Build an harmonic event-update using noon.harmony/c-step The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/c-step

arglists:

([n])

doc:

Build a chromatic step update, which adds n to the given context's position's chromatic layer offset.

Build an harmonic event-update using noon.harmony/c-step
The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/c-step

arglists:

([n])

doc:

Build a chromatic step update, which adds `n` to the given context's position's chromatic layer offset.
raw docstring

c0clj


ccclj

(cc key val)

chainclj

(chain & updates)

Compose several updates together linearly.

Compose several updates together linearly.
raw docstring

chain*clj

(chain* updates)

Compose several updates together linearly.

Compose several updates together linearly.
raw docstring

chain-event-updatesclj

(chain-event-updates event-updates)

Chain several event-updates one after another.

Chain several `event-updates` one after another.
raw docstring

chain-score-updatesclj

(chain-score-updates updates)

chanclj

(chan x)

Builds a :velocity event-update based on x.

Builds a :velocity event-update based on `x`.
raw docstring

chan+clj

(chan+ x)

chan-clj

(chan- x)

chan0clj

Set event midi channel to 0

Set event midi channel to 0
raw docstring

chan1clj

Set event midi channel to 1

Set event midi channel to 1
raw docstring

chan10clj

Set event midi channel to 10

Set event midi channel to 10
raw docstring

chan11clj

Set event midi channel to 11

Set event midi channel to 11
raw docstring

chan12clj

Set event midi channel to 12

Set event midi channel to 12
raw docstring

chan13clj

Set event midi channel to 13

Set event midi channel to 13
raw docstring

chan14clj

Set event midi channel to 14

Set event midi channel to 14
raw docstring

chan15clj

Set event midi channel to 15

Set event midi channel to 15
raw docstring

chan2clj

Set event midi channel to 2

Set event midi channel to 2
raw docstring

chan3clj

Set event midi channel to 3

Set event midi channel to 3
raw docstring

chan4clj

Set event midi channel to 4

Set event midi channel to 4
raw docstring

chan5clj

Set event midi channel to 5

Set event midi channel to 5
raw docstring

chan6clj

Set event midi channel to 6

Set event midi channel to 6
raw docstring

chan7clj

Set event midi channel to 7

Set event midi channel to 7
raw docstring

chan8clj

Set event midi channel to 8

Set event midi channel to 8
raw docstring

chan9clj

Set event midi channel to 9

Set event midi channel to 9
raw docstring

chansclj

(chans & updates)

Apply updates in parallel on subsequent midi channels.

Apply `updates` in parallel on subsequent midi channels.
raw docstring

chans*clj

(chans* updates)

Apply updates in parallel on subsequent midi channels.

Apply `updates` in parallel on subsequent midi channels.
raw docstring

chunk-scoreclj

(chunk-score score by)

Chunk score using the by function,return a sorted (accordingly to by) sequence of subscores.

Chunk `score` using the `by` function,return a sorted (accordingly to `by`) sequence of subscores.
raw docstring

concat-scoreclj

(concat-score a b)

Concat 2 scores temporally.

Concat 2 scores temporally.
raw docstring

concat-scoresclj

(concat-scores xs)

Concat several scores temporally.

Concat several scores temporally.
raw docstring

connect-byclj

(connect-by by f)

Build an update that use f to join successive score's chunks.

  • Chunks the score with noon.score/chunk-score accordingly to by, resulting in a list of scores.
  • Iterates this sorted list by pair, applying f to each one producing a new score.
  • all those scores are merged together.
Build an update that use `f` to join successive score's chunks.
- Chunks the score with `noon.score/chunk-score` accordingly to `by`, resulting in a list of scores.
- Iterates this sorted list by pair, applying `f` to each one producing a new score.
- all those scores are merged together.
raw docstring

d-ceilclj

Updates the :pitch value of the received event using noon.harmony/d-ceil

doc:

Build an update that bring received context to the closest diatonic position above.

Updates the :pitch value of the received event using noon.harmony/d-ceil

doc:

Build an update that bring received context to the closest diatonic position above.
raw docstring

d-floorclj

Updates the :pitch value of the received event using noon.harmony/d-floor

doc:

Build an update that bring received context to the closest diatonic position below.

Updates the :pitch value of the received event using noon.harmony/d-floor

doc:

Build an update that bring received context to the closest diatonic position below.
raw docstring

d-positionclj

(d-position & xs__11752__auto__)

Build an harmonic event-update using noon.harmony/d-position The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/d-position

arglists:

doc:

Build a diatonic position update. takes 0 to 2 arguments: d: diatonic layer offset. c: chromatic layer offset.

Build an harmonic event-update using noon.harmony/d-position
The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/d-position

arglists:



doc:

Build a diatonic position update.
                   takes 0 to 2 arguments:
                   d: diatonic layer offset.
                   c: chromatic layer offset.
raw docstring

d-roundclj

Updates the :pitch value of the received event using noon.harmony/d-round

doc:

Build an update that bring received context to the closest diatonic position.

Updates the :pitch value of the received event using noon.harmony/d-round

doc:

Build an update that bring received context to the closest diatonic position.
raw docstring

d-shiftclj

(d-shift & xs__11752__auto__)

Build an harmonic event-update using noon.harmony/d-shift The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/d-shift

arglists:

doc:

Builds a diatonic shift update. see noon.harmony/layer-shift documentation.

Build an harmonic event-update using noon.harmony/d-shift
The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/d-shift

arglists:



doc:

Builds a diatonic shift update. see `noon.harmony/layer-shift` documentation.
raw docstring

d-stepclj

(d-step & xs__11752__auto__)

Build an harmonic event-update using noon.harmony/d-step The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/d-step

arglists:

([n])

doc:

Build a diatonic step update which operates as follow: - Trim chromatic layer offset after feeding as much as possible to the diatonic layer offset - Adds n to diatonic offset.

Build an harmonic event-update using noon.harmony/d-step
The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/d-step

arglists:

([n])

doc:

Build a diatonic step update which operates as follow:
             - Trim chromatic layer offset after feeding
               as much as possible to the diatonic layer offset
             - Adds `n` to diatonic offset.
raw docstring

d0clj


dedup-tempo-messagesclj

(dedup-tempo-messages score)

NOT USED YET, TO VERIFY

NOT USED YET, TO VERIFY
raw docstring

dedupe-patches-and-control-changesclj

(dedupe-patches-and-control-changes score)

Remove redondant :patch and :cc event entries from score

Remove redondant :patch and :cc event entries from `score`
raw docstring

DEFAULT_EVENTclj


degreeclj

(degree & xs__11752__auto__)

Build an harmonic event-update using noon.harmony/degree The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/degree

arglists:

([n])

doc:

Build an update that go to degree n (potentially negative) of the received context preserving its position.

Build an harmonic event-update using noon.harmony/degree
The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/degree

arglists:

([n])

doc:

Build an update that go to degree `n` (potentially negative) of the received context preserving its position.
raw docstring

divclj

(div x)

dupclj

(dup n-times)

Duplicate the received score n-times and concat the duplicates.

Duplicate the received score `n-times` and concat the duplicates.
raw docstring

duptclj

(dupt n-times)

Duplicate received score n-times and tup the duplicates.

Duplicate received score `n-times` and tup the duplicates.
raw docstring

durclj

(dur x)

Builds a :duration event-update based on x.

Builds a :duration event-update based on `x`.
raw docstring

dur10clj

Multiply event duration by 10

Multiply event duration by 10
raw docstring

dur10:10clj

Multiply event duration by 10/10

Multiply event duration by 10/10
raw docstring

dur10:11clj

Multiply event duration by 10/11

Multiply event duration by 10/11
raw docstring

dur10:2clj

Multiply event duration by 10/2

Multiply event duration by 10/2
raw docstring

dur10:3clj

Multiply event duration by 10/3

Multiply event duration by 10/3
raw docstring

dur10:4clj

Multiply event duration by 10/4

Multiply event duration by 10/4
raw docstring

dur10:5clj

Multiply event duration by 10/5

Multiply event duration by 10/5
raw docstring

dur10:6clj

Multiply event duration by 10/6

Multiply event duration by 10/6
raw docstring

dur10:7clj

Multiply event duration by 10/7

Multiply event duration by 10/7
raw docstring

dur10:8clj

Multiply event duration by 10/8

Multiply event duration by 10/8
raw docstring

dur10:9clj

Multiply event duration by 10/9

Multiply event duration by 10/9
raw docstring

dur11clj

Multiply event duration by 11

Multiply event duration by 11
raw docstring

dur11:10clj

Multiply event duration by 11/10

Multiply event duration by 11/10
raw docstring

dur11:11clj

Multiply event duration by 11/11

Multiply event duration by 11/11
raw docstring

dur11:2clj

Multiply event duration by 11/2

Multiply event duration by 11/2
raw docstring

dur11:3clj

Multiply event duration by 11/3

Multiply event duration by 11/3
raw docstring

dur11:4clj

Multiply event duration by 11/4

Multiply event duration by 11/4
raw docstring

dur11:5clj

Multiply event duration by 11/5

Multiply event duration by 11/5
raw docstring

dur11:6clj

Multiply event duration by 11/6

Multiply event duration by 11/6
raw docstring

dur11:7clj

Multiply event duration by 11/7

Multiply event duration by 11/7
raw docstring

dur11:8clj

Multiply event duration by 11/8

Multiply event duration by 11/8
raw docstring

dur11:9clj

Multiply event duration by 11/9

Multiply event duration by 11/9
raw docstring

dur2clj

Multiply event duration by 2

Multiply event duration by 2
raw docstring

dur2:10clj

Multiply event duration by 2/10

Multiply event duration by 2/10
raw docstring

dur2:11clj

Multiply event duration by 2/11

Multiply event duration by 2/11
raw docstring

dur2:2clj

Multiply event duration by 2/2

Multiply event duration by 2/2
raw docstring

dur2:3clj

Multiply event duration by 2/3

Multiply event duration by 2/3
raw docstring

dur2:4clj

Multiply event duration by 2/4

Multiply event duration by 2/4
raw docstring

dur2:5clj

Multiply event duration by 2/5

Multiply event duration by 2/5
raw docstring

dur2:6clj

Multiply event duration by 2/6

Multiply event duration by 2/6
raw docstring

dur2:7clj

Multiply event duration by 2/7

Multiply event duration by 2/7
raw docstring

dur2:8clj

Multiply event duration by 2/8

Multiply event duration by 2/8
raw docstring

dur2:9clj

Multiply event duration by 2/9

Multiply event duration by 2/9
raw docstring

dur3clj

Multiply event duration by 3

Multiply event duration by 3
raw docstring

dur3:10clj

Multiply event duration by 3/10

Multiply event duration by 3/10
raw docstring

dur3:11clj

Multiply event duration by 3/11

Multiply event duration by 3/11
raw docstring

dur3:2clj

Multiply event duration by 3/2

Multiply event duration by 3/2
raw docstring

dur3:3clj

Multiply event duration by 3/3

Multiply event duration by 3/3
raw docstring

dur3:4clj

Multiply event duration by 3/4

Multiply event duration by 3/4
raw docstring

dur3:5clj

Multiply event duration by 3/5

Multiply event duration by 3/5
raw docstring

dur3:6clj

Multiply event duration by 3/6

Multiply event duration by 3/6
raw docstring

dur3:7clj

Multiply event duration by 3/7

Multiply event duration by 3/7
raw docstring

dur3:8clj

Multiply event duration by 3/8

Multiply event duration by 3/8
raw docstring

dur3:9clj

Multiply event duration by 3/9

Multiply event duration by 3/9
raw docstring

dur4clj

Multiply event duration by 4

Multiply event duration by 4
raw docstring

dur4:10clj

Multiply event duration by 4/10

Multiply event duration by 4/10
raw docstring

dur4:11clj

Multiply event duration by 4/11

Multiply event duration by 4/11
raw docstring

dur4:2clj

Multiply event duration by 4/2

Multiply event duration by 4/2
raw docstring

dur4:3clj

Multiply event duration by 4/3

Multiply event duration by 4/3
raw docstring

dur4:4clj

Multiply event duration by 4/4

Multiply event duration by 4/4
raw docstring

dur4:5clj

Multiply event duration by 4/5

Multiply event duration by 4/5
raw docstring

dur4:6clj

Multiply event duration by 4/6

Multiply event duration by 4/6
raw docstring

dur4:7clj

Multiply event duration by 4/7

Multiply event duration by 4/7
raw docstring

dur4:8clj

Multiply event duration by 4/8

Multiply event duration by 4/8
raw docstring

dur4:9clj

Multiply event duration by 4/9

Multiply event duration by 4/9
raw docstring

dur5clj

Multiply event duration by 5

Multiply event duration by 5
raw docstring

dur5:10clj

Multiply event duration by 5/10

Multiply event duration by 5/10
raw docstring

dur5:11clj

Multiply event duration by 5/11

Multiply event duration by 5/11
raw docstring

dur5:2clj

Multiply event duration by 5/2

Multiply event duration by 5/2
raw docstring

dur5:3clj

Multiply event duration by 5/3

Multiply event duration by 5/3
raw docstring

dur5:4clj

Multiply event duration by 5/4

Multiply event duration by 5/4
raw docstring

dur5:5clj

Multiply event duration by 5/5

Multiply event duration by 5/5
raw docstring

dur5:6clj

Multiply event duration by 5/6

Multiply event duration by 5/6
raw docstring

dur5:7clj

Multiply event duration by 5/7

Multiply event duration by 5/7
raw docstring

dur5:8clj

Multiply event duration by 5/8

Multiply event duration by 5/8
raw docstring

dur5:9clj

Multiply event duration by 5/9

Multiply event duration by 5/9
raw docstring

dur6clj

Multiply event duration by 6

Multiply event duration by 6
raw docstring

dur6:10clj

Multiply event duration by 6/10

Multiply event duration by 6/10
raw docstring

dur6:11clj

Multiply event duration by 6/11

Multiply event duration by 6/11
raw docstring

dur6:2clj

Multiply event duration by 6/2

Multiply event duration by 6/2
raw docstring

dur6:3clj

Multiply event duration by 6/3

Multiply event duration by 6/3
raw docstring

dur6:4clj

Multiply event duration by 6/4

Multiply event duration by 6/4
raw docstring

dur6:5clj

Multiply event duration by 6/5

Multiply event duration by 6/5
raw docstring

dur6:6clj

Multiply event duration by 6/6

Multiply event duration by 6/6
raw docstring

dur6:7clj

Multiply event duration by 6/7

Multiply event duration by 6/7
raw docstring

dur6:8clj

Multiply event duration by 6/8

Multiply event duration by 6/8
raw docstring

dur6:9clj

Multiply event duration by 6/9

Multiply event duration by 6/9
raw docstring

dur7clj

Multiply event duration by 7

Multiply event duration by 7
raw docstring

dur7:10clj

Multiply event duration by 7/10

Multiply event duration by 7/10
raw docstring

dur7:11clj

Multiply event duration by 7/11

Multiply event duration by 7/11
raw docstring

dur7:2clj

Multiply event duration by 7/2

Multiply event duration by 7/2
raw docstring

dur7:3clj

Multiply event duration by 7/3

Multiply event duration by 7/3
raw docstring

dur7:4clj

Multiply event duration by 7/4

Multiply event duration by 7/4
raw docstring

dur7:5clj

Multiply event duration by 7/5

Multiply event duration by 7/5
raw docstring

dur7:6clj

Multiply event duration by 7/6

Multiply event duration by 7/6
raw docstring

dur7:7clj

Multiply event duration by 7/7

Multiply event duration by 7/7
raw docstring

dur7:8clj

Multiply event duration by 7/8

Multiply event duration by 7/8
raw docstring

dur7:9clj

Multiply event duration by 7/9

Multiply event duration by 7/9
raw docstring

dur8clj

Multiply event duration by 8

Multiply event duration by 8
raw docstring

dur8:10clj

Multiply event duration by 8/10

Multiply event duration by 8/10
raw docstring

dur8:11clj

Multiply event duration by 8/11

Multiply event duration by 8/11
raw docstring

dur8:2clj

Multiply event duration by 8/2

Multiply event duration by 8/2
raw docstring

dur8:3clj

Multiply event duration by 8/3

Multiply event duration by 8/3
raw docstring

dur8:4clj

Multiply event duration by 8/4

Multiply event duration by 8/4
raw docstring

dur8:5clj

Multiply event duration by 8/5

Multiply event duration by 8/5
raw docstring

dur8:6clj

Multiply event duration by 8/6

Multiply event duration by 8/6
raw docstring

dur8:7clj

Multiply event duration by 8/7

Multiply event duration by 8/7
raw docstring

dur8:8clj

Multiply event duration by 8/8

Multiply event duration by 8/8
raw docstring

dur8:9clj

Multiply event duration by 8/9

Multiply event duration by 8/9
raw docstring

dur9clj

Multiply event duration by 9

Multiply event duration by 9
raw docstring

dur9:10clj

Multiply event duration by 9/10

Multiply event duration by 9/10
raw docstring

dur9:11clj

Multiply event duration by 9/11

Multiply event duration by 9/11
raw docstring

dur9:2clj

Multiply event duration by 9/2

Multiply event duration by 9/2
raw docstring

dur9:3clj

Multiply event duration by 9/3

Multiply event duration by 9/3
raw docstring

dur9:4clj

Multiply event duration by 9/4

Multiply event duration by 9/4
raw docstring

dur9:5clj

Multiply event duration by 9/5

Multiply event duration by 9/5
raw docstring

dur9:6clj

Multiply event duration by 9/6

Multiply event duration by 9/6
raw docstring

dur9:7clj

Multiply event duration by 9/7

Multiply event duration by 9/7
raw docstring

dur9:8clj

Multiply event duration by 9/8

Multiply event duration by 9/8
raw docstring

dur9:9clj

Multiply event duration by 9/9

Multiply event duration by 9/9
raw docstring

dur:10clj

Divide event duration by 10

Divide event duration by 10
raw docstring

dur:11clj

Divide event duration by 11

Divide event duration by 11
raw docstring

dur:2clj

Divide event duration by 2

Divide event duration by 2
raw docstring

dur:3clj

Divide event duration by 3

Divide event duration by 3
raw docstring

dur:4clj

Divide event duration by 4

Divide event duration by 4
raw docstring

dur:5clj

Divide event duration by 5

Divide event duration by 5
raw docstring

dur:6clj

Divide event duration by 6

Divide event duration by 6
raw docstring

dur:7clj

Divide event duration by 7

Divide event duration by 7
raw docstring

dur:8clj

Divide event duration by 8

Divide event duration by 8
raw docstring

dur:9clj

Divide event duration by 9

Divide event duration by 9
raw docstring

e->scljmacro

(e->s pat & body)

e0clj


eachclj

(each & updates)

Apply an update to each events of a score.

Apply an update to each events of a score.
raw docstring

each*clj

(each* updates)

Apply an update to each events of a score.

Apply an update to each events of a score.
raw docstring

ef_cljmacro

(ef_ & body)

efncljmacro

(efn arg & body)

just a tagged lambda that represents an event update function

just a tagged lambda that represents an event update function
raw docstring

eqclj

(eq x)

event->pitchclj

(event->pitch e)

event-matcherclj

(event-matcher f)

event-matcher?clj


event-scaleclj

(event-scale dimension x)

Restrains and scale one event dimension to the given bounds over the whole score.

Restrains and scale one event `dimension` to the given bounds over the whole score.
raw docstring

event-update->event-matcherclj

(event-update->event-matcher event-update)

event-update?clj


fillclj

(fill resolution update)

Fill the score using a tup of update of size (score-duration / resolution)resolution should be an exact multiple of received score's duration.

Fill the score using a `tup` of `update` of size (score-duration / `resolution`)`resolution` should be an exact multiple of received score's duration.
raw docstring

fill>clj

(fill> resolution update)

Fill the score using an accumulative tup> of update of size (score-duration / resolution)resolution should be an exact multiple of received score's duration.

Fill the score using an accumulative `tup>` of `update` of size (score-duration / `resolution`)`resolution` should be an exact multiple of received score's duration.
raw docstring

filter-scoreclj

(filter-score score f)

fitclj

(fit & updates)

Wraps the given transformation 'x, stretching its output to the input score duration. In other words, turn any transformation into another one that do not change the duration of its input score.

Wraps the given transformation 'x, stretching its output to the input score duration. In other words, turn any transformation into another one that do not change the duration of its input score.
raw docstring

fit*clj

(fit* updates)

Wraps the given transformation 'x, stretching its output to the input score duration. In other words, turn any transformation into another one that do not change the duration of its input score.

Wraps the given transformation 'x, stretching its output to the input score duration. In other words, turn any transformation into another one that do not change the duration of its input score.
raw docstring

fit-scoreclj

(fit-score score {:keys [duration position]})

Fit a score into a note scaling and shifting it to match the position and length of the given note.

Fit a score into a note scaling and shifting it
to match the position and length of the given note.
raw docstring

fork-withclj

(fork-with branch-idx->update & branch-updates)

Like noon.score/par but let you the opportunity to do something on the score based on the index of the branch before applying corresponding update.

Like `noon.score/par` but let you the opportunity to do something on the score based on the index of the branch before applying corresponding update.
raw docstring

fork-with*clj

(fork-with* branch-idx->update branch-updates)

Like noon.score/par but let you the opportunity to do something on the score based on the index of the branch before applying corresponding update.

Like `noon.score/par` but let you the opportunity to do something on the score based on the index of the branch before applying corresponding update.
raw docstring

fromclj

(from x)

Build an update that removes the elements anterior to the given position from the received score.

Build an update that removes the elements anterior to the given position from the received score.
raw docstring

fstclj

(fst & updates)

Tries given updates in order until the first success (non empty score).

Tries given `updates` in order until the first success (non empty score).
raw docstring

fst*clj

(fst* updates)

Tries given updates in order until the first success (non empty score).

Tries given `updates` in order until the first success (non empty score).
raw docstring

fst-thatclj

(fst-that test & updates)

Tries given updates in order until one passes test.

Tries given `updates` in order until one passes `test`.
raw docstring

fst-that*clj

(fst-that* test updates)

Tries given updates in order until one passes test.

Tries given `updates` in order until one passes `test`.
raw docstring

gen-filenameclj

(gen-filename & [dir])

gtclj

(gt x)

gteclj

(gte x)

history*clj


humanizeclj

(humanize & {:keys [max-step bounds]})

Build a function that humanize a midi value (int between 0 and 127). Options are:

  • :max-step is the maximum step that can occur in either directions. its value can be:
    • a natural number, which represent the maximum step value in either direction
    • a rational or float, which indicates the size of maximun step relatively to the allowed value range (see :bounds option).
    • nil, indicating that any step can be made within specified :bounds (default to the whole midi value range 0-127)
  • :bounds is a vector of the form [min-value max-value] that constrain input and output of the created update. the two value it contains can be any valid noon.score/midi-val argument (natural, rational,float or :min and :max keywords)
Build a function that humanize a midi value (int between 0 and 127).
Options are:
- :max-step is the maximum step that can occur in either directions.
  its value can be:
  - a natural number, which represent the maximum step value in either direction
  - a rational or float, which indicates the size of maximun step relatively to the allowed value range (see :bounds option).
  - nil, indicating that any step can be made within specified :bounds (default to the whole midi value range 0-127)
- :bounds is a vector of the form [min-value max-value] that constrain input and output of the created update.
  the two value it contains can be any valid `noon.score/midi-val` argument (natural, rational,float or :min and :max keywords)
raw docstring

import-wrap-harmony-update-constructorscljmacro

(import-wrap-harmony-update-constructors & xs)

import-wrap-harmony-updatescljmacro

(import-wrap-harmony-updates & xs)

in-placeclj

(in-place u)

Turn the given update u into an update that reposition received score to position zero before applying u to it. The resulting score is then adjusted to its initial duration and shifted to its original position. This is useful when you need to scan update a score. It is similar to what the noon.score/each function is doing.

Turn the given update `u` into an update that reposition received score to position zero before applying `u` to it. The resulting score is then adjusted to its initial duration and shifted to its original position. This is useful when you need to scan update a score. It is similar to what the `noon.score/each` function is doing.
raw docstring

inversionclj

(inversion & xs__11752__auto__)

Build an harmonic event-update using noon.harmony/inversion The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/inversion

arglists:

([n])

doc:

Build an update that go to inversion n (potentially negative) of the received context preserving its position.

Build an harmonic event-update using noon.harmony/inversion
The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/inversion

arglists:

([n])

doc:

Build an update that go to inversion `n` (potentially negative) of the received context preserving its position.
raw docstring

iterclj

(iter x & xs)

INCUB: accumulative rep

INCUB: accumulative rep
raw docstring

kclj

(k & updates)

Act like 'mk, ignoring current score.

Act like 'mk, ignoring current score.
raw docstring

k*clj

(k* updates)

Act like 'mk, ignoring current score.

Act like 'mk, ignoring current score.
raw docstring

layer-shiftclj

(layer-shift & xs__11752__auto__)

Build an harmonic event-update using noon.harmony/layer-shift The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/layer-shift

arglists:

([l])

doc:

Build a shift update constructor for layer l. Unlike step updates, shift updates are not trimming context's position before updating it. If the layer offset we are trying to shift is not present in the context's position, the shift has no effect. Unless the forced optional argument is given.

Build an harmonic event-update using noon.harmony/layer-shift
The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/layer-shift

arglists:

([l])

doc:

Build a shift update constructor for layer `l`.
             Unlike step updates, shift updates are not trimming context's position before updating it.
             If the layer offset we are trying to shift is not present in the context's position, the shift has no effect.
             Unless the `forced` optional argument is given.
raw docstring

layer-stepclj

(layer-step & xs__11752__auto__)

Build an harmonic event-update using noon.harmony/layer-step The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/layer-step

arglists:

([layer n])

doc:

Build a step update according to layer and offset n. Please refer to t-step, s-step, d-step and c-step documentation.

Build an harmonic event-update using noon.harmony/layer-step
The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/layer-step

arglists:

([layer n])

doc:

Build a step update according to `layer` and offset `n`.
             Please refer to `t-step`, `s-step`, `d-step` and `c-step` documentation.
raw docstring

linclj

(lin & updates)

Apply each update to the received score and concatenate the results.

Apply each `update` to the received score and concatenate the results.
raw docstring

lin*clj

(lin* updates)

Apply each update to the received score and concatenate the results.

Apply each `update` to the received score and concatenate the results.
raw docstring

lin>clj

(lin> & updates)

Accumulative 'lin.

Accumulative 'lin.
raw docstring

lin>*clj

(lin>* updates)

Accumulative 'lin.

Accumulative 'lin.
raw docstring

ltclj

(lt x)

lteclj

(lte x)

map->efnclj

(map->efn x)

map-event-updateclj

(map-event-update score event-update)

Apply event-update to each event of score. if event-update returns nil for an event, it is removed from the resulting score.

Apply `event-update` to each event of `score`. if `event-update` returns nil for an event, it is removed from the resulting score.
raw docstring

map-score-updateclj

(map-score-update score score-update)

map score-update over score.

  • each event of score will be converted to a single event score
  • this single event score will be repositioned to zero and updated using score-update.
  • all resulting scores will be concatenated into one.
map `score-update` over `score`.
- each event of `score` will be converted to a single event score
- this single event score will be repositioned to zero and updated using `score-update`.
- all resulting scores will be concatenated into one.
raw docstring

map-updateclj

(map-update score update)

max-byclj

(max-by f)

Build an update that returns a one element score, applying f to each event and selecting the event for which f returns the greatest value.

Build an update that returns a one element score,
applying `f` to each event and selecting the event for which `f` returns the greatest value.
raw docstring

max-pitchclj

Return a one event score, holding the highest pitch of the received score.

Return a one event score, holding the highest pitch of the received score.
raw docstring

maybeclj

(maybe & updates)

Like noon.score/one-of, return an update that choose randomly one of the given updates, but can also do nothing.

Like `noon.score/one-of`, return an update that choose randomly one of the given `updates`, but can also do nothing.
raw docstring

maybe*clj

(maybe* updates)

Like noon.score/one-of, return an update that choose randomly one of the given updates, but can also do nothing.

Like `noon.score/one-of`, return an update that choose randomly one of the given `updates`, but can also do nothing.
raw docstring

merge-scoresclj

(merge-scores scores)

Merge several scores together.

Merge several scores together.
raw docstring

midi-valclj

(midi-val x)

Build a midi value (int between 0 and 127) from x. x can be either:

  • an integer, that will be constrained to 0-127 range.
  • a float or a rational, that will be scaled to the 0-127 range.
  • :min or :max keywords that will map to 0 and 127 respectively.
Build a midi value (int between 0 and 127) from `x`.
`x` can be either:
- an integer, that will be constrained to 0-127 range.
- a float or a rational, that will be scaled to the 0-127 range.
- :min or :max keywords that will map to 0 and 127 respectively.
raw docstring

MIDI_DEFAULT_OPTIONSclj


MIDI_DIRECTORIESclj


midifiable-scoreclj

(midifiable-score score)

min-byclj

(min-by f)

Build an update that returns a one element score, applying f to each event and selecting the event for which f returns the lowest value.

Build an update that returns a one element score,
applying `f` to each event and selecting the event for which `f` returns the lowest value.
raw docstring

min-pitchclj

Return a one event score, holding the lowest pitch of the received score.

Return a one event score, holding the lowest pitch of the received score.
raw docstring

mirrorclj

(mirror pitch)

Mirrors all pitches around pitch.

Mirrors all pitches around `pitch`.
raw docstring

mixlinclj

(mixlin & updates)

A lin that mix its elements.

A lin that mix its elements.
raw docstring

mixlin*clj

(mixlin* updates)

A lin that mix its elements.

A lin that mix its elements.
raw docstring

mixtupclj

(mixtup & updates)

A tup that mix its elements.

A tup that mix its elements.
raw docstring

mixtup*clj

(mixtup* updates)

A tup that mix its elements.

A tup that mix its elements.
raw docstring

mkclj

(mk & updates)

mk*clj

(mk* updates)

Feed score0 into given updates.

Feed score0 into given updates.
raw docstring

mulclj

(mul x)

newrepclj

(newrep n)
(newrep n & xs)

INCUB: simple rep

INCUB: simple rep
raw docstring

nlinclj

(nlin n update)

Creates a lin of size n using update.

Creates a lin of size `n` using `update`.
raw docstring

nlin>clj

(nlin> n update)

Creates a noon.score/lin> of size n using update.

Creates a `noon.score/lin>` of size `n` using `update`.
raw docstring

noonclj

(noon score)
(noon opts score)

normalise-eventclj

(normalise-event x)

Puts time related dimensions of a note into their identity values. Useful in many time streching transformations

Puts time related dimensions of a note into their identity values.
Useful in many time streching transformations
raw docstring

normalise-scoreclj

(normalise-score score)

Normalise score to {:position 0 :duration 1}

Normalise score to {:position 0 :duration 1}
raw docstring

ntupclj

(ntup n update)

Creates a tup of size n using update.

Creates a tup of size `n` using `update`.
raw docstring

ntup>clj

(ntup> n update)

Creates a noon.score/tup> of size n using update.

Creates a `noon.score/tup>` of size `n` using `update`.
raw docstring

numerify-pitchesclj

(numerify-pitches score)

Replace the pitch entry value of each event by its MIDI pitch value (7bits natural).

Replace the pitch entry value of each event by its MIDI pitch value (7bits natural).
raw docstring

o1-clj

Shift down 1 octave.

Shift down 1 octave.
raw docstring

o2-clj

Shift down 2 octaves.

Shift down 2 octaves.
raw docstring

o3-clj

Shift down 3 octaves.

Shift down 3 octaves.
raw docstring

o4-clj

Shift down 4 octaves.

Shift down 4 octaves.
raw docstring

o5-clj

Shift down 5 octaves.

Shift down 5 octaves.
raw docstring

o6-clj

Shift down 6 octaves.

Shift down 6 octaves.
raw docstring

o7-clj

Shift down 7 octaves.

Shift down 7 octaves.
raw docstring

o8-clj

Shift down 8 octaves.

Shift down 8 octaves.
raw docstring

one-ofclj

(one-of & updates)

Returns an update that choose randomly one of the given updates before applying it.

Returns an update that choose randomly one of the given `updates` before applying it.
raw docstring

one-of*clj

(one-of* updates)

Returns an update that choose randomly one of the given updates before applying it.

Returns an update that choose randomly one of the given `updates` before applying it.
raw docstring

only-betweenclj

(only-between beg end f)

Use f to update the subscore delimited by beg and end positions. Leave other events unchanged.

Use `f` to update the subscore delimited by `beg` and `end` positions. Leave other events unchanged.
raw docstring

optionsclj

(options & {:as options})

options*clj


originclj

(origin & xs__11752__auto__)

Build an harmonic event-update using noon.harmony/origin The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/origin

arglists:

([x])

doc:

Build an update that resets the :origin of the received context to x. x can be either: - a pitch object {:d _ :c _} - a pitch interpretable keyword, symbol or string (e.g C0, F#-2 , Gx2)

Build an harmonic event-update using noon.harmony/origin
The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/origin

arglists:

([x])

doc:

Build an update that resets the `:origin` of the received context to `x`.
         `x` can be either:
          - a pitch object {:d _ :c _}
          - a pitch interpretable keyword, symbol or string (e.g C0, F#-2 , Gx2)
raw docstring

output-filesclj

(output-files {:keys [filename midi pdf xml mp3]})

parclj

(par & updates)

Apply several update on a score merging the results.

Apply several update on a score merging the results.
raw docstring

par*clj

(par* updates)

Apply several update on a score merging the results.

Apply several update on a score merging the results.
raw docstring

par>clj

(par> & updates)

Accumulative 'par.

Accumulative 'par.
raw docstring

par>*clj

(par>* updates)

Accumulative 'par.

Accumulative 'par.
raw docstring

partial-updateclj

(partial-update score event-matcher update)

Use event-matcher to match some events of score, apply update to the resulting subscore, then merge unselected events into the updated subscore. see noon.score/->event-matcher for exact semantics of event matching.

Use `event-matcher` to match some events of `score`, apply `update` to the resulting subscore,
then merge unselected events into the updated subscore.
see `noon.score/->event-matcher` for exact semantics of event matching.
raw docstring

partsclj

(parts & xs)

Apply updates to subscores: (parts sel1 upd1 sel2 upd2 ...)

Apply updates to subscores: (parts sel1 upd1 sel2 upd2 ...)
raw docstring

parts*clj

(parts* xs)

Apply updates to subscores: (parts sel1 upd1 sel2 upd2 ...)

Apply updates to subscores: (parts sel1 upd1 sel2 upd2 ...)
raw docstring

patchclj

(patch x)
(patch bank program)

pcclj

(pc & xs)

pitch-class-valueclj

(pitch-class-value e)

pitch-valueclj

(pitch-value e)

pitch-value-boundsclj

(pitch-value-bounds x)

Return a vector of min and max chromatic pitch values of the given score.

Return a vector of min and max chromatic pitch values of the given score.
raw docstring

playcljmacro

(play & xs)

positionclj

(position & xs__11752__auto__)

Build an harmonic event-update using noon.harmony/position The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/position

arglists:

([& [t s d c]])

doc:

Build a position update. takes 0 to four arguments: t: tonic layer offset. s: structural layer offset. d: diatonic layer offset. c: chromatic layer offset.

Build an harmonic event-update using noon.harmony/position
The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/position

arglists:

([& [t s d c]])

doc:

Build a position update.
         takes 0 to four arguments:
         t: tonic layer offset.
         s: structural layer offset.
         d: diatonic layer offset.
         c: chromatic layer offset.
raw docstring

probsclj

(probs m)

Takes a map of type {update number} where each key is an update and each value is its probability of occurence.

Takes a map of type {update number} where each key is an update and each value is its probability of occurence.
raw docstring

qshowclj

(qshow score)

Raw scores are hard to parse for a human, this is intended to help a bit.

Raw scores are hard to parse for a human,
this is intended to help a bit.
raw docstring

rebaseclj

(rebase & fs)

Applies the given transformations while preserving pitch.

Applies the given transformations while preserving pitch.
raw docstring

redegreeclj

(redegree & xs__11752__auto__)

Build an harmonic event-update using noon.harmony/redegree The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/redegree

arglists:

doc:

Build an update that changes the degree of the received context, without changing its pitch. see noon.harmony/degree.

Build an harmonic event-update using noon.harmony/redegree
The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/redegree

arglists:



doc:

Build an update that changes the degree of the received context, without changing its pitch. see `noon.harmony/degree`.
raw docstring

reoriginclj

(reorigin & xs__11752__auto__)

Build an harmonic event-update using noon.harmony/reorigin The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/reorigin

arglists:

doc:

Build an update that change the origin of the received context without changing its pitch. see noon.harmony/scale

Build an harmonic event-update using noon.harmony/reorigin
The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/reorigin

arglists:



doc:

Build an update that change the origin of the received context without changing its pitch. see `noon.harmony/scale`
raw docstring

repclj

(rep n-times update)
(rep n-times update skip-first)

Iterates the given update n-times over the input score and concat the results.

Iterates the given `update` `n-times` over the input score and concat the results.
raw docstring

repeat-whileclj

(repeat-while test update)
(repeat-while test update after)

Iterate the given update while test is passing.

Iterate the given `update` while `test` is passing.
raw docstring

repitchclj

(repitch & xs__11752__auto__)

Build an harmonic event-update using noon.harmony/repitch The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/repitch

arglists:

([x])

doc:

Build an update that repositions the received context based on the given pitch x

Build an harmonic event-update using noon.harmony/repitch
The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/repitch

arglists:

([x])

doc:

Build an update that repositions the received context based on the given pitch `x`
raw docstring

rerootclj

(reroot & xs__11752__auto__)

Build an harmonic event-update using noon.harmony/reroot The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/reroot

arglists:

doc:

Build an update that changes the root of the received context, without changing its pitch. see noon.harmony/root.

Build an harmonic event-update using noon.harmony/reroot
The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/reroot

arglists:



doc:

Build an update that changes the root of the received context, without changing its pitch. see `noon.harmony/root`.
raw docstring

rescaleclj

(rescale & xs__11752__auto__)

Build an harmonic event-update using noon.harmony/rescale The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/rescale

arglists:

doc:

Build an update that change the scale of the received context without changing its pitch. see noon.harmony/scale

Build an harmonic event-update using noon.harmony/rescale
The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/rescale

arglists:



doc:

Build an update that change the scale of the received context without changing its pitch. see `noon.harmony/scale`
raw docstring

restructureclj

(restructure & xs__11752__auto__)

Build an harmonic event-update using noon.harmony/restructure The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/restructure

arglists:

doc:

Build an update that change the structure of the received context without changing its pitch. see noon.harmony/scale

Build an harmonic event-update using noon.harmony/restructure
The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/restructure

arglists:



doc:

Build an update that change the structure of the received context without changing its pitch. see `noon.harmony/scale`
raw docstring

revclj

Reverse the given score.

Reverse the given score.
raw docstring

reverse-scoreclj

(reverse-score score)

Reverse score temporally.

Reverse score temporally.
raw docstring

rootclj

(root & xs__11752__auto__)

Build an harmonic event-update using noon.harmony/root The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/root

arglists:

([pitch-class])

doc:

Build an update that given a pitch class (name or map), resets the :origin of the received context to the closest (to current origin) corresponding pitch.

Build an harmonic event-update using noon.harmony/root
The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/root

arglists:

([pitch-class])

doc:

Build an update that given a pitch class (name or map),
     resets the :origin of the received context to the closest (to current origin) corresponding pitch.
raw docstring

rupclj

(rup n-times update)
(rup n-times update skip-first)

Iterates the given update n-times over the input score and tup the results.

Iterates the given `update` `n-times` over the input score and tup the results.
raw docstring

s+clj

Updates the :pitch value of the received event using noon.harmony/s+

doc:

melodic superior diatonic passing note

Updates the :pitch value of the received event using noon.harmony/s+

doc:

melodic superior diatonic passing note
raw docstring

s-clj

Updates the :pitch value of the received event using noon.harmony/s-

doc:

melodic inferior diatonic passing note

Updates the :pitch value of the received event using noon.harmony/s-

doc:

melodic inferior diatonic passing note
raw docstring

s-ceilclj

Updates the :pitch value of the received event using noon.harmony/s-ceil

doc:

Build an update that bring received context to the closest structural position above.

Updates the :pitch value of the received event using noon.harmony/s-ceil

doc:

Build an update that bring received context to the closest structural position above.
raw docstring

s-floorclj

Updates the :pitch value of the received event using noon.harmony/s-floor

doc:

Build an update that bring received context to the closest structural position below.

Updates the :pitch value of the received event using noon.harmony/s-floor

doc:

Build an update that bring received context to the closest structural position below.
raw docstring

s-positionclj

(s-position & xs__11752__auto__)

Build an harmonic event-update using noon.harmony/s-position The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/s-position

arglists:

doc:

Build a structural position update. takes 0 to 3 arguments: s: structural layer offset. d: diatonic layer offset. c: chromatic layer offset.

Build an harmonic event-update using noon.harmony/s-position
The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/s-position

arglists:



doc:

Build a structural position update.
                   takes 0 to 3 arguments:
                   s: structural layer offset.
                   d: diatonic layer offset.
                   c: chromatic layer offset.
raw docstring

s-roundclj

Updates the :pitch value of the received event using noon.harmony/s-round

doc:

Build an update that bring received context to the closest structural position.

Updates the :pitch value of the received event using noon.harmony/s-round

doc:

Build an update that bring received context to the closest structural position.
raw docstring

s-shiftclj

(s-shift & xs__11752__auto__)

Build an harmonic event-update using noon.harmony/s-shift The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/s-shift

arglists:

doc:

Builds a structural shift update. see noon.harmony/layer-shift documentation.

Build an harmonic event-update using noon.harmony/s-shift
The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/s-shift

arglists:



doc:

Builds a structural shift update. see `noon.harmony/layer-shift` documentation.
raw docstring

s-stepclj

(s-step & xs__11752__auto__)

Build an harmonic event-update using noon.harmony/s-step The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/s-step

arglists:

([n])

doc:

Build a structural step update which operates as follow: - Trim diatonic and chromatic layer offsets after feeding as much as possible to the structural layer offset - Adds n to structural offset.

Build an harmonic event-update using noon.harmony/s-step
The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/s-step

arglists:

([n])

doc:

Build a structural step update which operates as follow:
             - Trim diatonic and chromatic layer offsets after feeding
               as much as possible to the structural layer offset
             - Adds `n` to structural offset.
raw docstring

s0clj


sameclj

Identity transformation

Identity transformation
raw docstring

scaleclj

(scale & xs__11752__auto__)

Build an harmonic event-update using noon.harmony/scale The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/scale

arglists:

([x])

doc:

Build an update that resets the :scale of the received context to x. x can be either: - a known scale keyword, symbol or string (e.g :dorian, 'melodic-minor, "hungarian" ...) refer to noon.constants/modes for complete list. - a mode vector like [0 2 3 5 7 9 10] (for :dorian)

Build an harmonic event-update using noon.harmony/scale
The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/scale

arglists:

([x])

doc:

Build an update that resets the `:scale` of the received context to `x`.
         `x` can be either:
         - a known scale keyword, symbol or string (e.g :dorian, 'melodic-minor, "hungarian" ...)
           refer to `noon.constants/modes` for complete list.
         - a mode vector like [0 2 3 5 7 9 10] (for :dorian)
raw docstring

scale-scoreclj

(scale-score score ratio)

Scale score timing by given ratio.

Scale score timing by given ratio.
raw docstring

scanclj

(scan size f)
(scan size step f)
(scan by size step f)

Chunk the score using the by function. Chunks are partitioned by size and stepped by step. f is applied to each chunks partition and should return a single score. Resulting scores are merged together.

Chunk the score using the `by` function. Chunks are partitioned by `size` and stepped by `step`. `f` is applied to each chunks partition and should return a single score. Resulting scores are merged together.
raw docstring

scan>clj

(scan> size f)
(scan> size step f)

Accumulative scan. Use f to accumulatively update time slices of given size of the score, stepping by step.

Accumulative scan. Use `f` to accumulatively update time slices of given `size` of the score, stepping by `step`.
raw docstring

scoreclj

(score x)

Build a score from x. x can be either:

  • a set of event maps.
  • a single event map.
  • nil (empty score)
  • a generator that will be realized and fed into this function again.
Build a score from `x`.
`x` can be either:
 - a set of event maps.
 - a single event map.
 - nil (empty score)
 - a generator that will be realized and fed into this function again.
raw docstring

score->midi-bytesclj

(score->midi-bytes bpm score)

score-boundsclj

(score-bounds score k)

Based on a given note dimension k, returns the min and max notes of a score.

Based on a given note dimension k,
returns the min and max notes of a score.
raw docstring

score-durationclj

(score-duration score)

score-originclj

(score-origin score)

Get the position of the first event of a score.

Get the position of the first event of a score.
raw docstring

score-track-countclj

(score-track-count score)

How many tracks has this score ?

How many tracks has this score ?
raw docstring

score-update?clj


score0clj


score?clj

(score? x)

Test if x is a score.

Test if `x` is a score.
raw docstring

sequencer*clj


sf_cljmacro

(sf_ & body)

sfncljmacro

(sfn arg & body)

Just a tagged lambda that represents a score update function.

Just a tagged lambda that represents a score update function.
raw docstring

shift-scoreclj

(shift-score score offset)

Shift all position by the given offset.

Shift all position by the given offset.
raw docstring

showclj

(show score)
(show path score)

Look at a score using hierarchical grouping.

Look at a score using hierarchical grouping.
raw docstring

shrinkclj

(shrink event-check)

Shrink a score using event-check on each events to determine if it is kept or not.

Shrink a score using `event-check` on each events to determine if it is kept or not.
raw docstring

shuflinclj

(shuflin & updates)

A lin that shuffles its elements everytime it is used.

A lin that shuffles its elements everytime it is used.
raw docstring

shuflin*clj

(shuflin* updates)

A lin that shuffles its elements everytime it is used.

A lin that shuffles its elements everytime it is used.
raw docstring

shuftupclj

(shuftup & updates)

A tup that shuffles its elements everytime it is used.

A tup that shuffles its elements everytime it is used.
raw docstring

shuftup*clj

(shuftup* updates)

A tup that shuffles its elements everytime it is used.

A tup that shuffles its elements everytime it is used.
raw docstring

sort-scoreclj

(sort-score score)
(sort-score f score)
(sort-score f comp score)

Sort score events. arity 1: by :position. arity 2: by f arity 3: by f using comp as compare fn.

Sort `score` events.
arity 1: by :position.
arity 2: by `f`
arity 3: by `f` using `comp` as compare fn.
raw docstring

start-fromclj

(start-from x)

Build an update that shifts the score to the given position, removing all anterior events.

Build an update that shifts the score to the given position, removing all anterior events.
raw docstring

start-from-lastclj

Shifting the score to last position erasing all anterior events.

Shifting the score to last position erasing all anterior events.
raw docstring

start-from-nth-lastclj

(start-from-nth-last nth)

Shifting the score to nth last position erasing all anterior events.

Shifting the score to `nth` last position erasing all anterior events.
raw docstring

stopcljmacro

(stop)

structureclj

(structure & xs__11752__auto__)

Build an harmonic event-update using noon.harmony/structure The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/structure

arglists:

([x])

doc:

Build an update that resets the :structure of the received context to x. x can be either: - a known structure keyword, symbol or string (e.g :triad, 'tetrad, "sus4" ...) refer to noon.constants/structures for complete list. - a structure vector like [0 2 4 6] (for :tetrad)

Build an harmonic event-update using noon.harmony/structure
The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/structure

arglists:

([x])

doc:

Build an update that resets the `:structure` of the received context to `x`.
         `x` can be either:
         - a known structure keyword, symbol or string (e.g :triad, 'tetrad, "sus4" ...)
           refer to `noon.constants/structures` for complete list.
         - a structure vector like [0 2 4 6] (for :tetrad)
raw docstring

subclj

(sub x)

superposeclj

(superpose & updates)

Like 'par but keep the current score.

Like 'par but keep the current score.
raw docstring

superpose*clj

(superpose* updates)

Like 'par but keep the current score.

Like 'par but keep the current score.
raw docstring

superpose>clj

(superpose> & updates)

Accumulative 'superpose.

Accumulative 'superpose.
raw docstring

superpose>*clj

(superpose>* updates)

Accumulative 'superpose.

Accumulative 'superpose.
raw docstring

t-ceilclj

Updates the :pitch value of the received event using noon.harmony/t-ceil

doc:

Build an update that bring received context to the closest tonic position above.

Updates the :pitch value of the received event using noon.harmony/t-ceil

doc:

Build an update that bring received context to the closest tonic position above.
raw docstring

t-floorclj

Updates the :pitch value of the received event using noon.harmony/t-floor

doc:

Build an update that bring received context to the closest tonic position below.

Updates the :pitch value of the received event using noon.harmony/t-floor

doc:

Build an update that bring received context to the closest tonic position below.
raw docstring

t-roundclj

Updates the :pitch value of the received event using noon.harmony/t-round

doc:

Build an update that bring received context to the closest tonic position.

Updates the :pitch value of the received event using noon.harmony/t-round

doc:

Build an update that bring received context to the closest tonic position.
raw docstring

t-shiftclj

(t-shift & xs__11752__auto__)

Build an harmonic event-update using noon.harmony/t-shift The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/t-shift

arglists:

doc:

Builds a tonic shift update. see noon.harmony/layer-shift documentation.

Build an harmonic event-update using noon.harmony/t-shift
The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/t-shift

arglists:



doc:

Builds a tonic shift update. see `noon.harmony/layer-shift` documentation.
raw docstring

t-stepclj

(t-step & xs__11752__auto__)

Build an harmonic event-update using noon.harmony/t-step The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/t-step

arglists:

([n])

doc:

Build a tonic step update which operates as follow: - Trim structural, diatonic and chromatic layer offsets after feeding as much as possible to the tonic layer offset - Adds n to tonic offset.

Build an harmonic event-update using noon.harmony/t-step
The resulting transformation will be used to update the :pitch value of the received event.

noon.harmony/t-step

arglists:

([n])

doc:

Build a tonic step update which operates as follow:
             - Trim structural, diatonic and chromatic layer offsets after feeding
               as much as possible to the tonic layer offset
             - Adds `n` to tonic offset.
raw docstring

t0clj


trackclj

(track x)

track+clj

(track+ x)

track-clj

(track- x)

track0clj

Set event midi channel to 0

Set event midi channel to 0
raw docstring

track1clj

Set event midi channel to 1

Set event midi channel to 1
raw docstring

track10clj

Set event midi channel to 10

Set event midi channel to 10
raw docstring

track11clj

Set event midi channel to 11

Set event midi channel to 11
raw docstring

track12clj

Set event midi channel to 12

Set event midi channel to 12
raw docstring

track13clj

Set event midi channel to 13

Set event midi channel to 13
raw docstring

track14clj

Set event midi channel to 14

Set event midi channel to 14
raw docstring

track15clj

Set event midi channel to 15

Set event midi channel to 15
raw docstring

track2clj

Set event midi channel to 2

Set event midi channel to 2
raw docstring

track3clj

Set event midi channel to 3

Set event midi channel to 3
raw docstring

track4clj

Set event midi channel to 4

Set event midi channel to 4
raw docstring

track5clj

Set event midi channel to 5

Set event midi channel to 5
raw docstring

track6clj

Set event midi channel to 6

Set event midi channel to 6
raw docstring

track7clj

Set event midi channel to 7

Set event midi channel to 7
raw docstring

track8clj

Set event midi channel to 8

Set event midi channel to 8
raw docstring

track9clj

Set event midi channel to 9

Set event midi channel to 9
raw docstring

tracksclj

(tracks & updates)

Apply updates in parallel on subsequent midi tracks.

Apply `updates` in parallel on subsequent midi tracks.
raw docstring

tracks*clj

(tracks* updates)

Apply updates in parallel on subsequent midi tracks.

Apply `updates` in parallel on subsequent midi tracks.
raw docstring

transposeclj

(transpose f)

Transpose the pitch origin of all events by the given update.

Transpose the pitch origin of all events by the given update.
raw docstring

trimclj

(trim beg end)

Build and update that removes everything before beg and after end from the received score. (triming overlapping durations).

Build and update that removes everything before `beg` and after `end` from the received score. (triming overlapping durations).
raw docstring

trim-scoreclj

(trim-score score beg end)

Removes everything before beg and after end from score. (triming overlapping durations).

Removes everything before `beg` and after `end` from `score`.
(triming overlapping durations).
raw docstring

try-untilclj

(try-until test update & {:keys [max] :or {max 100}})

Given an undeterministic update, tries it on the score until the result of it passes test

Given an undeterministic `update`, tries it on the score until the result of it passes `test`
raw docstring

tupclj

(tup & updates)

Like 'lin but preserve the length of the input score

Like 'lin but preserve the length of the input score
raw docstring

tup*clj

(tup* updates)

Like 'lin but preserve the length of the input score

Like 'lin but preserve the length of the input score
raw docstring

tup>clj

(tup> & updates)

Accumulative 'tup.

Accumulative 'tup.
raw docstring

tup>*clj

(tup>* updates)

Accumulative 'tup.

Accumulative 'tup.
raw docstring

untilclj

(until x)

Build an update that removes the elements posterior to the given position from the received score.

Build an update that removes the elements posterior to the given position from the received score.
raw docstring

update-scoreclj

(update-score score update)

Updates score with update.

Updates `score` with `update`.
raw docstring

velclj

(vel x)

Builds a :velocity event-update based on x.

Builds a :velocity event-update based on `x`.
raw docstring

vel+clj

(vel+ n)

Builds an event update that adds n to :velocity value

Builds an event update that adds `n` to :velocity value
raw docstring

vel-clj

(vel- n)

Builds an event update that substract n to :velocity value

Builds an event update that substract `n` to :velocity value
raw docstring

vel-humanizeclj

(vel-humanize max-step & [bounds])

Build an event update that humanize the :velocity value. please refer to the noon.score/humanize doc.

Build an event update that humanize the :velocity value.
please refer to the `noon.score/humanize` doc.
raw docstring

vel0clj


vel1clj

Set event velocity to 10

Set event velocity to 10
raw docstring

vel10clj

Set event velocity to 105

Set event velocity to 105
raw docstring

vel11clj

Set event velocity to 116

Set event velocity to 116
raw docstring

vel12clj

Set event velocity to 127

Set event velocity to 127
raw docstring

vel2clj

Set event velocity to 21

Set event velocity to 21
raw docstring

vel3clj

Set event velocity to 31

Set event velocity to 31
raw docstring

vel4clj

Set event velocity to 42

Set event velocity to 42
raw docstring

vel5clj

Set event velocity to 52

Set event velocity to 52
raw docstring

vel6clj

Set event velocity to 63

Set event velocity to 63
raw docstring

vel7clj

Set event velocity to 74

Set event velocity to 74
raw docstring

vel8clj

Set event velocity to 84

Set event velocity to 84
raw docstring

vel9clj

Set event velocity to 95

Set event velocity to 95
raw docstring

voiceclj

(voice x)

voice+clj

(voice+ x)

voice-clj

(voice- x)

voicesclj

(voices & updates)

Apply updates in parallel on subsequent voices.

Apply `updates` in parallel on subsequent voices.
raw docstring

voices*clj

(voices* updates)

Apply updates in parallel on subsequent voices.

Apply `updates` in parallel on subsequent voices.
raw docstring

voices>clj

(voices> & updates)

Like noon.score/par> but keep track of voice number.

Like `noon.score/par>` but keep track of voice number.
raw docstring

voices>*clj

(voices>* updates)

Like noon.score/par> but keep track of voice number.

Like `noon.score/par>` but keep track of voice number.
raw docstring

voidclj

Returns the empty score regardless of input.

Returns the empty score regardless of input.
raw docstring

within-bounds?clj

(within-bounds? event-fn min max)

Build a check update (one that can return nil or the score unchanged) succeed if event-fn applied to each event is between min and max.

Build a check update (one that can return nil or the score unchanged) succeed if `event-fn` applied to each event is between `min` and `max`.
raw docstring

within-midi-pitch-bounds?clj

Returns the score unchanged if every pitch within it are in the 0-127 MIDI range.

Returns the score unchanged if every pitch within it are in the 0-127 MIDI range.
raw docstring

within-pitch-bounds?clj

(within-pitch-bounds? min max)

Build a check update (one that can return nil or the score unchanged)Succeed if all pitches are between min and max.min and max should be 'pitchable' (pitch map | pitch keyword | int).

Build a check update (one that can return nil or the score unchanged)Succeed if all pitches are between `min` and `max`.`min` and `max` should be 'pitchable' (pitch map | pitch keyword | int).
raw docstring

within-time-bounds?clj

(within-time-bounds? start end)

Build a check update (one that can return nil or the score unchanged) Succeed if all its events are between start and end.

Build a check update (one that can return nil or the score unchanged) Succeed if all its events are between `start` and `end`.
raw docstring

wrap-event->score-fnclj

(wrap-event->score-fn f)

Build a score-update from an event -> score function.

Build a score-update from an event -> score function.
raw docstring

writecljmacro

(write opts & xs)

zipclj

(zip zip-fn update)

Zips the current score with the result of updating it with update.the zipping is done by :position with zip-fn that takes two scores and produce one.All the scores returned by zip-fn are merged into a final one which is returned.

Zips the current score with the result of updating it with `update`.the zipping is done by :position with `zip-fn` that takes two scores and produce one.All the scores returned by `zip-fn` are merged into a final one which is returned.
raw docstring

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

× close