Forums > MaxMSP

URN a block of numbers

May 3, 2012 | 4:44 pm

Hi, what I want to do is cutup an audio file at random and not have any cut sections repeat. For example if I had a one minute file and played from 23 to 32 seconds (so you can probably see where I am coming from ;) those nine seconds would not be played again. The random playback process would continue until all parts of the dound have been played back.

I am completely flummoxed as to how to do this so any suggestions will be much appreciated.

Cheers
Paul


May 3, 2012 | 5:55 pm

It wouldn’t be too difficult if you cut the sound file up into equal sections. Too late for me to create a patch right now, but the steps would go something like:

1: get the total file length and divide that by the number of sections you want.
2. Assign each section a number (ie with counter) to identify it by and store that to a a coll (or dict) with respective segment start time.
3 use [urn] to step through a non-repeating sequence sequence of numbers to reference the coll , which in turn is used to seek the start time of the section in the file.

If you want or need different/arbitrary length segments, the solution would be trickier as you’d need a more elaborate method to accomplish step 1 (or try a different approach altogether)


May 3, 2012 | 6:01 pm

I would cut it up, and stash the ranges in a coll with sequential indexes for the slices. Then you can use urn to generate the playback indexes to fetch the slices from the coll in random order.



pm
May 3, 2012 | 6:06 pm

I also think that [coll] is the way to go. Try [urn-jb] which doesn’t need to be reset.


Viewing 4 posts - 1 through 4 (of 4 total)