Get sample duration in seconds
sample_duration
[path (string)]
Given the name of a loaded sample, or a path to a wav|wave|aif|aiff file this returns the length of time that the sample would play for. It's useful when looping samples to make sure there are no gaps - see the examples. You may pass a rate opt which it will use to scale the returned time to match the duration at that rate.
Introduced in v2.0.0
|
loop do sample :loop_amen sleep sample_duration(:loop_amen) end |
# Using sample_duration here means the loop plays back without any gaps or breaks # Play amen break # sleep for duration of amen break |
|
loop do sample :loop_amen, rate: 0.75 sleep sample_duration(:loop_amen, rate: 0.75) end |
# You can also use rate if you want to keep a seamless loop whilst adjusting the speed |
|
loop do sample :loop_amen, rate: -1 sleep sample_duration :loop_amen, rate: -1 end |
# Works for negative rates too |