Sample Accurate Buffer Sequencing... how?
If you want to sequence several buffers (or the buffers within a single polybuffer) at sample accurate precision, how is this done? Triggering a second buffer off the first buffer's end of file bang is too slow and leaves milliseconds of silence between them.
Thanks!
gen~?
Ah. Indeed. Thank you sir. I have not yet ventured into gen~ land, but on first look, it appears this is exactly what I need to learn next.
It just occurred to me... double check that playlist~ doesn't do this for you...
So, playlist doesn't - but playlist~ is a pretty slick object!
Indeed! I learned about it very early on as the 'easy way out' of using buffers and such, and I haven't had cause to use it since. I'm sorry I didn't think of it earlier in regards to your question. It works, then?
I was using individual buffers and then switched to playlist~ and it seems to perform exactly the same - but a heck of a lot simpler and cleaner looking. Playlist~ is awesome.
I think to get gapless sample sync'd playback between sequential audio files I need to build something in gen~ where gen buffers are created and chained prior to playing the sequence, or something like that. After looking at gen~ for an hour, I've decided to live with the MS between audio files and just move on for now working on the patch with the intention of coming back later.
Thanks for your help!
Wow! Thank you so much. I really appreciate you walking me through this with this gen~ patch.
I'm gonna look through this and absorb what you're doing. THANKS!
So, I got this working using your gen~ patch. Thanks!!!!!!
However, I'm running into a strange issue - where occasionally there are still some gaps between files...even when just resequencing the same files... not sure why. To my understanding, gen should just continue on its own reading the two buffers back and forth, w/o skipping a sample.
As one buffer completes, my JS code loads a new file into that buffer while the other plays - and from what I can tell, that's virtually instantaneous - so it doesn't seem like the buffer under-run is causing the gaps.
If you don't mind taking a look, attached is my patch and js code. the patch is a little messy, and I'm very noob with gen~(I just added a couple of params to control start / stop playing each buffer and used edge~ to create end of buffer bangs), but i think the JS is somewhat readable.
Does anything jump out?
Just swap out the file refs in the TXT for what ever wavs you have. the TXT is tab delimited. field 1 is the playlist name, field two is a comment/description, and the remaining fields on that line are file refs.
drag a folder of audio onto the drag box, drag the txt on the other drag box - hit play.
Thanks again!
Thanks so much for your time. I'll continue to work through the advice you have here for me and seeing what I can learn. I really appreciate it!
I just found an issue... I am using READ to load the new buffers instead of REPLACE. To my understanding READ doesn't resize them to the new file size, but REPLACE does.
Thanks for the tip on the gen~ outlets. Much better that way.
On the inlets - fro some reason when I disconnect the inlets from the second accumulators (+=), I get issues - but when I connect them to both, it works well. I'm still too new to gen~ to really know what's going on - but as I read and watch more tutorials I'll catch up to what you're doing there.
Thanks again!
If I could trouble you one more time, renegade - could you give me a hint as to the variable speed feature you were talking about in your gen patch?
Hahaha. Thanks for everything.
For anyone finding this forum post - check out these tutorials:
https://cycling74.com/tutorials/gen-video-tutorial-series
I had not discovered this - and should have started there.