Hi! Maybe I havent looked hard enough but I just havent been able to find any examples on building a sample playback engine that will allow for sample-start, loop-start and loop-end positions to be set. The question is what would be the easiest way to achieve this. I have been thinking about ways to achieve the sample clock driver but since Im new to PD perhaps my thinking is too complex. My ideas have been:
phasor~ objects where one phasor~ handles sample-start til loop-end and let the other one (loop-start til loop-end) kick in once the first one has completed its first and single run. 2. Perhaps using a vline~ for the first part instead of a phasor~ 3. Simply using one phasor~ object and offsetting the start value of its second cycle to the loop-start position 4. Simply using a vline~ object and loop it with a different start position the second time onwards.
I suppose I would have to use the samphold~ object to make the shift between phasor~ or vline~ or just to offset the start position of a phasors~ second cycle. Any ideas or examples on how to best achieve this would be more than welcome.
/Mikael
If you are interested in saving yourself the headache (I was wanting to do the same thing last summer) you can just use the susloop~ external from bsaylor.
On 5/16/07, Mikael Gunnerås m.gunneras@bredband.net wrote:
Hi!
Maybe I haven't looked hard enough but I just haven't been able to find any examples on building a sample playback engine that will allow for sample-start, loop-start and loop-end positions to be set. The question is what would be the easiest way to achieve this.
I have been thinking about ways to achieve the sample clock driver but since I'm new to PD perhaps my thinking is too complex.
My ideas have been:
- Should I try generating the sample clock driver using two phasor~
objects where one phasor~ handles sample-start 'til loop-end and let the other one (loop-start 'til loop-end) kick in once the first one has completed it's first and single run. 2. Perhaps using a vline~ for the first part instead of a phasor~ 3. Simply using one phasor~ object and offsetting the start value of it's second cycle to the loop-start position 4. Simply using a vline~ object and "loop it" with a different start position the second time onwards.
I suppose I would have to use the samphold~ object to make the shift between phasor~ or vline~ or just to offset the start position of a phasors~ second cycle.
Any ideas or examples on how to best achieve this would be more than welcome.
/Mikael
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hallo, Mikael Gunnerås hat gesagt: // Mikael Gunnerås wrote:
My ideas have been:
- Should I try generating the sample clock driver using two
phasor~ objects where one phasor~ handles sample-start Âtil loop-end and let the other one (loop-start Âtil loop-end) kick in once the first one has completed itÂs first and single run. 2. Perhaps using a vline~ for the first part instead of a phasor~ 3. Simply using one phasor~ object and offsetting the start value of itÂs second cycle to the loop-start position 4. Simply using a vline~ object and Âloop it with a different start position the second time onwards.
I'd simply do 4).
With a phasor~ it will be harder to get the starting time of the sample-playing correct, as the phase-inlet of phasor~ is block-quantized, and starting to play a sample exactly in time often is important.
I attached a slightly unfinished alternate version of [play-samp~] from RTC-lib that lets you set a starting position to play a sample. This is just as an example.
Frank Barknecht _ ______footils.org_ __goto10.org__
Very nice patch. It's clean and efficient! Thanks for sharing.
~Kyle
On 5/16/07, Frank Barknecht fbar@footils.org wrote:
Hallo, Mikael Gunnerås hat gesagt: // Mikael Gunnerås wrote:
My ideas have been:
- Should I try generating the sample clock driver using two
phasor~ objects where one phasor~ handles sample-start til loop-end and let the other one (loop-start til loop-end) kick in once the first one has completed it s first and single run. 2. Perhaps using a vline~ for the first part instead of a phasor~ 3. Simply using one phasor~ object and offsetting the start value of it s second cycle to the loop-start position 4. Simply using a vline~ object and loop it with a different start position the second time onwards.
I'd simply do 4).
With a phasor~ it will be harder to get the starting time of the sample-playing correct, as the phase-inlet of phasor~ is block-quantized, and starting to play a sample exactly in time often is important.
I attached a slightly unfinished alternate version of [play-samp~] from RTC-lib that lets you set a starting position to play a sample. This is just as an example.
Ciao
Frank Barknecht _ ______footils.org_ __goto10.org__
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hi Mikael,
I was just messing around with this last week on the list here. Look up the "mod~" thread in the archives, perhaps even the one marked FIXED, and you'll find some solutions based on phasor~ which will do what you want.
best, d.
Mikael Gunnerås wrote:
Hi!
Maybe I haven’t looked hard enough but I just haven’t been able to find any examples on building a sample playback engine that will allow for sample-start, loop-start and loop-end positions to be set.