Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Pre-Release Discussion

Reply
 
Thread Tools Display Modes
Old 10-11-2023, 03:02 AM   #1
Suzuki
Human being with feelings
 
Suzuki's Avatar
 
Join Date: Jul 2022
Location: Japan
Posts: 765
Default v7 Containers Feedback Channel Discussion

Let's discuss how this works, how we can control parameters e.g. feedback amount, what use case is etc. Make sure you inserted limiter before experimenting it.

It's only available for FX inside container and you can access it by enabling feedback channel here.


For anyone who want to know what feedback loop sounds, I'd recommend lewloiwc's container preset ([Creative] Fairy Flying) and Open Delay plugin as an accessible starting point, and replacing the JSFX with feedback channel. Open Delay has many parameters to tweak.
Container .RPL
https://forum.cockos.com/showpost.ph...&postcount=183
JSFX
https://github.com/lewloiwc/JSFX-for...APER/Effects/_

Last edited by Suzuki; 10-11-2023 at 10:48 AM.
Suzuki is offline   Reply With Quote
Old 10-11-2023, 03:03 AM   #2
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 4,585
Default

Yeah, would like to know and preferably have some minimal project to see whats going on and how its mapped and controlled
Sexan is offline   Reply With Quote
Old 10-11-2023, 04:30 AM   #3
Suzuki
Human being with feelings
 
Suzuki's Avatar
 
Join Date: Jul 2022
Location: Japan
Posts: 765
Default

I got the almost same beautiful feedback effects as the JSFX when routing it like this.



I don't recommend chorus and phase as a recieve.
Suzuki is offline   Reply With Quote
Old 10-11-2023, 04:58 AM   #4
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 4,585
Default

Could you provide project file (without external jsfx) ?
Sexan is offline   Reply With Quote
Old 10-11-2023, 05:05 AM   #5
Suzuki
Human being with feelings
 
Suzuki's Avatar
 
Join Date: Jul 2022
Location: Japan
Posts: 765
Default

Sure thing. Just remove Open Delay as you like since it's already bypassed. Chorus and phaser are stock jsfx iirc, but removing them also does not affect the result much.

EDIT:
I think we need to insert volume plugin to adjust a feedback amount. Pro tips is that a feedback amount volume plugin should not be in the main channel, but placed in Feedback channel. Attachment is updated.
Attached Files
File Type: rpp Feedback_test.rpp (12.0 KB, 47 views)

Last edited by Suzuki; 10-11-2023 at 05:20 AM.
Suzuki is offline   Reply With Quote
Old 10-11-2023, 05:10 AM   #6
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 4,585
Default

is second container supposed to be empty?

Nvm that... ok I'm starting to get how it should operate but some "issues":

1. Signal always must be processed - NO bypass and no DRY 100% or things will get nasty
2. ATM no way of controlling the amount of feedback?

Last edited by Sexan; 10-11-2023 at 05:16 AM.
Sexan is offline   Reply With Quote
Old 10-11-2023, 05:20 AM   #7
Suzuki
Human being with feelings
 
Suzuki's Avatar
 
Join Date: Jul 2022
Location: Japan
Posts: 765
Default

Second container is just a dry signal because the original preset treats them as a parallel effects. Maybe we can use it to see how feedback interact with each other containers by adding effects to that container too.
Suzuki is offline   Reply With Quote
Old 10-11-2023, 05:30 AM   #8
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 4,585
Default

Behavior can be very unpredictable by introducing dry signal in the chain after Feedback receiver.

Not sure how to make this "easy" to use because user can click/change something and it will break everything and potential loud noise
Sexan is offline   Reply With Quote
Old 10-11-2023, 05:31 AM   #9
Vagelis
Human being with feelings
 
Vagelis's Avatar
 
Join Date: Oct 2017
Location: Larisa, Greece
Posts: 3,795
Default

Thanks for creating this thread. Will get back home soon.
Btw I don't think volume utility is a solution for the amount of feedback. This could control the volume but not the feedback it self. Wet parameter should do that imo, like how much sending back to it self.
Vagelis is offline   Reply With Quote
Old 10-11-2023, 06:40 AM   #10
Suzuki
Human being with feelings
 
Suzuki's Avatar
 
Join Date: Jul 2022
Location: Japan
Posts: 765
Default

Hmm, so it's like this? Doesn't it affect the main channel effects though?
Suzuki is offline   Reply With Quote
Old 10-11-2023, 08:43 AM   #11
Suzuki
Human being with feelings
 
Suzuki's Avatar
 
Join Date: Jul 2022
Location: Japan
Posts: 765
Default

