Module: PulseAnalysis::Conversion

Extended by:
Conversion
Included in:
Conversion
Defined in:
lib/pulse-analysis/conversion.rb

Instance Method Summary collapse

Instance Method Details

#num_samples_to_formatted_time(sample_rate, num_samples) ⇒ String

Convert a quantity of samples to a formatted time string with regard to the sample rate. (eg “1m20s”, “2m22.4s”



21
22
23
24
25
26
27
28
29
30
# File 'lib/pulse-analysis/conversion.rb', line 21

def num_samples_to_formatted_time(sample_rate, num_samples)
  min, sec = *num_samples_to_seconds(sample_rate, num_samples).divmod(60)
  # convert seconds to int if it has no decimal value
  if !sec == 0 && sec.to_i % sec == 0
    sec = sec.to_i
  end
  # only include minutes if there is a value
  result = min > 0 ? "#{min}m" : ""
  result + "#{sec}s"
end

#num_samples_to_millis(sample_rate, num_samples) ⇒ Float

Convert a quantity of samples to milliseconds with regard to the sample rate



37
38
39
# File 'lib/pulse-analysis/conversion.rb', line 37

def num_samples_to_millis(sample_rate, num_samples)
  (num_samples.to_f / sample_rate) * 1000
end

#num_samples_to_seconds(sample_rate, num_samples) ⇒ Float

Convert a quantity of samples to seconds with regard to the sample rate



12
13
14
# File 'lib/pulse-analysis/conversion.rb', line 12

def num_samples_to_seconds(sample_rate, num_samples)
  num_samples.to_f / sample_rate
end