Feedback

View: New views
4 Messages — Rating Filter:   Alert me  

Feedback

by surgesg :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi all,

I'm trying to make a matrix-mixer for feedback routing. The code below produces silence, not what I was hoping for.
I guess I'm unsure of the InFeedback ugen, and how it works across multiple synths.

The code is supposed to route audio from the ~matrixMixer through the testIn synth and back, and then out on bus 0.
I'm expecting feedback, but getting nothing. Can anyone point me in the right direction?

Thanks,

- Greg

(
SynthDef(\matrixChannel,    {
                            | ampOne = 0, ampTwo = 0, ampThree = 0, ampFour = 0, outBus |
                            var inOne, inTwo, inThree, inFour;
                            inOne = InFeedback.ar(2, 1);
                            inTwo = InFeedback.ar(3, 1);
                            inThree = InFeedback.ar(4, 1);
                            inFour = InFeedback.ar(5, 1);
                            Out.ar([0, outBus], Mix.new([inOne * ampOne,
                                                        inTwo * ampTwo,
                                                        inThree * ampThree,
                                                        inFour * ampFour]))
                            }).send(s);
                            )
(
//    assemble the mixer
~numChannels = 4;
~outChannels = [6, 7, 8, 9];
~matrixMixer = Array.fill(~numChannels,    {
                                        | index |
                                        Synth(\matrixChannel, [\outBus, ~outChannels[index]])
                                        });
)
                                               
(                                   
SynthDef(\testIn,    {
                        | inBus, outBus |
                        var in;
                        in = Delay2.ar(InFeedback.ar(inBus, 1));
                        Out.ar(outBus, in)
                        }).send(s);
                        )
                       
Synth.tail(s, \testIn, [\inBus, 6, \outBus, 2]);

~matrixMixer[0].set(\ampOne, 0.3);



--
http://www.uwm.edu/~gssurges/

Re: Feedback

by LFSaw :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Unfortunately, sc is made for beautiful sounds only, so feedback loops  
are not allowed and are blocked.

No, seriously: probably you have to do either one or both of these  
things:
        - look carefully at order of execution (see [1])
        - decrease the blocksize to one (since InFeedback has a delay of  
server.options.blockSize AFAIK)


hope that helps
Till

[1]
        http://danielnouri.org/docs/SuperColliderHelp/ServerArchitecture/Order-of-execution.html

On 22.07.2008, at 04:50, Greg Surges wrote:

> Hi all,
>
> I'm trying to make a matrix-mixer for feedback routing. The code  
> below produces silence, not what I was hoping for.
> I guess I'm unsure of the InFeedback ugen, and how it works across  
> multiple synths.
>
> The code is supposed to route audio from the ~matrixMixer through  
> the testIn synth and back, and then out on bus 0.
> I'm expecting feedback, but getting nothing. Can anyone point me in  
> the right direction?
>
> Thanks,
>
> - Greg
>
> (
> SynthDef(\matrixChannel,    {
>                             | ampOne = 0, ampTwo = 0, ampThree = 0,  
> ampFour = 0, outBus |
>                             var inOne, inTwo, inThree, inFour;
>                             inOne = InFeedback.ar(2, 1);
>                             inTwo = InFeedback.ar(3, 1);
>                             inThree = InFeedback.ar(4, 1);
>                             inFour = InFeedback.ar(5, 1);
>                             Out.ar([0, outBus], Mix.new([inOne *  
> ampOne,
>                                                         inTwo *  
> ampTwo,
>                                                         inThree *  
> ampThree,
>                                                         inFour *  
> ampFour]))
>                             }).send(s);
>                             )
> (
> //    assemble the mixer
> ~numChannels = 4;
> ~outChannels = [6, 7, 8, 9];
> ~matrixMixer = Array.fill(~numChannels,    {
>                                         | index |
>                                         Synth(\matrixChannel,  
> [\outBus, ~outChannels[index]])
>                                         });
> )
>
> (
> SynthDef(\testIn,    {
>                         | inBus, outBus |
>                         var in;
>                         in = Delay2.ar(InFeedback.ar(inBus, 1));
>                         Out.ar(outBus, in)
>                         }).send(s);
>                         )
>
> Synth.tail(s, \testIn, [\inBus, 6, \outBus, 2]);
>
> ~matrixMixer[0].set(\ampOne, 0.3);
>
>
>
> --
> http://www.uwm.edu/~gssurges/


