class MusicTheory::Harmonize

Attributes

samples[RW]

Public Class Methods

new(*things_to_flatten) click to toggle source
# File lib/music_theory/harmonize.rb, line 9
def initialize(*things_to_flatten)
  @samples = []
  [*things_to_flatten].each do |group|
    group.each_with_index do |value, i|
     @samples[i] ||= 0
     @samples[i] +=  value
    end
  end
   max = @samples.map {|s| s.abs }.max
   multiplier = 1.0 / max
   @samples.map!{ |s| multiplier * s }
end