module PulseAnalysis::Conversion
Public Instance Methods
num_samples_to_formatted_time(sample_rate, num_samples)
click to toggle source
Convert a quantity of samples to a formatted time string with regard to the sample rate. (eg ā1m20sā, ā2m22.4sā @param [Integer] sample_rate Sample rate in hertz (eg 88200) @param [Integer] num_samples @return [String]
# File lib/pulse-analysis/conversion.rb, line 21 def num_samples_to_formatted_time(sample_rate, num_samples) total_seconds = num_samples_to_seconds(sample_rate, num_samples) min, sec = *total_seconds.divmod(60) # convert seconds to int if it has no decimal value if sec != 0 if sec.to_i % sec == 0 sec = sec.to_i else sec = sec.round(2) end 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)
click to toggle source
Convert a quantity of samples to milliseconds with regard to the sample rate @param [Integer] sample_rate Sample rate in hertz (eg 88200) @param [Integer] num_samples @return [Float]
# File lib/pulse-analysis/conversion.rb, line 42 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)
click to toggle source
Convert a quantity of samples to seconds with regard to the sample rate @param [Integer] sample_rate Sample rate in hertz (eg 88200) @param [Integer] num_samples @return [Float]
# File lib/pulse-analysis/conversion.rb, line 12 def num_samples_to_seconds(sample_rate, num_samples) num_samples.to_f / sample_rate end