Skip to content

Commit

Permalink
Add the Verbity2; Update to latest AW submodule (#17)
Browse files Browse the repository at this point in the history
  • Loading branch information
baconpaul authored Feb 6, 2023
1 parent af3975b commit 045b7dd
Show file tree
Hide file tree
Showing 10 changed files with 186 additions and 163 deletions.
2 changes: 1 addition & 1 deletion libs/airwindows
Submodule airwindows updated 81 files
+24 −2 Airwindopedia.txt
+14 −12 plugins/LinuxVST/src/Chamber2/Chamber2Proc.cpp
+1 −1 plugins/LinuxVST/src/Verbity2/Verbity2.cpp
+2 −2 plugins/LinuxVST/src/Verbity2/Verbity2.h
+34 −36 plugins/LinuxVST/src/Verbity2/Verbity2Proc.cpp
+199 −109 plugins/MacAU/Chamber2/Chamber2.cpp
+77 −67 plugins/MacAU/Chamber2/Chamber2.h
+2 −2 plugins/MacAU/Chamber2/Chamber2.r
+26 −25 plugins/MacAU/Chamber2/Chamber2.xcodeproj/christopherjohnson.mode1v3
+21 −75 plugins/MacAU/Chamber2/Chamber2.xcodeproj/christopherjohnson.pbxuser
+45 −79 plugins/MacAU/Chamber2/Chamber2.xcodeproj/christopherjohnson.perspectivev3
+1 −1 plugins/MacAU/Chamber2/Chamber2.xcodeproj/project.pbxproj
+2 −2 plugins/MacAU/Chamber2/Chamber2Version.h
+ plugins/MacAU/Chamber2/English.lproj/InfoPlist.strings
+1 −1 plugins/MacAU/Chamber2/Info.plist
+5 −0 plugins/MacAU/Chamber2/StarterAU_Prefix.pch
+ plugins/MacAU/Verbity2/English.lproj/InfoPlist.strings
+1 −1 plugins/MacAU/Verbity2/Info.plist
+5 −0 plugins/MacAU/Verbity2/StarterAU_Prefix.pch
+298 −158 plugins/MacAU/Verbity2/Verbity2.cpp
+138 −106 plugins/MacAU/Verbity2/Verbity2.h
+2 −2 plugins/MacAU/Verbity2/Verbity2.r
+26 −25 plugins/MacAU/Verbity2/Verbity2.xcodeproj/christopherjohnson.mode1v3
+21 −51 plugins/MacAU/Verbity2/Verbity2.xcodeproj/christopherjohnson.pbxuser
+44 −78 plugins/MacAU/Verbity2/Verbity2.xcodeproj/christopherjohnson.perspectivev3
+2 −2 plugins/MacAU/Verbity2/Verbity2Version.h
+199 −109 plugins/MacSignedAU/Chamber2/Chamber2.cpp
+77 −67 plugins/MacSignedAU/Chamber2/Chamber2.h
+2 −2 plugins/MacSignedAU/Chamber2/Chamber2.r
+26 −25 plugins/MacSignedAU/Chamber2/Chamber2.xcodeproj/christopherjohnson.mode1v3
+21 −75 plugins/MacSignedAU/Chamber2/Chamber2.xcodeproj/christopherjohnson.pbxuser
+45 −79 plugins/MacSignedAU/Chamber2/Chamber2.xcodeproj/christopherjohnson.perspectivev3
+563 −555 plugins/MacSignedAU/Chamber2/Chamber2.xcodeproj/project.pbxproj
+ ...ber2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate
+1 −1 plugins/MacSignedAU/Chamber2/Chamber2.xcodeproj/xcshareddata/xcschemes/Chamber2.xcscheme
+2 −2 plugins/MacSignedAU/Chamber2/Chamber2Version.h
+1 −1 plugins/MacSignedAU/Chamber2/Info.plist
+5 −0 plugins/MacSignedAU/Chamber2/StarterAU_Prefix.pch
+ plugins/MacSignedAU/Chamber2/en.lproj/InfoPlist.strings
+1 −1 plugins/MacSignedAU/Verbity2/Info.plist
+5 −0 plugins/MacSignedAU/Verbity2/StarterAU_Prefix.pch
+298 −158 plugins/MacSignedAU/Verbity2/Verbity2.cpp
+138 −106 plugins/MacSignedAU/Verbity2/Verbity2.h
+2 −2 plugins/MacSignedAU/Verbity2/Verbity2.r
+26 −25 plugins/MacSignedAU/Verbity2/Verbity2.xcodeproj/christopherjohnson.mode1v3
+21 −51 plugins/MacSignedAU/Verbity2/Verbity2.xcodeproj/christopherjohnson.pbxuser
+44 −78 plugins/MacSignedAU/Verbity2/Verbity2.xcodeproj/christopherjohnson.perspectivev3
+564 −556 plugins/MacSignedAU/Verbity2/Verbity2.xcodeproj/project.pbxproj
+ ...ity2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate
+1 −1 plugins/MacSignedAU/Verbity2/Verbity2.xcodeproj/xcshareddata/xcschemes/Verbity2.xcscheme
+2 −2 plugins/MacSignedAU/Verbity2/Verbity2Version.h
+ plugins/MacSignedAU/Verbity2/en.lproj/InfoPlist.strings
+28 −28 plugins/MacSignedVST/Chamber2/Chamber2.xcodeproj/christopherjohnson.pbxuser
+18 −17 plugins/MacSignedVST/Chamber2/Chamber2.xcodeproj/christopherjohnson.perspectivev3
+62 −54 plugins/MacSignedVST/Chamber2/Chamber2.xcodeproj/project.pbxproj
+ ...ber2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate
+1 −1 plugins/MacSignedVST/Chamber2/Chamber2.xcodeproj/xcshareddata/xcschemes/Chamber2.xcscheme
+14 −12 plugins/MacSignedVST/Chamber2/source/Chamber2Proc.cpp
+39 −27 plugins/MacSignedVST/Verbity2/Verbity2.xcodeproj/christopherjohnson.pbxuser
+20 −17 plugins/MacSignedVST/Verbity2/Verbity2.xcodeproj/christopherjohnson.perspectivev3
+64 −56 plugins/MacSignedVST/Verbity2/Verbity2.xcodeproj/project.pbxproj
+ ...ity2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate
+3 −3 plugins/MacSignedVST/Verbity2/Verbity2.xcodeproj/xcshareddata/xcschemes/Verbity2.xcscheme
+1 −1 plugins/MacSignedVST/Verbity2/source/Verbity2.cpp
+2 −2 plugins/MacSignedVST/Verbity2/source/Verbity2.h
+34 −36 plugins/MacSignedVST/Verbity2/source/Verbity2Proc.cpp
+28 −28 plugins/MacVST/Chamber2/Chamber2.xcodeproj/christopherjohnson.pbxuser
+18 −17 plugins/MacVST/Chamber2/Chamber2.xcodeproj/christopherjohnson.perspectivev3
+14 −12 plugins/MacVST/Chamber2/source/Chamber2Proc.cpp
+39 −27 plugins/MacVST/Verbity2/Verbity2.xcodeproj/christopherjohnson.pbxuser
+19 −17 plugins/MacVST/Verbity2/Verbity2.xcodeproj/christopherjohnson.perspectivev3
+1 −1 plugins/MacVST/Verbity2/source/Verbity2.cpp
+2 −2 plugins/MacVST/Verbity2/source/Verbity2.h
+34 −36 plugins/MacVST/Verbity2/source/Verbity2Proc.cpp
+ plugins/WinVST/Chamber2/.vs/VSTProject/v14/.suo
+14 −12 plugins/WinVST/Chamber2/Chamber2Proc.cpp
+ plugins/WinVST/Verbity2/.vs/VSTProject/v14/.suo
+1 −1 plugins/WinVST/Verbity2/Verbity2.cpp
+2 −2 plugins/WinVST/Verbity2/Verbity2.h
+34 −36 plugins/WinVST/Verbity2/Verbity2Proc.cpp
+2 −1 what.txt
2 changes: 1 addition & 1 deletion plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"slug": "Airwin2Rack",
"name": "Airwindows",
"version": "2.0.1",
"version": "2.1.0",
"license": "MIT",
"author": "@baconpaul, @airwindows",
"authorEmail": "",
Expand Down
2 changes: 1 addition & 1 deletion res/awpdoc/Verbity.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Verbity is my new best reverb, which uses feedforward reverb topology.
# Verbity is a dual-mono reverb, which uses feedforward reverb topology.

Late nights of reverb hacking (ok, Monday mornings?) give rise to a new best reverb. At least, best for me. Perhaps it’ll count as ‘best’ in general, we shall see, that is rather a matter of taste but it’s my new favorite and is inspiring me a lot.

Expand Down
23 changes: 23 additions & 0 deletions res/awpdoc/Verbity2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Verbity2 adds stereo crossmodulation and expands Verbity's feedforward reverb topology.

Firstly, listen. Verbity2 might beat Galactic, for you, for deep reverbs. There are specific reasons why that might be. Listen and see if Verbity2 is the best reverb you can have… because you can have it, it's open source plugins supported by Patreon. If you can't do without it, you won't have to, it's yours. If you would have paid for a reverb this good, throw an additional $50 this year onto my Patreon, and we'll see if I can make another plugin by the year after that, working on these as my full-time job.

So, how is it different from Verbity? You do still have Verbity, after all.

First, Verbity2 is an expansion. These are what's called Householder matrix reverbs, with a feedforward topology. Verbity, and Galactic, and Chamber, use blocks of reverb elements all of which feed directly into all the other elements, in a four-by-four matrix. A Householder matrix that's four-by-four lets you do infinite reverb while having all the elements either be unity gain, or inverted unity gain, and all my Householder stuff thus far has been like this.

Until now!

Verbity2 uses a five-by-five matrix for each stage, and where Verbity has three banks of matrices, Verbity2 has five banks of matrices. So where Verbity uses its twelve echo banks to make four thousand distinct echoes… Verbity2 uses its twenty-five echo banks to make NINE MILLION distinct echoes… before feedback. That's not automatically 'better', but it's different, like more than three orders of magnitude different. That's going to affect the reverb texture.

About that feedback… there's a change. So, Galactic is stereo: it applies a subtle offset vibrato to both sides on input making mono things stereo (come to think of it, would anybody like this as standalone?) and then it feeds back in a ping-pong fashion for maximum width from any source. All left reverb has to go through the entire right reverb in order to reach the left again.

Verbity is the opposite: dual mono. It was designed from the start to be an ambience-maker, filling out space around individual elements wherever they are in the stereo field. People used to buy dual hardware reverbs specifically to do this in mixes: it's a secret mix trick, putting the verb only where it's needed. That's what Verbity does. And if you use NO feedback at all, Verbity2 will still do this.

But if you extend the reverb tail in Verbity2, it's a hybrid. For each channel, two out of three of the output echo banks will stay put, and three will cross over. Half stereo spread, half keeping stuff where it is. For very long reverb tails this will always end up as a totally stereo wash. For really short ambiences, it'll act dual mono. But for moderate reverb tails, what happens is that you get a giant room picture behind your sounds. Stuff on one side blooms out, then washes across to the other side, and back again. I'm looking forward to experimenting with this for future designs :)

There are also adjustments to tone control: the Darkness control is replaced with a control for Mulch. This is meant to be a kind of naturalness factor: Verbity, like Galactic, tends to hang on to thunderous bass, as if it expands into huge caverns. Mulch means the sound can darken, but it can also absorb some of the extreme lows, mimicking a physical room made out of wood and plaster, not stone or concrete. I should be able to expand on this a lot.

So Verbity2 is a new level of reverb realism from me. Looking forward to further developments of this!


2 changes: 1 addition & 1 deletion scripts/configure.pl
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@

print "UNCLASSIFIED : $fx\n" if ($cat =~ m/Unclassified/);

# system("perl scripts/import.pl $fx");
system("perl scripts/import.pl $fx");

print OFH "#include \"autogen_airwin/${fx}.h\"\n";
print OFH "int ${fx}_unused = AirwinRegistry::registerAirwindow({\"${fx}\", \"${cat}\", $catO, \"${what}\", airwin2rack::${fx}::kNumParameters, []() { return std::make_unique<airwin2rack::${fx}::${fx}>(0); }});";
Expand Down
Loading

0 comments on commit 045b7dd

Please sign in to comment.