Waveplayer looping not smooth

hi there,
i’m building a patch to dynamically switch between looping samples. everything is cool so far, cept it seems that some samples don’t loop smoothly on the waveplayer - it’s really weird cos all the samples were sliced with a beatslicer and works perfectly in any audio program (such as vegas, soundforge, fl-studio, etc.) - looping smoothly - you can’t hear any cut. But in the waveplayer some samples make a click sound at the loop point…i managed to fix some of them by just resaving (with exactly the same sample rate and bit depth) - for some reason resaving fixed it, but with some it seems nothing works - i’ve tried converting to mono, i’ve tried quantising to an exact bpm, i’ve tried removing metadata - nothing seems to work…any ideas? from anyone?
thanx - i’ve attached one of the problem files to this post

002.wav (454.9 kB)

ok - now this is really weird…
i listen to the file above - it clicks at the loop point. then i switch to one or two other samples. i return to the sample above and it loops smoothly…does this have something to do with perhaps loading the sample to memory first?

k i’m stumped solid - can’t find the solution to this…maybe i should just trigger the samples in fl-studio via midi, but then it’s just the schlep of not being able to dynamically change directories for different sample sets.

Anybody here have experience with pd? maybe it’s better to do this with pd - but seems as if the learning curve is quite steep…


helo krisjan,

i am afraid our experience with waveplayer are not very advanced. i would always recommend pd for doing audio stuff. pd also has help-patches demoing simple tasks like fileplayback and looping so it should be trivial to patch what you want.

on the other hand, if you were into coding, i could provide you with the sourcecode of the waveplayer node (which is essentially a directshowfilter) and you could try to see if there is a problem in the source.

thanx for your reply joreg,
i would still use vvvv for at least part of this since it’s partly visual-partly audio, and at least i know vvvv quite well by now…i am trying to build something in essence related to http://turbulence.org/Works/graphtheory/. But what i am trying to do is more like a duet with an algorithm - a user clicks anywhere in a blank screen and that triggers a sample - samples are distributed in a grid according to filename - the grid is generated through readin the directory with samples and then doing the math to change it to row/column coordinate. Then as the user clicks, different samples are triggered and it creates a network of lines showing the path, which the user could then play back in order later…the switching is done only when a sample reaches it’s loop point, so that there is no sudden break - kind of like ableton’s composition mode, or fl-studio’s live mode. Then the second part will be that an algorithm generates a second set of triggers as the user clicks, creating a duet - all the samples can work with each other, so it won’t clash…

anyway - i got the first part perfect, cept my patch might not be as effective as it could be…and this might be part of the problem? it’s all working well, it’s just that damn click. it might be that audio programs does some auto corss-fading at the loop point - i’m not sure…anyway i have attache my patch if you want to look - any suggestions will be much appreciated

at this stage i’m thinking that my best bet is instead of waveplayer, to send midi commands to fl-studio in live mode.

thanx again - i’m not that much into code that i would be able to help with the waveplayer - so i’ll make do with some other solution…


GRAPH_THEORY_II.v4p (55.7 kB)

having a look at your sample with a wave-editor like audacity i saw that the end is indeed not silent. i faded it out and added minimum silence and the click is away.

still strange though that the click was so loud…
so maybe that is just it…

the graphtheory thing looks nice btw.

yo joreg,
nope - click is still there after doing a fade and inserting a bit of silence (in soundforge)…a loop don’t need absolute silence at the end - as long as the start of the loop fits with what happens at the end, and the all important zero-crossing it should work seamlessly.
i’m wondering if it has something to do with the file format - perhaps header info or sth…anyway i’m just geussing - going to try the midi route now…tx for your help

just to let u know - the midi triggering works much better for this - i’ve tried it and the extra bonus is that the sound software then takes care of the timing issues, which makes programming the patch a little less of a hassle. the only problem is setting everything up. a lot more of a mission with setting up two programs and the connection between them…

your patch looks indeed very interesting.
could you provide some instructions how to use it?

small hint:
you make use a module “Int (Value).v4p” which isn’t distributed with vvvv. somebody who doesn’t have this module cannot open this patch.
because (what i see) you only want to force integer downwards i’d suggest you to use Frac (Value) which does exactly this.
the original intention of Int (Value).v4p was forcing integer behaviour upwards to connected IOboxes.

hi kalle,
i do want to use integer for the nearest integer - since i am mapping mouse coordinate in the renderer to grid “zones” - i.e. if mapped mouse value is 4.667 I would want 5…i don’t know if this is what you mean by upwards?

yes- and my apologies - you need the int module for this…

instructions for the patch:

pick a directory that is filled with wav files (or at least contain a few wav files - at least 4) - through the dir module at top left.

activate the sound on iobox

then click in the white renderer in the center to create a coordinate. the corresponding sample should start on the first click and continue looping till you click again in a different area building up a “path” of how you played the samples.

when you click the play current graph - your recorded path will be played back sample for sample as you clicked through the grid

to clear the graph and start again click on reset.

the patch is still a little buggy - but the midi version i am using now is much more stable already - just requires a midi connection (via loopbe, or sth similar) to something like ableton/fl-studio