_______________________________________________
sc-users mailing list

info (subscribe and unsubscribe): http://swiki.hfbk-hamburg.de:8888/MusicTechnology/880
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/

Re: Feedback

by Julian Rohrhuber :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

>Hi all,
>
>I'm trying to make a matrix-mixer for feedback routing. The code
>below produces silence, not what I was hoping for.
>I guess I'm unsure of the InFeedback ugen, and how it works across
>multiple synths.

have a look if the example single_sample_feedback in the examples
folder helps you. This would be the only current way to do this more
or less efficiently.
--





.

_______________________________________________
sc-users mailing list

info (subscribe and unsubscribe): http://swiki.hfbk-hamburg.de:8888/MusicTechnology/880
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/

Re: Feedback

by surgesg :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks,

I've been playing around, and I've finally got it. I'm making each signal chain a separate group, and handling the order within each group - pretty cool!

- Greg


LFSaw wrote:
Unfortunately, sc is made for beautiful sounds only, so feedback loops  
are not allowed and are blocked.

No, seriously: probably you have to do either one or both of these  
things:
        - look carefully at order of execution (see [1])
        - decrease the blocksize to one (since InFeedback has a delay of  
server.options.blockSize AFAIK)


hope that helps
Till

[1]
        http://danielnouri.org/docs/SuperColliderHelp/ServerArchitecture/Order-of-execution.html

On 22.07.2008, at 04:50, Greg Surges wrote:

> Hi all,
>
> I'm trying to make a matrix-mixer for feedback routing. The code  
> below produces silence, not what I was hoping for.
> I guess I'm unsure of the InFeedback ugen, and how it works across  
> multiple synths.
>
> The code is supposed to route audio from the ~matrixMixer through  
> the testIn synth and back, and then out on bus 0.
> I'm expecting feedback, but getting nothing. Can anyone point me in  
> the right direction?
>
> Thanks,
>
> - Greg
>
> (
> SynthDef(\matrixChannel,    {
>                             | ampOne = 0, ampTwo = 0, ampThree = 0,  
> ampFour = 0, outBus |
>                             var inOne, inTwo, inThree, inFour;
>                             inOne = InFeedback.ar(2, 1);
>                             inTwo = InFeedback.ar(3, 1);
>                             inThree = InFeedback.ar(4, 1);
>                             inFour = InFeedback.ar(5, 1);
>                             Out.ar([0, outBus], Mix.new([inOne *  
> ampOne,
>                                                         inTwo *  
> ampTwo,
>                                                         inThree *  
> ampThree,
>                                                         inFour *  
> ampFour]))
>                             }).send(s);
>                             )
> (
> //    assemble the mixer
> ~numChannels = 4;
> ~outChannels = [6, 7, 8, 9];
> ~matrixMixer = Array.fill(~numChannels,    {
>                                         | index |
>                                         Synth(\matrixChannel,  
> [\outBus, ~outChannels[index]])
>                                         });
> )
>
> (
> SynthDef(\testIn,    {
>                         | inBus, outBus |
>                         var in;
>                         in = Delay2.ar(InFeedback.ar(inBus, 1));
>                         Out.ar(outBus, in)
>                         }).send(s);
>                         )
>
> Synth.tail(s, \testIn, [\inBus, 6, \outBus, 2]);
>
> ~matrixMixer[0].set(\ampOne, 0.3);
>
>
>
> --
> http://www.uwm.edu/~gssurges/


_______________________________________________
sc-users mailing list

info (subscribe and unsubscribe): http://swiki.hfbk-hamburg.de:8888/MusicTechnology/880
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/