Module: PulseAnalysis::Conversion
Instance Method Summary collapse
-
#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.
-
#num_samples_to_millis(sample_rate, num_samples) ⇒ Float
Convert a quantity of samples to milliseconds with regard to the sample rate.
-
#num_samples_to_seconds(sample_rate, num_samples) ⇒ Float
Convert a quantity of samples to seconds with regard to the sample rate.
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 |