Sha256: d93eb4ed109457904bb6aa3e216510516a55f9303f6f1e25cfab57edd066b811
Contents?: true
Size: 646 Bytes
Versions: 1
Compression:
Stored size: 646 Bytes
Contents
module Music module Transcription # Represent the musical tempo, with beats ber minute and beat duration. class Tempo include Comparable attr_reader :beats_per_minute, :beat_duration def initialize beats_per_minute, beat_duration = Rational(1,4) @beats_per_minute = beats_per_minute @beat_duration = beat_duration end def notes_per_second (@beats_per_minute * @beat_duration) / 60.0 end def between? a, b notes_per_second.between? a, b end def <=>(other) if other.is_a? Tempo notes_per_second <=> other.notes_per_second else notes_per_second <=> other end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
music-transcription-0.5.9 | lib/music-transcription/tempo.rb |