Class: Cheep::Sine

Inherits:
Noise
  • Object
show all
Defined in:
lib/cheep/noise/noise.rb

Overview

A sine wave noise

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(frequency, num_samples) ⇒ Sine

Creates a sine wave noise

Parameters:

  • frequency (Numeric)

    Frequency of wave in Hz

  • num_samples (Integer)

    Number of samples



22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/cheep/noise/noise.rb', line 22

def initialize(frequency, num_samples)
  cycles_per_sample = frequency.to_f / SAMPLE_RATE

  samples = []
  phase = 0.0
  num_samples.times do
    samples << Math::sin(2 * Math::PI * phase)
    phase += cycles_per_sample
  end

  @samples = samples
end

Instance Attribute Details

#samplesObject (readonly)

Returns the value of attribute samples.



16
17
18
# File 'lib/cheep/noise/noise.rb', line 16

def samples
  @samples
end