Class: RoadToRubykaigi::Audio::TriangleOscillator
- Inherits:
-
Object
- Object
- RoadToRubykaigi::Audio::TriangleOscillator
- Includes:
- Phasor
- Defined in:
- lib/road_to_rubykaigi/audio/oscillator.rb
Instance Method Summary collapse
Methods included from Phasor
Instance Method Details
#generate(frequencies:) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/road_to_rubykaigi/audio/oscillator.rb', line 29 def generate(frequencies:) samples = frequencies.map do |frequency| phase = tick(frequency: frequency) if phase < 0.5 4 * phase - 1 else -4 * phase + 3 end end samples.sum / samples.size end |