Skip to content

Commit

Permalink
Update to Latest Airwin
Browse files Browse the repository at this point in the history
  • Loading branch information
baconpaul committed Aug 11, 2024
1 parent 1870f92 commit 27862a1
Show file tree
Hide file tree
Showing 7 changed files with 1,117 additions and 147 deletions.
2 changes: 1 addition & 1 deletion libs/airwindows
Submodule airwindows updated 84 files
+25 −1 Airwindopedia.txt
+1 −0 plugins/LinuxVST/CMakeLists.txt
+226 −0 plugins/LinuxVST/src/ToTape7/ToTape7.cpp
+159 −0 plugins/LinuxVST/src/ToTape7/ToTape7.h
+556 −0 plugins/LinuxVST/src/ToTape7/ToTape7Proc.cpp
+ plugins/MacAU/ToTape7/English.lproj/InfoPlist.strings
+28 −0 plugins/MacAU/ToTape7/Info.plist
+5 −0 plugins/MacAU/ToTape7/StarterAU_Prefix.pch
+569 −0 plugins/MacAU/ToTape7/ToTape7.cpp
+1 −0 plugins/MacAU/ToTape7/ToTape7.exp
+226 −0 plugins/MacAU/ToTape7/ToTape7.h
+61 −0 plugins/MacAU/ToTape7/ToTape7.r
+1,359 −0 plugins/MacAU/ToTape7/ToTape7.xcodeproj/christopherjohnson.mode1v3
+133 −0 plugins/MacAU/ToTape7/ToTape7.xcodeproj/christopherjohnson.pbxuser
+1,503 −0 plugins/MacAU/ToTape7/ToTape7.xcodeproj/christopherjohnson.perspectivev3
+490 −0 plugins/MacAU/ToTape7/ToTape7.xcodeproj/project.pbxproj
+58 −0 plugins/MacAU/ToTape7/ToTape7Version.h
+16 −0 plugins/MacAU/ToTape7/version.plist
+47 −0 plugins/MacSignedAU/ToTape7/Info.plist
+5 −0 plugins/MacSignedAU/ToTape7/StarterAU_Prefix.pch
+569 −0 plugins/MacSignedAU/ToTape7/ToTape7.cpp
+2 −0 plugins/MacSignedAU/ToTape7/ToTape7.exp
+226 −0 plugins/MacSignedAU/ToTape7/ToTape7.h
+61 −0 plugins/MacSignedAU/ToTape7/ToTape7.r
+1,359 −0 plugins/MacSignedAU/ToTape7/ToTape7.xcodeproj/christopherjohnson.mode1v3
+109 −0 plugins/MacSignedAU/ToTape7/ToTape7.xcodeproj/christopherjohnson.pbxuser
+1,496 −0 plugins/MacSignedAU/ToTape7/ToTape7.xcodeproj/christopherjohnson.perspectivev3
+965 −0 plugins/MacSignedAU/ToTape7/ToTape7.xcodeproj/project.pbxproj
+7 −0 plugins/MacSignedAU/ToTape7/ToTape7.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+8 −0 plugins/MacSignedAU/ToTape7/ToTape7.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
+ ...ape7.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate
+67 −0 plugins/MacSignedAU/ToTape7/ToTape7.xcodeproj/xcshareddata/xcschemes/ToTape7.xcscheme
+22 −0 ...edAU/ToTape7/ToTape7.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist
+58 −0 plugins/MacSignedAU/ToTape7/ToTape7Version.h
+ plugins/MacSignedAU/ToTape7/en.lproj/InfoPlist.strings
+16 −0 plugins/MacSignedAU/ToTape7/version.plist
+110 −0 plugins/MacSignedVST/ToTape7/ToTape7.xcodeproj/christopherjohnson.pbxuser
+1,522 −0 plugins/MacSignedVST/ToTape7/ToTape7.xcodeproj/christopherjohnson.perspectivev3
+462 −0 plugins/MacSignedVST/ToTape7/ToTape7.xcodeproj/project.pbxproj
+7 −0 plugins/MacSignedVST/ToTape7/ToTape7.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+8 −0 plugins/MacSignedVST/ToTape7/ToTape7.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
+ ...ape7.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate
+ ...oTape7/ToTape7.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate
+1,372 −0 plugins/MacSignedVST/ToTape7/ToTape7.xcodeproj/spiadmin.mode1v3
+143 −0 plugins/MacSignedVST/ToTape7/ToTape7.xcodeproj/spiadmin.pbxuser
+67 −0 plugins/MacSignedVST/ToTape7/ToTape7.xcodeproj/xcshareddata/xcschemes/ToTape7.xcscheme
+22 −0 ...dVST/ToTape7/ToTape7.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist
+22 −0 ...s/MacSignedVST/ToTape7/ToTape7.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist
+57 −0 ...ins/MacSignedVST/ToTape7/ToTape7.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme
+24 −0 plugins/MacSignedVST/ToTape7/mac/Info.plist
+1 −0 plugins/MacSignedVST/ToTape7/mac/PkgInfo
+17 −0 plugins/MacSignedVST/ToTape7/mac/xcode_vst_prefix.h
+226 −0 plugins/MacSignedVST/ToTape7/source/ToTape7.cpp
+159 −0 plugins/MacSignedVST/ToTape7/source/ToTape7.h
+556 −0 plugins/MacSignedVST/ToTape7/source/ToTape7Proc.cpp
+134 −0 plugins/MacVST/ToTape7/ToTape7.xcodeproj/christopherjohnson.pbxuser
+1,530 −0 plugins/MacVST/ToTape7/ToTape7.xcodeproj/christopherjohnson.perspectivev3
+2,201 −0 plugins/MacVST/ToTape7/ToTape7.xcodeproj/project.pbxproj
+7 −0 plugins/MacVST/ToTape7/ToTape7.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+ ...ape7.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate
+ ...oTape7/ToTape7.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate
+1,372 −0 plugins/MacVST/ToTape7/ToTape7.xcodeproj/spiadmin.mode1v3
+143 −0 plugins/MacVST/ToTape7/ToTape7.xcodeproj/spiadmin.pbxuser
+80 −0 plugins/MacVST/ToTape7/ToTape7.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme
+22 −0 ...cVST/ToTape7/ToTape7.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist
+22 −0 plugins/MacVST/ToTape7/ToTape7.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist
+57 −0 plugins/MacVST/ToTape7/ToTape7.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme
+24 −0 plugins/MacVST/ToTape7/mac/Info.plist
+1 −0 plugins/MacVST/ToTape7/mac/PkgInfo
+17 −0 plugins/MacVST/ToTape7/mac/xcode_vst_prefix.h
+226 −0 plugins/MacVST/ToTape7/source/ToTape7.cpp
+159 −0 plugins/MacVST/ToTape7/source/ToTape7.h
+556 −0 plugins/MacVST/ToTape7/source/ToTape7Proc.cpp
+ plugins/WinVST/ToTape7/.vs/Console4Channel64/v14/.suo
+ plugins/WinVST/ToTape7/.vs/VSTProject/v14/.suo
+226 −0 plugins/WinVST/ToTape7/ToTape7.cpp
+159 −0 plugins/WinVST/ToTape7/ToTape7.h
+556 −0 plugins/WinVST/ToTape7/ToTape7Proc.cpp
+28 −0 plugins/WinVST/ToTape7/VSTProject.sln
+183 −0 plugins/WinVST/ToTape7/VSTProject.vcxproj
+48 −0 plugins/WinVST/ToTape7/VSTProject.vcxproj.filters
+19 −0 plugins/WinVST/ToTape7/VSTProject.vcxproj.user
+3 −0 plugins/WinVST/ToTape7/vstplug.def
+1 −0 what.txt
25 changes: 25 additions & 0 deletions res/awpdoc/TapeBias.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# TapeBias is a new piece of ToTape allowing you to underbias or overbias.

