Hello all guys,
I'm working with PD (Vanilla 0.45.3) to create a Granular Synthesizer completely on my own. In order to generate the envelope line and the source material for each grain, I have created two different subpatches which, when they receive a bang, they respectively start sampling two different functions and saving them in two different arrays. To improve the result, I have set an higher sampling frequency in both these subpatches. The original main issue was that, using bangs and delayed bangs to define the start and the end points to write the function to the array, I always had to deal with imprecision in the amount of samples written to the table; I'm not sure but I think that this was due to the different rate with which control signal works respect to audio signal. Anyway, now I have discovered that the switch~ object allows in subpatches to process signals block-by-block sending just a bang: I think that this can resolve the issue above explained, but replacing the bang-delay-bang conception with the switch~ object, the DSP doesn't work. Sincerely, I don't know why because the syntax seems to be correct and this is because I'm writing here. I hope that someone can help me to find the reason of this issue and I thank you in advance. Here is the raw copy of the patch; the subpatch where I'm testing this is defined as "smoothed envelope": Grain_Synth_v2.Test.pd
-
switch~ Object Issue
-
Theory of operation:
2.4.4. switching and blocking
and perhaps
2.4.5. nonlocal signal connections
http://msp.ucsd.edu/Pd_documentation/x2.htmI live and love in Argentina
-
@LandonPD, thanks for your reply. I already read this documentation but by your suggestion, I have read it once again; anyway, sincerely, I haven't found a solution to my issue. In the 2.4.4 paragraph the only element that I have taken into account is the reference to the line~ object that, of course, stops its ramping task to a target value if the DSP is turned off before the mentioned task is accomplished. I suppose that this is not my issue because with a sample rate of 44100Hz and a block size of 44100 samples, oversampled for instance with a 8x factor, theoretically the line~ object should be able to get the target number in one second, and to write the values to the table too.
Edit: Of course, if I am saying something that is not right, please correct my sentences.
Using the toggle in place of the button everything works correctly. -
Hi Rodolfo. Your patch is too complicated for my poor brain.
You can probably download Granita, Grains, or NM-Grainer, and look inside them. Maybe you will find the answer to your issue. Or you may even contact the authors.
http://puredata.info/downloads/granita-minimalist-granular-synthesis
http://www.timvets.net/video/grains.php?page=software
http://www.soundsorange.net/projects/nm-grainer-granular-synthesis-pd-patch/I hope I can help you more next time
I live and love in Argentina
-
@LandonPD That vocal stuff he did at the end was cool! Thanks for the vid!
-
Yes, granular synthesis causes lots of different feelings in me.
There's a documentary/interview somewhere, probably at You tube. A woman interviews Roads and she almost laughed about his efforts in refining his art.
I live and love in Argentina
-
@Rodolfo-Cangiotti I have an idea. Why don't you listen to the first lectures by Miller at Youtube...he explained sthg about tables and tabread and the relationship between floats and integers and how tabread~ interprets them and things like that. It must be somewhere between lecture 2 up to lecture 7. The audio is bad but the content is good.
I live and love in Argentina