“如此錯誤的事情聽起來從來都不那麼正確。”
Kiss of Shame 在 2014 年洛杉磯音訊工程學會大會上首次亮相,是一款開創性的 DAW 插件,它利用商業 UX/UI 設計原則來塑造其磁帶 + 電路模擬演算法。
為了在競爭激烈的專業音訊插件市場中脫穎而出,The Kiss of Shame 引入了突破性的功能,包括互動式、多點觸控 GUI 和類比磁帶退化模擬,以實現獨特的音訊效果。
Kiss of Shame 是世界上第一個(也許是唯一一個)磁帶/模擬電路模擬插件,它可以真實地模擬磁粒子不穩定性、潤滑劑損失、基板變形、漂移、刮擦顫動、透印和捲軸膨脹/收縮的影響。
它也是第一個利用機器學習來解決磁帶和類比電路固有的巨大非線性的技術。最後但並非最不重要的一點是,它是唯一具有完全互動捲軸的模擬磁帶仿真,支援觸摸,並且可以像真正的模擬磁帶座一樣即時編寫法蘭自動化。
觀看簡短的演示視頻
《恥辱之吻》尚未完全完成,也從未發行。原始碼由其所有者於 2024 年慷慨地捐贈給開源社群。
這個開源專案的目標是:
注意:捐贈的源代碼不包含描述中的所有功能。值得注意的是,只有一種磁帶類型和一種環境(颶風桑迪),並且缺少直印功能。在目前形式下,該插件只能在 44100 Hz 取樣率下正常運作。也就是說,它仍然是一個有趣的插件,具有很酷的 UI,並且可以從原始程式碼中學習很多東西!
筆記:
️ 目前該工作正在進行中。插件可能有問題。使用風險自負!️
Mac 版本的插件已簽署並經過公證。
如果 AU 版本的插件在 DAW 中不可見,請開啟「應用程式/實用程式/終端」 。輸入以下內容並按 Enter 鍵:
killall -9 AudioComponentRegistrar
然後重新啟動您的 DAW。現在插件應該是可見的。如果沒有,請重新啟動電腦。
在兩種不同的磁帶類型之間進行選擇:
S-111 – 一種在 50 年代到 70 年代流行的高級捲軸格式,是許多工程師首選的參考磁帶。 《恥辱之吻》推出了首款數位仿真,將這種傳奇格式帶入了數位世界。
A-456 – 這種經典的高輸出/低噪音格式是無數作品中使用的主要錄音格式。雖然存在許多軟體模擬,但沒有一個能夠像這樣重新創建它。採用獨特的數位娛樂策略來捕捉其本質。
注意:磁帶類型選擇按鈕目前不起作用。
從風化到天氣:
年齡– 此旋鈕可讓使用者規定所選磁帶類型經受所選「環境」的假設時間量,以操縱對應效果的嚴重程度。
環境- 在幾種模擬存儲條件之間進行選擇,以對源材料造成諸如磁粒子不穩定性、氧化、潤滑劑損失、磁帶包膨脹/收縮、“醋綜合症”等因素的聲波影響。使用者甚至可以選擇「颶風桑迪」設定來存取根據浸沒在風暴洪水中然後從洪水中恢復的磁帶進行建模的處理過程。
注意:僅實施颶風桑迪環境。
現實世界的障礙:
恥辱- 恥辱之吻再現了這些因素的全部範圍,例如漂移、哇、顫動和刮擦顫動,使用者可以透過中心旋鈕傳遞這些因素。它可以將您的來源訊號從淺色變為完全損壞。
Print-Through – 也稱為“滲透”,該模擬捕捉模擬錄音中存在的機械速度波動。雖然它們過去給工程師帶來了挑戰,但它們成為了經典唱片的標誌。
注意:未實現直印功能。
伸出手觸摸膠帶:
Kiss of Shame 是第一個具有動畫、互動式捲軸的磁帶插件,只需點擊或觸摸即可操作。這使得用戶可以即時存取真實的模擬磁帶法蘭,而無需兩個實體磁帶卡座,並且只需要很短的時間。所有參數,包括捲軸運動,都是完全自動化的,為了優化螢幕空間,捲軸是可折疊的並且完全可自訂。
提示:要進行翻邊,請拖曳捲軸。若要折疊捲軸,請雙擊 UI 中的任意位置。
簡要說明:
目前僅測試:
要設定 CMake 構建,請確保安裝了 CMake 和 Ninja。預設情況下,Ninja 配置為快速編譯時間,但如果您不想使用它,請從下面的設定腳本中省略「-G Ninja」並手動指定作業數量。檢查 CMake 文件以了解如何執行此操作
配置您的專案(取得 JUCE、設定 JUCE 專案):
cmake -B "build" -G Ninja
建立您的專案:
cmake --build "build" --config Release --target all --
將“--config Release”替換為“--config Debug”以進行偵錯版本。
建置會自動複製到適合您的目標平台的合理資料夾中(例如: C:Program Files (x86)Common Files/VST3/
for Windows),以便在開發過程中在 DAW 中輕鬆開啟此外掛程式。建置也將位於build/TheKissOfShame_artefacts/(Release or Debug)
下。
AAX 編譯未啟用,但可以透過將AAX
新增至/CMakeLists.txt
中juce_add_plugin
下的FORMATS
定義來啟用。若要針對 AAX 進行編譯,您需要使用juce_set_aax_sdk_path(" ... ")
指定 AAX SDK 的位置。這還沒有經過測試。
我已在程式碼中添加了註釋來解釋它的作用,但要了解完整的演練,請查看我的部落格文章。
原始程式碼是使用JUCE 3.1編寫的。它要求使用者將包含圖像和聲音檔案的資料夾複製到/Users/Shared/KissOfShame
。這些參數不會暴露給 DAW,並且會在編輯器重新開啟時重設。
此存儲庫中進行了以下更改:
我發現的錯誤(或介紹的呵呵):
beginGesture
被呼叫兩次。這不是一個大問題,但也不是很大。程式碼中可以/應該改進的其他內容(歡迎志工!):
prepareToPlay()
和reset()
方法加入DSP 類別。重置方法應該清除舊狀態。audioGraphProcessingBuffer = audioBuffer
,這可能會分配(至少第一次)。Envelope
和EnvelopeDips
)可以追蹤上一個和下一個點,因此我們不必在每個時間步循環遍歷所有點。audioProcessor.curPositionInfo
使用已棄用的 API。rand()
和srand()
。替換為juce::Random
。或許:
targetDepth = depth * depth * 1000.0f
短的延遲更容易撥入。版權所有 (C) 2014-2015 埃洛斯‧馬塞洛
原開發商:
Eros Marcello — 創辦人、首席產品架構師
Brian Hansen — DSP 工程/演算法開發
Yannick Bonnefoy — GUI
Matthijs Hollemans 和貢獻者的更新和改進。
該程式是自由軟體:您可以根據自由軟體基金會發布的 GNU 通用公共授權(授權的第 3 版)或(由您選擇)任何更高版本的條款重新散佈和/或修改它。
此儲存庫中的一些程式碼( Granulate
類別)取自 Perry R. Cook 和 Gary P. Scavone 的 The Synthesis ToolKit in C++ (STK)。
JUCE 版權所有 © Raw Material Software。
VST® 是 Steinberg Media Technologies GmbH 在歐洲和其他國家註冊的商標。