Closing in on the big update to ToTape, and here's a helpful detail, that's not existed in ToTape before. I've been doing recalls and rebuilds of the big ToTape7 for weeks, but this little aspect more or less worked right away.

Biasing a tape means adding a really high frequency to the sound, a supersonic frequency like 40k. You record to the tape, and this frequency being there means the iron oxide (or whatever metals are in use) gets jostled around, enough that slow gradual changes can be represented properly. Without it, signals kinda get stuck, It's like dither for tiny metal chunks stuck to plastic!

So there are two ways to go about figuring this one out.

One is to painstakingly model the whole system, in mathematical perfection, while overprocessing the heck out of everything, and then stick a virtual faceplate on it. And presumably charge a bunch of money. Not my jam.

The other is to HACK AWAY like mad until you can make noises that SOUND LIKE what's happening, ideally with nice simple algorithms that will retain the digital tone better. But what even is happening?

TapeBias is bypassed at 0.5. Perfect bias here means it applies NONE of the processing. In fact in the final ToTape7 (next week if all goes well!) you can literally bypass the processing at 0.5 to save CPU: it won't be doing anything anyway.

If you overbias, which is commonly suggested as a good practice within reason, you're applying this high frequency tone louder and louder. That will record onto the tape too, in fact you can de-flutter using it, but it's also eating up headroom: maybe, lots of headroom. If all your tape headroom is used up trying to record a supersonic tone, and bear in mind there's a boost/cut dynamic for treble already to try and minimize noise (not even counting Dubly!) then you'll be clipping the real highs more easily if the bias is too intense.

In comparison with test files recorded on real tape machines, I found that GoldenSlew did the nicest job of acting like the sound of overbiasing. TapeBias uses a very slightly changed version of GoldenSlew on overbiasing. If it's inside ToTape7 it's an even better effect because it combines with everything else, but in this case you have basically GoldenSlew for when you overbias.

By contrast, there's no such existing effect that acts like underbiasing. I could refer to a real tape recording and see the odd flat bits that pop up when the biasing isn't quite enough to handle the audio. The sound is known to go a little brighter, sort of dry things up… a possible sonic effect, especially if it's a plugin and not a giant pain to recalibrate tape machines just to do.

Turns out it's possible to do an algorithm that acts quite a bit like what happens with underbiasing, except that rather than put in flat bits of audio, it puts in slanted bits that do about the same thing… and it's a simple algorithm, and you can bring it in subtly or make it obvious. And it works very nicely in ToTape7, inside a full tape emulation with all its parts… but here you get it a week early, all by itself. Because, why not? Why not be able to use that part of the effect, isolated, perhaps for some sound design purpose, or to do weird things with LFOs in VCV Rack or who knows what else?

So, here's TapeBias. Turn it up to overbias, turn it down to underbias. Have fun :)


Loading

0 comments on commit 27862a1

Please sign in to comment.