Module: Musa::Datasets::Delta

Includes:
E
Included in:
DeltaD, DeltaI
Defined in:
lib/musa-dsl/datasets/e.rb

Overview

Events with delta (incremental) values.

Delta represents events where values are incremental changes from a previous state. Examples: pitch +2 semitones, duration +0.5 beats, velocity -10.

Delta encoding is efficient for sequences where consecutive events have similar values.

Examples:

Delta vs Absolute

# Absolute encoding (3 events)
{ pitch: 60, duration: 1.0 }
{ pitch: 62, duration: 1.0 }
{ pitch: 64, duration: 1.0 }

# Delta encoding (same 3 events)
{ abs_pitch: 60, abs_duration: 1.0 }  # First event absolute
{ delta_pitch: +2 }                    # Duration unchanged
{ delta_pitch: +2 }                    # Duration unchanged

See Also:

Instance Method Summary collapse

Instance Method Details

#valid?Boolean Originally defined in module E

Checks if event is valid.

Base implementation always returns true. Subclasses should override to implement specific validation logic.

Examples:

event.valid?  # => true

Returns:

  • (Boolean)

    true if valid

#validate!void Originally defined in module E

This method returns an undefined value.

Validates event, raising if invalid.

Examples:

event.validate!  # Raises if invalid

Raises:

  • (RuntimeError)

    if event is not valid