I would hope so ! Ultimately a FX container is just an intelligent wrapper for pin configurations. The extension necessary would be the ability to "break out" the signal from certain pins to prevent/circumvent summations...sort of like wanting to have a "send" plugin "in between" insert FX.
ie, a signal chain:
1. Compression
2. EQ
3. Distortion
4. Chorus
wanting to "break out" between 2 and 3 to send to a Reverb.
FX Chains would rely on the ability to internally do this breakout at the pin level.
Not sure what or how the actual implementation would be, but seems it will be more Reason's Combinator like... and having to deal with its "virtual cables" and routing, which to me seems to be that pin level breakout.
This would only contribute to the steep\unintuitive learning curve of Reaper for people who would like to use the FX-container.
In no way this opinion above (speculative) means I am against FX container. Quite the contrary. But how it is going to work is what matters at the end.
fxcontainer = "inspiration boost, bump!"
while True:
for items in pre-release:
if items.lower != "fx container":
print(fxcontainer)
elif items.lower == "fx container":
print("Thank you so much!!!!!!!")
print(buy_another_copy_of_reaper)
break
DDMF have released a rack-style plugin as well now, Superplugin
The Cockos implementation might include a simple/complex switch
to toggle between a rack style view (ala Superplugin) and a wired view (Metaplugin)
Bitwig has some great ideas on this with their grouped racks and grid view
I'd mostly use the rack view unless I needed to manually wire something up
Racks are great for auditioning your tape/saturation/comp fx etc for a track or buss without having a million plugins taking up space on your fx chain
Or just having your usual track favs in one bypassable insert spot.
I didn't have the time to go through each page to see if it had been mentioned but several early post talked about Image Line's Patcher. Image Line also makes a VST plugin that is very similar called Minihost Modular which can be downloaded for free, although it requires first joining their forums.
I didn't have the time to go through each page to see if it had been mentioned but several early post talked about Image Line's Patcher. Image Line also makes a VST plugin that is very similar called Minihost Modular which can be downloaded for free, although it requires first joining their forums.
mini-host (the little brother of Patcher) is cool but outdated and unfinished, IMAGE-LINE decided to stop its updates because they want FLstudio- Patcher to be exclusive to their DAW.
Let me talk about my idea of how to implement ReaRack.
First of all, I am not in favor of a built-in multiband implementation of ReaRack.
There are many different ways to divide a multiband, and it is not practical to implement all of them in ReaRack because of the amount of work involved.
Therefore, we wanted to adopt a structure in which all division methods can be used by using plug-ins created by third parties.
Let's start by explaining the various division methods.
■ReaXcomp
This is probably how ReaXcomp's frequency splitter works:
Red is ReaXcomp and light blue is ReaX with the gain of each band from init set to [Band 1: -5 dB] [Band 2: -20 dB] [Band 3: -15 dB] [Band 4: -25 dB], as you can see they match.
The features of this method are that there is no phase rotation when the gains of all bands are the same, the computational load is small even if the number of bands is increased, the shape of the segmentation is not consistent, and changing the gain of each band will result in a strange frequency response when summed.
Perhaps this method is called Parallel Equalizer, which does the same thing as this video.
The red lines are the respective divided bands, the light blue line is the summed result, the blue line is the 12 dB/oct slope, and the green line is the 6 dB/oct slope.
It looks like the HPF slope is 6 dB/oct and the LPF slope is 12 dB/oct. At the time of division, the frequency response exceeds 0 dB, but when summed, it flattens out nicely.
The red line is the frequency response of each band, and the light blue line is the summed result.
The dip occurs around 3 kHz.
■Linkwitz-Riley (Minimum Phase)
From top to bottom, they are 12 dB/oct, 24 dB/oct, 36 dB/oct, and 48 dB/oct.
This is the Linkwitz-Riley shape, which has a consistent band-by-band frequency response and does not peak or dip when summed, but does cause phase rotation at the crossover point when created with Minimum Phase.
Most vst frequency splitters probably use this method.
Different slopes can be set for each crossover point. The figure shows a combination of 12 dB/oct and 36 dB/oct.
■Linkwitz-Riley (Linear Phase)
Linkwitz-Riley (Linear Phase) has no phase rotation and can be set to any dB/oct that is not in 12 increments, but it does have pre ringing and latency.
I have not verified this, but the Linear Phase on the FabFilter Pro-MB probably uses this method.
■Butterworth (Minimum Phase)
From top to bottom they are 6 dB/oct, 18 dB/oct, 30 dB/oct, and 42 dB/oct.
Butterworth has a crossover point of -3 dB. This causes it to behave a little differently than Linkwitz-Riley.
This can also be set to a different slope for each crossover point. The figure shows a combination of 6 dB/oct and 30 dB/oct.
■Sinc (Linear Phase)
Sinc (Linear Phase) is the frequency splitter with the sharpest slope. The shape of the slope varies considerably depending on the frequency of the crossover point, the IR Length, and the Window used. Since this is a Linear Phase, pre ringing and latency will occur.
■Inflator
This is the Band Split method used by Oxford Inflator. The slope is 6 dB/oct, and as with ReaX, no phase rotation occurs when all bands have the same gain.
■Band and Notch (Minimum Phase)
From top to bottom: Butterworth 12 dB/oct, Linkwitz-Riley 24 dB/oct.
The Butterworth 12 dB/oct does not rotate phase when the Band and Notch gains are the same; the Linkwitz-Riley 24 dB/oct always rotates phase, but the sum of the frequency responses result is probably linear.
■Comb and Phaser
Comb and Phaser are experimental division methods. They are suited for sound design.
I am sure there are many other ways to divide by frequency, but I will leave it at this, and next I will show you how to divide by amplitude.
■Transient
Transient splits the signal between the attack and the rest of the signal.
■Gate
Gate divides the signal by the amplitude.
■Envelope Follower
The Envelope Follower changes the amount of division according to the size of the original signal.
There are many other ways of splitting, not listed here, but there are many more, such as splitting by MIDI-triggered envelopes, splitting between phantom centers and others, splitting by spectrum level, splitting by a simple LFO, and so on.
Now let me make a suggestion about the structure of ReaRack.
■ReaRack
This ReaRack is simply explained as a Track FX that can be nested.
It differs from a normal Track FX in that it has a drop-down menu for selecting presets and a wet knob.
An additional feature is the ability to have your own internal channel count in addition to the external channel count.
As an optional feature, selecting multiple plug-ins and pressing Ctrl+G will create a new ReaRack and move the selected plug-ins into it.
Drag and drop while holding down the decoration key or Load FX chain... (Shift+Insert, Shift+A) option to load FX Chains as a ReaRack.
FX Chains can be selected from the drop-down menu for choosing a ReaRack preset.
When the Plug-in pin connector window is opened with Ctrl+Click, all pins in that Track FX Window are displayed.
It would be nice to have a function like this.
Here is an example of how ReaRack is used.
■Transient
This is an example of splitting by Transient.
Each ReaRack can have its own number of channels.
The audio signal flow is like this.
■Parallel
Parallel Example.
The audio signal flow is like this.
■Open Delay
This is an example of Open Delay using Parallel.
Open Delay is a JSFX that allows third-party effects to be placed in the feedback loop.
The audio signal flow is like this.
■Group
Of course, it can also be used as a simple grouping.
All ReaRack images are my imagination of the finished product and do not currently exist.
Download links for all JSFX files used in the commentary: https://github.com/lewloiwc/JSFX-for...heads/main.zip
Most of the code here is naive implementation created for demonstration purposes, the frequency splitter does not support more than 3 bands, and CPU efficiency is not optimized, but sound quality is not compromised.
If and when ReaRack is implemented, we would like to support more than just 3 bands, optimize CPU efficiency, add features, etc.
Wow yeah, great job, lew. Any JSFX devs on this thread, would it be possible to create a plugin that does this just with the JSFX API?
Careful. Reaper already implemented plug-in-level oversampling which is something I (and I’m sure other people) asked for in this thread, and was the main reason for me wanting FX containers. If someone implements all the above, we’ll really have no need for an FX container lol
IMHO containers only are worthwhile, when implemented really decently (including JSFX handling, Parameter modulation, "Container parameters" -> content parameters, no limitation regarding channels, "Containers in Containers", no additional CPU demand, ...)
See many posts above.
-Michael
I dont want to be mean but all that is already in Reaper ;D Isnt Reaper for smart peoples ?
Multiband Spliting is possible easy with few ways - requring to rename it individually splits to make it more like something new as default is strange.
Ovsersampling is already in Reaper.
There are even easy solution for macro like macro js plugin which is just knobs that does nothing but this is what are really macros.
Ability to rename knobs just needed to that macro js "plugin"
You Win with all that phone number stuff and space invaders and volume puzzles an binary stuff. ;DDDDD
But really:
is one simple solution for all that mess:
for people who want visual speed kind of diagram of lines corresponding to position of fx in chain and number of channels at left or right position of opened fx chain as option for chains. drag and drop points in out stuff that easy represent numbers as fast visual mode in fx chains.
FX CHAIN for example stereo 4 channel track. 4 CHANNELS so four visual pipes with
I and O points coresponding to fx in chains.
(fx chain displayed in 90 degree)
===================
FX 1 , FX 2, FX 3 { fx positions in chain. }
===================
\ \ \
-I--O-\-I---\-I--O-\-pipe 1 { I O visually coresp. to position of fx . drag n drop I and O with mouse }
-I--O-\-I---\-I--O-\-pipe 2
------\---O-\-I----\-pipe 3
------\---O-\-I----\-pipe 4
par. 1\ par 2.\ par 3.\ { param links coresp to position of fx in chain }
if any parameter of fx is linked - visual list near fx chain should be created too coresp to number of linked fx parameters at plugin positions. voila.
so finally routing and macross stuff should be resolved.
finally:
in my opinion ability to use custom actions inside fx chains solve all that stuff in very customizable ways with one ninja cut.
js script macros need just ability to rename these empty knobs and voila. probably most comples script ever. 8 knobs lines of code ? xd
p.s.
FX CONTAINER sounds for me like kind of drug illusion. fx chain ANY is already a fx container...Some people just need more light puted into fx chains - whatever it means.
@AZpercussion Thank you! That's an important point!
@MonkeyBars ReaRack should only be created by REAPER developers. However, anyone can create a splitter for use with ReaRack!
@gogi Thanks!✌
@Lynx_TWO Sorry, I forgot to write the purpose of this structure. I will explain that below!
@mschnell I did not understand what ["Container parameters" -> content parameters] and [no limitation regarding channels] meant. I'm sorry, but I'd appreciate it if you could elaborate a bit more! Other than that, it should be implemented just fine!
@X-Tech Sorry, I forgot to write the purpose of this structure. I will explain that below!
@X-Tech Is this what you are talking about?:
It was not clear to me what the diagram would look like if the parameters were linked.
The first is that all the splitters introduced have already been created except for ReaX. (ReaX will also be created upon request.)
The second is the purpose of this ReaRack structure.
It is to make it easier to build complex routing without increasing the number of channels in the track.
Certainly there is little that REAPER cannot do as it is now. But even if it is possible, it is not easy.
I will illustrate an example of this now.
First, the Linkwitz-Riley (Minimum Phase) 48 dB/oct was used to split the signal into three bands, Paranoia Mangler was applied to the Low Band, Waveshaping Distortion and ReaEQ were applied to the Mid Band, and the High Band was split into a large and small signal with Gate Splitter. The High Band was split into large and small signals using Gate Splitter, ReaDelay was applied to the large signal, Tremolo and Volume Adjustment to the small signal, and ReaVerbate was applied after summing the large and small signals.
The output sound is like this:
0:00 Bypass
0:10 All Bands
0:20 Low Band Only
0:30 Mid Band Only
0:40 High Band Only
0:50 High Band Open Only
1:00 High Band Close Only
Of course, this can be reproduced in the current REAPER.
Let's start by adding JS: 4-Tap Phaser and JS: Flanger to the first row of Mid Band.
First, add JS: 4-Tap Phaser under ---- Mid Band ---- and change the routing from Plug-in pin connector.
Next, add JS: Flanger under JS: 4-Tap Phaser and change the routing from Plug-in pin connector.
Done.
Changing the routing from the Plug-in pin connector each time a new plug-in is added is tedious but not yet difficult.
But what if I wanted to split the first row of Mid Band with Transient Splitter and apply effects to each of Attack and Sustain?
I can use the 3/4 used in Mid Band for Attack, but which way should I go for Sustain?
You cannot use 1/2 or 5/6 because they are used in other Bands, but you can use 7/8 in this case.
Some people may think that 7/8 cannot be used because it is used in the Gate Splitter of High Band, but that is where it is used in High Band, so it can be used in Low Band or Mid Band where High Band processing has not started. Do you see what I am saying?
Added JS: Distortion (Fuzz) to Attack (3/4) and JS: Ozzifier Chorus to Sustain (7/8). Then we use JS: Channel Mapper-Downmixer (Cockos) to sum Attack (3/4) and Sustain (7/8) to Mid Band (3/4).
Doesn't it seem complicated?
With ReaRack, all you have to do is add it to Mid Band's ReaRack.
Added JS: 4-Tap Phaser and JS: Flanger
Split by Transient Splitter and add JS: Distortion (Fuzz) to Attack and JS: Ozzifier Chorus to Sustain.
It is not even necessary to change the routing from Plug-in pin connector each time a new plug-in is added.
those tools just doesn't work properly (lots of bugs and limitations) and their creators said it out loud that it is impossible currently to do it properly without attention from the devs.
@cool
It is important to note that ReaRack itself is not intended for complex sound design, but is simply a "Rack" that allows you to group multiple plug-ins together.
All of the examples I have shown so far are special uses of ReaRack, as in, "If ReaRack existed in the world, this is how I would use it."
Don't you see the benefit in the grouping itself?
There is no difference in your mock-up between track channel count, plugin input channel count and plugin output ones.
But in Reaper it exists.
Here more noticeable:
I have thought about you idea to minimize user actions while moving around channel matrixes and get a whole view. And I think it's difficult to combine all matrixes in one window, especially if there are a lot of channels, saying from 10 to 64 possible channels.
But we can minmize user efforts while moving around matrixes.
There could be collapsible window that can show compact matrix for selected plugin.
Compact matrix could be based on this current drop-down menu:
So, here my mock-up.
Honestly it could be implemented in current FX chain in addition to regular routing matrix.
All the mockups and ideas are of course appreciated and add value, but FX Racks are already so perfected and well-defined in DAWs like Ableton/BitWig/Studio1 that unless these new mockups offer something new, I just sort of don't get it.
Even Waves StudioRack as a reference...would give us tremendous functionality if implemented natively.
I personally never want to see or think about pins ever again - can't think of a less musical, more creativity-breaking paradigm honestly.
All the mockups and ideas are of course appreciated and add value, but FX Racks are already so perfected and well-defined in DAWs like Ableton/BitWig/Studio1 that unless these new mockups offer something new, I just sort of don't get it.
Even Waves StudioRack as a reference...would give us tremendous functionality if implemented natively.
I personally never want to see or think about pins ever again - can't think of a less musical, more creativity-breaking paradigm honestly.
Can the fx racks in these DAWs work with multichannel audio as well as with stereo?
I'm afraid that for multichannel work we can't avoid pins.
And also if we can suggest something not ideal but close to 80% of possibly ideal, we should.
Nesting itself (with independent channels number) can save a lot of user efforts.
Can the fx racks in these DAWs work with multichannel audio as well as with stereo?
I'm afraid that for multichannel work we can't avoid pins.
And also if we can suggest something not ideal but close to 80% of possibly ideal, we should.
Nesting itself (with independent channels number) can save a lot of user efforts.
You might be right, but anything resembling how Plogue Bidule works (with inputs/outputs exposed and the ability to connect anything to anything) would afaik be a universal solution. Not the cleanest, not the simplest by any stretch of the imagination, but still infinitely better than trying to memorize why you disabled pins 1-8 and are letting reverb through on 9/10 lol. Like, wut?
This kind of suggestions could even be ok and useful for some people and eventually also to keep the fxchain as “is” but it would require to be seen as a primitive/engineer kind of look so it would be also necessary cockos to develop a different view/panel/info panel with a proper easy and intuitive gui in order to be useful for most of the users which want to focus with creativity and easy workflow in mind.