Module: Musa::Neumas::Neuma::Parallel

Includes:
Musa::Neumas::Neuma
Defined in:
lib/musa-dsl/neumas/neumas.rb

Overview

Parallel neuma structure (polyphonic).

Represents simultaneous musical events (multiple voices, chords). Contains array of neuma series in :parallel key.

Examples:

Parallel structure

{
  kind: :parallel,
  parallel: [
    { kind: :serie, serie: melody_neumas },
    { kind: :serie, serie: bass_neumas }
  ]
}.extend(Musa::Neumas::Neuma::Parallel)

Instance Method Summary collapse

Instance Method Details

#|(other) ⇒ Parallel Originally defined in module Musa::Neumas::Neuma

Creates parallel structure with another neuma.

Combines this neuma with another into parallel (polyphonic) structure. If already parallel, adds to existing parallel array.

Examples:

Create parallel from neumas

melody = "0 +2 +4".to_neumas
bass = "-7 -5 -3".to_neumas
harmony = melody | bass

Chain multiple parallels

satb = soprano | alto | tenor | bass

Parameters:

Returns:

  • (Parallel)

    parallel neuma structure

Raises:

  • (ArgumentError)

    if other cannot be converted