![]() |
![]() ![]() ![]() ![]() ![]()
|
next newest topic | next oldest topic |
Author | Topic: Global Buffer - Replicated granulator | |
garth paine Member |
![]() ![]() ![]()
IP: Logged | |
SSC Administrator |
![]() ![]() ![]()
I think this Sound would work as expected if you start with the Prototype called "Surround Granular Reverb (no sub)" and create one of these units for each of your original sources (giving each of the pairs a different memory buffer name). In other words, you think of the granular reverb as a unit consisting of a Source into a MemoryWriter mixed with the SampleCloud reading from that memory writer. You replicate that unit, sharing the Source (rather than sharing the MemoryWriter). Here's an example (using sample sources in place of your SumOfSines). IP: Logged | |
garth paine Member |
![]() ![]() ![]() Thanks for that - yes that works - I was trying not to replicate the memoryWriter - thinking that this could be global, as what I would actually like to do is replace the SumOfSines with a live spectral analysis (not sure how to do this BTW) - this would allow dramatic stretching of live input snapshots. I was looking to reduce the processor load as this does not run on 12, although it does run of the fully loaded system only using 12, so must be close. The Prefixer is intersting - not used that before. So is it possible to make the MemoryWriter global? I want to read from a mono live flute input only, so don't really need to make multiple copies of this in RAM. Thanks in advance, Cheers, Garth PS. love the spatialisation that the new Prototypes do IP: Logged | |
SSC Administrator |
![]() ![]() ![]() Thanks Garth. Yes it makes sense to share a global buffer. However, Kyma can do a more efficient job of scheduling onto multiple processors when there are multiple buffers (even though each buffer holds the same material). The SumOfSine is shared; it is just the MemoryWriter that is replicated. This is even more efficient than checking Global on the MemoryWriter (since that occupies *all* the processors). To reduce the amount of DSP required, try reducing the MaxGrains parameters in the SampleClouds.
quote: You could replace the SumOfSines with an OscillatorBank having a live SpectralAnalysis as its spectrum input. (Granulating the analysis itself would mess up the number and order of the partials and confound the amplitude and pitch envelopes). [This message has been edited by SSC (edited 24 October 2007).] IP: Logged | |
Bill Meadows Member |
![]() ![]() ![]() quote: I tried to do this several years ago - SSC helped by posting an example either here or on the Twiki site. I was never able to get it to work to my satisfaction, but you might have better luck. Let me know if you can't find it and I'll look back through my sounds. IP: Logged | |
SSC Administrator |
![]() ![]() ![]() You might try capturing the live input in a buffer, playing it back at half speed, putting it through the LiveSpectralAnalysis (with analysis frequency set one octave lower to compensate), then resynthesize it with pitch shifted back up to original pitch. This will give time stretched resynthesis of the original. IP: Logged |
All times are CT (US) | next newest topic | next oldest topic |
![]() ![]() |
This forum is provided solely for the support and edification of the customers of Symbolic Sound Corporation.