Are these correct? Send needs to be in the later position than receive (it's obvious).

Feedback receive


Feedback Send


Effects between feedback send and receive

Last edited by Suzuki; 10-11-2023 at 04:29 PM. Reason: typo
Suzuki is offline   Reply With Quote
Old 10-11-2023, 10:35 AM   #12
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 4,585
Default

Ok this looks fun when you get the grasp of it. Never did anything with feedback so this is new territory for me.

So this is little test I've did with some random stuff with delay got this abstract art.

Limiter is the main tool here it influences everything how it will end up sounding (I'm a noob here when it comes to sound designing with feedback)

(rename it to mp3)
Attached Files
File Type: lua UFO Confirmed.lua (178.0 KB, 41 views)

Last edited by Sexan; 10-11-2023 at 10:42 AM.
Sexan is offline   Reply With Quote
Old 10-11-2023, 11:16 AM   #13
Suzuki
Human being with feelings
 
Suzuki's Avatar
 
Join Date: Jul 2022
Location: Japan
Posts: 765
Default

Other things we should explore is a use case for several feedback routings and the way to send a feedback of fx inside container to fx inside another container (i.e. ReaPitch to Saturation). Moving all fx into a single container would solve it in this simple example, but maybe Vagelis has a more complex use case in mind, right? Although I doubt it's possible, let me know if someone knows the way.



Quote:
Originally Posted by Sexan View Post
Ok this looks fun when you get the grasp of it. Never did anything with feedback so this is new territory for me.

So this is little test I've did with some random stuff with delay got this abstract art.

Limiter is the main tool here it influences everything how it will end up sounding (I'm a noob here when it comes to sound designing with feedback)

(rename it to mp3)
That does sound interesting! I'll experiment it more with that in my mind.
Suzuki is offline   Reply With Quote
Old 10-11-2023, 11:19 AM   #14
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 4,585
Default

The sound of whales from Mars:
http://sndup.net/x4yp

Reverb feeding into itself


Will try multiple containers
Sexan is offline   Reply With Quote
Old 10-11-2023, 11:24 AM   #15
Suzuki
Human being with feelings
 
Suzuki's Avatar
 
Join Date: Jul 2022
Location: Japan
Posts: 765
Default

Is there API relating to this? I can't find something like enabling N feedback channels.
Suzuki is offline   Reply With Quote
Old 10-11-2023, 11:26 AM   #16
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 4,585
Default

It just GetSetPinMapping on container ID. Will take a look

EDIT: Ah yeah, not sure how to access channel count and feedback from API or increase them. Not sure if we are provided with this yet?

EDIT2: ATM is seems editing chunk is the only way:

Code:
CONTAINER_CFG 4 2 2 0
1. CHANNEL COUNT
2. INPUTS
3. OUTPUTS
4. ??

FEEDBACK_CHANNELS 2

Last edited by Sexan; 10-11-2023 at 12:08 PM.
Sexan is offline   Reply With Quote
Old 10-12-2023, 02:30 AM   #17
Vagelis
Human being with feelings
 
Vagelis's Avatar
 
Join Date: Oct 2017
Location: Larisa, Greece
Posts: 3,795
Default

Hey guys, i experimented more with containers when I got time last night and found some really cool things!

First thing, we can send an fx back to it self with a single container like so: (We can choose any number of effects that we want to feed back to them selves that way)



OR, we can tame the feedback only with a LP/HP filter with out affecting the main signal if we connect like this:



We can add more effects and connect them only to the feedback channels, so they would process only the feedback.

I saved a couple of minimal projects with some audio files for testing purposes, please let me know if they open with the files. (CAUTION, I used the waves L2 limiter, if you don't have this plugin better use another limiter in its place)
They include a delay pitchshifter with an EQ as filter in the feedbackloop, delay modulation for glitchy effects and mooore.

https://mega.nz/file/EqZTyKzD#GXzbIL...Y51hh2l3jpZoQU

Last edited by Vagelis; 10-12-2023 at 02:44 AM.
Vagelis is offline   Reply With Quote
Old 10-12-2023, 04:49 AM   #18
Suzuki
Human being with feelings
 
Suzuki's Avatar
 
Join Date: Jul 2022
Location: Japan
Posts: 765
Default

Quote:
Originally Posted by Vagelis View Post
Hey guys, i experimented more with containers when I got time last night and found some really cool things!

First thing, we can send an fx back to it self with a single container like so: (We can choose any number of effects that we want to feed back to them selves that way)



OR, we can tame the feedback only with a LP/HP filter with out affecting the main signal if we connect like this:



We can add more effects and connect them only to the feedback channels, so they would process only the feedback.

I saved a couple of minimal projects with some audio files for testing purposes, please let me know if they open with the files. (CAUTION, I used the waves L2 limiter, if you don't have this plugin better use another limiter in its place)
They include a delay pitchshifter with an EQ as filter in the feedbackloop, delay modulation for glitchy effects and mooore.

https://mega.nz/file/EqZTyKzD#GXzbIL...Y51hh2l3jpZoQU
Wow, thanks for providing us with your project. I'll take a look later.

Yeah, the second image is exactly what I suggested above with a volume plugin. It only affects the feedback signal.

Last edited by Suzuki; 10-12-2023 at 04:56 AM.
Suzuki is offline   Reply With Quote
Old 10-12-2023, 04:56 AM   #19
Vagelis
Human being with feelings
 
Vagelis's Avatar
 
Join Date: Oct 2017
Location: Larisa, Greece
Posts: 3,795
Default

Quote:
Originally Posted by Suzuki View Post
Wow, thanks for prividing us with your project. I'll take a look later.
Thanks Suzuki, please let me know if you can open the project with the audio files to listen the examples.

Quote:
Originally Posted by Suzuki View Post
Yeah, the second image is exactly what I suggested above with a volume plugin. It only affects the feedback signal.
Yep now I saw , this is the correct way to send effects only to the feedback. Even though by filtering it with a LP /HP filter is so nice for different textures and I found is very nice way to tame it.
Then you can also mix the effect depth from the wet parameter of each plugin.

Let me know how it goes
Vagelis is offline   Reply With Quote
Old 10-12-2023, 05:01 AM   #20
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 4,585
Default

That is very cool!

@Devs

I was thinking about something. Since feedback routing needs brickwall limiter in any scenario, what IF Containers have built in one?

1. By default limiter is off
2. When feedback channel is assigned, container limiter automatically turns on and sets ceiling to -0.1 or whatever
3. User can adjust ceiling further

This way there would not be any potential issues of volume bursts or other potential problems that could do harm. If user has set a limiter plugin somewhere and removes it then we are back to problems like high volume burst etc.

ATM "use with caution" does not really give any idea what could go wrong for new users or users that did not never deal with feedback routing (like me).
it would be better to have some meaningful message there:

"INSERT LIMITER ON MASTER TRACK TO AVOID INFINITE VOLUME BUILDUP THAT CAN BE CAUSED BY FEEDBACK"
Sexan is offline   Reply With Quote
Old 10-12-2023, 05:28 AM   #21
Vagelis
Human being with feelings
 
Vagelis's Avatar
 
Join Date: Oct 2017
Location: Larisa, Greece
Posts: 3,795
Default

Quote:
Originally Posted by Sexan View Post
@Devs

I was thinking about something. Since feedback routing needs brickwall limiter in any scenario, what IF Containers have built in one?
Great idea, a built in limiter would be awesome
Vagelis is offline   Reply With Quote
Old 10-13-2023, 03:31 AM   #22
Vagelis
Human being with feelings
 
Vagelis's Avatar
 
Join Date: Oct 2017
Location: Larisa, Greece
Posts: 3,795
Default

Some more experiments.
Two containers, the first assigned to container channels 1/2, the second to 3/4.

The first is sending feedback to 5/6 and the second to 7/8. So there are two separate feedbacks on each container. Can be used in parallel as well.

https://mega.nz/file/5vAxFC5T#bLnlON...Z8BBfOzXKtv8yU

EDIT: Seems right here and I hope I'm not doing something wrong, DEVS could you please share some simple examples with feedback routings so we know that we're right on track?
Vagelis is offline   Reply With Quote
Old 10-13-2023, 04:55 AM   #23
Vagelis
Human being with feelings
 
Vagelis's Avatar
 
Join Date: Oct 2017
Location: Larisa, Greece
Posts: 3,795
Default

Another one which feeds back an fx to multiple with a single container. Simple example where the pitch is sending the feedback to two parallel effects. (Use the LP/HP filters to shape the feedback)

https://mega.nz/file/omxAQbhR#vGAKim...ajzMVGnwTYIKrk

P.S You can also send the pitch back to it self AND to parallel fx for more weirdness.

Last edited by Vagelis; 10-13-2023 at 05:28 AM.
Vagelis is offline   Reply With Quote
Old 10-15-2023, 02:58 AM   #24
Vagelis
Human being with feelings
 
Vagelis's Avatar
 
Join Date: Oct 2017
Location: Larisa, Greece
Posts: 3,795
Default

Best way to adjust feedback amount seems to be with channel mapper downmixer. Seems to work very very good!

Vagelis is offline   Reply With Quote
Old 10-15-2023, 05:36 AM   #25
Vagelis
Human being with feelings
 
Vagelis's Avatar
 
Join Date: Oct 2017
Location: Larisa, Greece
Posts: 3,795
Default

Quote:
Originally Posted by Suzuki View Post
Other things we should explore is a use case for several feedback routings and the way to send a feedback of fx inside container to fx inside another container (i.e. ReaPitch to Saturation). Moving all fx into a single container would solve it in this simple example, but maybe Vagelis has a more complex use case in mind, right? Although I doubt it's possible, let me know if someone knows the way.
I think it's not possible to send the feedback of an effect inside a container, to an effect inside another container. But when the second container is inside another, Reaper sees it as an effect, so the routings change and feedback is also added.
So we can send the feedback of the whole container back to the effect in first container and also adjust feedback amount.

Vagelis is offline   Reply With Quote
Old 10-16-2023, 09:31 AM   #26
Suzuki
Human being with feelings
 
Suzuki's Avatar
 
Join Date: Jul 2022
Location: Japan
Posts: 765
Default

v7.0rc12 allows us to use namedconfigparm as a way to expose container feedback channel.

Code:
expose container_nch etc as named config parm via namedconfigparm API

container_nch : number of internal channels for container
container_nch_in : number of input pins for container
container_nch_out : number of output pints for container
container_nch_feedback : number of internal feedback channels enabled in container

Quote:
Originally Posted by Vagelis View Post
I think it's not possible to send the feedback of an effect inside a container, to an effect inside another container. But when the second container is inside another, Reaper sees it as an effect, so the routings change and feedback is also added.
So we can send the feedback of the whole container back to the effect in first container and also adjust feedback amount.
Yeah, I thought that is the only way. Are there any limitation you come up with regarding an advanced feedback techniques? Personally I'm satisfied with the tool we have, but you seem to know more about it.

Also, thanks for the project files! Much appreciated here.
Suzuki is offline   Reply With Quote
Old 10-16-2023, 12:41 PM   #27
Vagelis
Human being with feelings
 
Vagelis's Avatar
 
Join Date: Oct 2017
Location: Larisa, Greece
Posts: 3,795
Default

Quote:
Originally Posted by Suzuki View Post
Yeah, I thought that is the only way. Are there any limitation you come up with regarding an advanced feedback techniques? Personally I'm satisfied with the tool we have, but you seem to know more about it.

Also, thanks for the project files! Much appreciated here.
Actually I found no limitations regarding feedback routing, on the contrary it's damn flexible!

BUT, there's one thing I would love to have and that's keytracking for feedback.
Because we don't have keytrack as parameter modulation in order to tune the delay so we could play it with notes. We could then do karplus strong synthesis, or resonator fx that tune with any instrument. The stock readelay is really bad for this. The parameter modulation can't happen between the smallest delay values to change the pitch, or maybe the small values could go even further for higher pitches. In any case that's not the best delay for this.

But anyway, the other idea is to have internal keytracking in the feedback loop. Like to turn a switch and tune the feedback so it could play correctly with midi notes.
These stuff could open a lot of great possibilities for physical modelling instruments/effects, which I really love.

I made some attempts with stock plugins, but with those limitations mentioned the feedback is not tuned in this karplus strong patch but could be shaped with the filter.
So I sent the feedback into a noise oscillator in Surge and modulated the delay a bit for small pitch changes since there's no key tracking:
https://mega.nz/file/4nQhjZRD#g7PvWB...hOapEvT8IJvd8Y

Another FM patch in Surge which use feedback as a resonator fx. Tweak the OSC parameters in Surge to shape the resonator!
https://mega.nz/file/Br5E2YrT#SFIWgS...ge-Bd2N0WxGQSI

A way to timestretch with delay feedback. (wait for a loop cycle)
https://mega.nz/file/k3Rx0D5K#YVXXDJ...nqBDYIBsTuRgiE

Have fun.

Last edited by Vagelis; 10-16-2023 at 03:58 PM.
Vagelis is offline   Reply With Quote
Old 10-16-2023, 01:32 PM   #28
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 4,585
Default

Thank you, these are amazing for me to understand whats happening. Still trying to figure out how to visually represent the feedback routing in Paranormal (it will need a button to drop it around)
Sexan is offline   Reply With Quote
Old 10-16-2023, 02:39 PM   #29
Vagelis
Human being with feelings
 
Vagelis's Avatar
 
Join Date: Oct 2017
Location: Larisa, Greece
Posts: 3,795
Default

Quote:
Originally Posted by Sexan View Post
Thank you, these are amazing for me to understand whats happening. Still trying to figure out how to visually represent the feedback routing in Paranormal (it will need a button to drop it around)
Yes similar to what I was thinking too, some kind of a place to send the feedback by dragging. But since it's possible to send multiple feedbacks from one fx, 3/4, 5/6 etc, then it would be nice if we could drag from one fx and send to multiple destinations with the script too. I'd like if we could drag the feedback with spaghetti so we could see the routing, maybe with dotted lines to indicate feedback and separate it from the rest signal flow.

EDIT: Or maybe switch to feedback view to add/see the feedback routings? Coz I think each "button" could be another feedback send 3/4, 5/6 etc and maybe could clutter the main interface.
Just an idea though, you might have something better in mind

Last edited by Vagelis; 10-16-2023 at 03:06 PM.
Vagelis is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 03:58 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.