tapout~ transpose issues

    Jun 06 2009 | 2:00 pm
    I hav built most of a granular delay patch however the transpose function is not working properly. At 0 transposition (normal pitch) the buffer plays through at 0 speed (i.e. not at all). Then when I increse the transposition the pitch goes up until I get to +12 semitones when it plays at the regular speed. The same thing happens when I move the pitch into minus figures but in mirror image. I have put float boxes in the grainCloud patch to check the figures are ok and everything seems to be fine (i.e. a 0 transposition and a window of 100 ms, the line~ scans through the buffer from x to x+100 in 100 ms. Equally at +12 semitones, it scans from x to x+100 in 50 ms, which should shift the pitch up by an octave). Is line~ the correct object to send a signal to tapout~? I know cycle works which will surely send the same type of index data to the object..?
    The patch is below - it will I'm afraid take a bit of time to set up. You will need to create the .mxf files using the two patches below and save them into a folder along with the pScale.js file attached to the message. The second patch has to be saved as grainCloud as this will insert itself into the poly~.
    Many thanks in advance for any help or advice - this is hugely frustrating!!
    Main patch:
    Sub-patch - must be saved as "grainCloud":

    • Jun 06 2009 | 3:32 pm
      The relationship between speed and distance to cover in the tapout, if I'm not mistaken, is:
      (1-speed)*graindur = distance
      With a fixed graindur of 100ms: speed; distance 1; 0 2; -100 0; 100 -1; 200
      Yes, I think this is right. Then you need to convert pitch to speed.
      _ johan
    • Jun 06 2009 | 3:55 pm
      Ah yes - that makes sense. I was approaching the issue as though tapout~ was an indexing object. I'll have another play using your formula.
      Thanks for your help Chris
    • Jun 06 2009 | 6:22 pm
      That works like a treat. The pitch shifts perfectly now.
      On a slightly different topic - I am getting some pretty bad clicking on the output. It becomes much worse when I transpose the sound. Could it be a problem with reading through the buffer? I have tried it with the bang feeding the pack removed and also with the feedback loop removed but without any success. Any help is appreciated. The updated grainCloud patch is below:
    • Jun 07 2009 | 4:18 pm
      Could it be that the end point of the line~ to tapout~ becomes negative? In fact you need to make sure that this value does not become smaller then 1 signal vector worth in ms. If eg transposition is 2 (octave up), and startpoint is 0 ms, the line would go from 0 to -100 ms, it 100 ms was the duration. If vector size is set to 64 samples, then the line~ should go from 101.451247 to 1.451247 ms.
      _ johan
    • Jun 08 2009 | 12:19 pm
      I thought it might be this but the issue is more pronounced when going down in pitch. I have a feeling it might be in some way related to the feedback loop as it is only really noticable when I turn up the feedback. Could it be that when the poly~ management is turning off a voice it is cutting off the signal being fed back into the tapin~ mid envelope? Although surely the envelope on the tapout~ is ensuring that this can't happen...? Also, I am assuming that the bangs are being sent in the correct order?
      Thanks for your help Chris