如果您是希望使用Surge XT的音樂家,請從我們的網站下載適當的二進製文件。 Suger Synth團隊定期為所有受支持的平台發布。
CI:版本:Release-XT:
Surge XT是一種免費的開源混合合成器,最初由 @Kurasu/Claes Johanson在Vember Audio上作為商業產品撰寫並出售。 2018年9月,CLAES決定在GPL3下發布部分Suger 1.6的部分版本,此後,一組開發人員一直在改善它。您可以在https://surge-synth-team.org/上了解有關團隊的更多信息,或在不和諧中與我們聯繫。
如果您還想參加XT的討論,測試和設計,我們將在下面以及Suger XT網站的貢獻者部分中提供詳細信息。
此讀數是電湧XT的開發人員文檔的根源。
我們歡迎開發人員!我們的工作流圍繞該存儲庫中的GitHub問題和我們的Discord服務器進行了對話。您可以在開發人員指南文檔中閱讀我們的開發人員指南。如果您想做出貢獻,並且是Git的新手,那麼我們還可以在Sprive XT開發方面量身定制GIT。
開發人員指南還包含有關特定平台上特定主機的測試和調試的信息。
Surge XT用於其所有與構建相關的任務使用CMake,並需要一組免費的工具來構建合成器。如果您設置了開發環境,那麼您幾乎肯定擁有所需的東西,但如果沒有,請查看:
設置環境後,您需要使用git,抓取子模塊,運行cmake進行配置,然後運行cmake以構建來簽約。您的IDE可能支持CMAKE(以下更多內容),但是在所有平台上構建SUGH XT的可靠方法是:
git clone https://github.com/surge-synthesizer/surge.git
cd surge
git submodule update --init --recursive
cmake -Bbuild
cmake --build build --config Release --target surge-staged-assets
這將在目錄build/surge_xt_products
中構建所有激增XT二進制資產,並且通常足以進行公式進行構建。
我們的git如何解釋我們如何使用git。如果您想從叉子開發,請在那裡諮詢,但是簡短的版本是(1)叉子上的該項目和(2)克隆叉子,而不是如上所述的主要儲備。因此,按下此處的Fork
按鈕:
git clone [email protected]:youruserid/surge.git
其餘步驟不變。
當您運行第一個CMAKE步驟時,CMAKE將為您生成IDE兼容的文件。在Windows上,它將生成Visual Studio文件。在Mac上,它默認情況下會生成makefiles,但是如果添加參數-GXcode
則可以在需要的情況下獲得Xcode項目。
Surge XT開發人員會定期使用各種工具開發。 CLION,Visual Studio,Vim,Emacs,VS代碼以及許多其他人可以與軟件正常使用。
由於許可限制,可能不會重新分佈VST2的VST2構建。但是,可以構建sugry XT的VST2供您個人使用。首先,獲取VST2 SDK的本地副本,然後將其解壓縮到您選擇的文件夾中。然後將VST2SDK_DIR
設置為指向該文件夾:
export VST2SDK_DIR="/your/path/to/VST2SDK"
或者,在Windows命令提示符中:
set VST2SDK_DIR=c:pathtoVST2SDK
最後,重新運行cmake並構建VST2目標:
cmake -Bbuild_vst2
cmake --build build_vst2 --config Release --target surge-xt_VST --parallel 4
cmake --build build_vst2 --config Release --target surge-fx_VST --parallel 4
然後,您將分別在build_vst2/surge-xt_artefacts/Release/VST
和build_vst2/surge-fx_artefacts/Release/VST
中使用VST2插件。通過修改--parallel
參數的值來調整將用於構建過程的內核數。
在Windows上,使用ASIO的構建通常是Suger XT獨立的首選,因為它使用戶可以使用ASIO低延遲音頻驅動程序。
不幸的是,由於許可沖突,使用ASIO構建的激增XT的二進製文件可能不會被重新分配。但是,只要您不重新分配這些構建,就可以使用ASIO構建ASIO供您個人使用。
如果您已經擁有ASIO SDK的副本,則只需設置以下環境變量,就可以了!
set ASIOSDK_DIR=c:pathtoasio
如果您沒有ASIO SDK的副本,CMAKE可以為您下載它,並允許您在您自己的個人許可下與ASIO一起構建。要啟用此功能,請按照以下方式運行CMake Configuration命令:
cmake -Bbuild -DBUILD_USING_MY_ASIO_LICENSE=True
Sugh XT 1.3家庭移至Juce 7,其中包括對LV2構建的支持。由於多種原因,我們默認或在CI管道中都不構建LV2。您可以通過在初始CMake構建中添加-DSURGE_BUILD_LV2=TRUE
來激活環境中的LV2構建。
Surge XT使用pybind
將合成器的內部曝光到Python代碼,以直接訪問其所有功能。這是一種對開發人員最有用的工具,而Empure-Python存儲庫顯示了一些用途。
要以這種方式使用潮流XT,您需要構建Python擴展。這是這樣的方式(這顯示了Mac上的結果,但是Windows和Linux相似)。
首先,用Python綁定配置構建,激活了:
cmake -Bignore/bpy -DSURGE_BUILD_PYTHON_BINDINGS=ON -DCMAKE_BUILD_TYPE=Release
請注意,目錄ignore/bpy
可能是您想要的任何東西。 ignore
目錄很方便,因為它通過.gitignore
忽略。
然後構建Python插件:
cmake --build ignore/bpy --parallel --target surgepy
這應該導致python .dll存在:
% ls ignore/bpy/src/surge-python/ * so
ignore/bpy/src/surge-python/surgepy.cpython-311-darwin.so
在Windows上,而是查找.pyd
文件:
ls ignore/bpy/src/surge-python/Debug/ * pyd
您應該看到一個像surgepy.cp312-win_amd64.pyd
這樣的文件
現在,您最終可以開始Python加載它。這是一個示例交互式會話,但它將在您選擇的工具中類似地工作:
% python3
Python 3.11.4 (main, Jun 20 2023, 17:37:48) [Clang 14.0.0 (clang-1400.0.29.202)] on darwin
Type " help " , " copyright " , " credits " or " license " for more information.
>>> import sys
>>> sys.path.append( " ignore/bpy/src/surge-python " )
>>> import surgepy
>>> surgepy.getVersion ()
' 1.3.main.850bd53b '
>>> quit ()
在Windows上,運行sys.path.append("ignore/bpy/src/surge-python/Debug")
,因為路徑略有不同。
CMAKE目標surge-xt-distribution
在構建過程結束時在平台上構建安裝圖像。在Mac和Linux上,安裝程序生成器內置在平台中。在Windows上,我們的CMAKE文件使用Nuget下載Innosetup,因此您需要路徑中的Nuget.exe CLI。
我們還有其他各種CMAKE選項和目標,可以使您更輕鬆地開發和安裝Suger XT。
Juce支持一種模式,其中將插件(AU,VST3等...)複製到構建後的本地安裝區域。默認情況下使用CMAKE,但是您可以使用-DSURGE_COPY_AFTER_BUILD=True
在cmake
Time時將其打開。如果您在Unixes上執行此操作,則構建VST3或AU目標將將它們複製到適當的局部區域(Linux上的~/.vst3
, ~/Library/Audio/Plugins
在Mac上)。在Windows上,它將嘗試安裝VST3,因此設置此選項可能需要您的構建環境中的管理員特權。
在UNIX AND NOT APPLE
系統上,CMAKE文件提供了一個安裝目標,該目標將安裝所有必需的資產到CMAKE_INSTALL_PREFIX
。這意味著可以通過以下方式完成完整的安裝。
cmake -Bignore/sxt -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr
cmake --build ignore/sxt --config Release --parallel 8
sudo cmake --install ignore/sxt
您應該在/usr/bin
, /usr/share
和/usr/lib
中進行工作安裝。
如果您正在使用Visual Studio 2019構建,請使用CMAKE命令中的-A
標誌指定32/64位:
# 64-bit
cmake -Bbuild -G " Visual Studio 16 2019 " -A x64
# 32-bit
cmake -Bbuild32 -G " Visual Studio 16 2019 " -A Win32
如果您使用的是舊版本的Visual Studio,則必須通過選擇CMAKE GENERATOR來指定您的偏好:
# 64-bit
cmake -Bbuild -G " Visual Studio 15 2017 Win64 "
# 32-bit
cmake -Bbuild32 -G " Visual Studio 15 2017 "
要在Mac上構建脂肪二進制,只需將以下CMAKE參數添加到您的初始CMake運行中:
-D"CMAKE_OSX_ARCHITECTURES=arm64;x86_64"
SUBRE XT在64位Raspberry Pi操作系統上本地建立。安裝您的編譯器工具鏈並運行標準CMAKE命令。 Suger XT不會在32位Raspberry Pi系統上構建,而在春季混響和DSP代碼中的其他地方出現錯誤。如果您想解決此問題,請參閱cmakelists.txt中的評論或在我們的Discord或github上放下一行。
但是,截至2023年6月,在某些發行版中,海灣合作委員會有一個明顯的錯誤,該錯誤產生了一個奇異的警告,我們會宣傳這一錯誤。我們發現Sprive XT用gcc (Debian 10.2.1-6) 10.2.1 20210110
匯總,但與他人沒有。浪湧XT還用Clang 11編譯。所討論的錯誤採用形式:
/home/pi/Documents/github/surge/libs/sst/sst-filters/include/sst/filters/QuadFilterUnit_Impl.h:539:26: error: requested alignment 16 is larger than 8 [-Werror=attributes]
int DTi alignas(16)[4], SEi alignas(16)[4];
如果您發現該錯誤並正在處理RPI,則您的選擇是:
用clang構建:
sudo apt install clang
cmake -Bignore/s13clang -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
cmake --build ignore/s13clang --target surge-xt_Standalone --parallel 3
要跨編譯AARCH64,請使用Aarch64的CMake Linux工具鏈,如Azure Pipeline所示:
cmake -Bignore/xc64 -DCMAKE_TOOLCHAIN_FILE=cmake/linux-aarch64-ubuntu-crosscompile-toolchain.cmake -DCMAKE_BUILD_TYPE=DEBUG -GNinja
cmake --build ignore/xc64 --config Debug --target surge-testrunner
當然,該工具鏈做出具體選擇。您可以做出其他選擇,只要(1)您設置CMAKE變量LINUX_ON_ARM
,並且(2)您確保主機和目標編譯器均為64位。
來自Linux和BSD的MACOS Intel的激增XT交叉編譯。
build_compiler_rt.sh
構建的libclang_rt
庫。 cmake -DCMAKE_TOOLCHAIN_FILE=cmake/x86_64-apple-darwin20.4-clang.cmake -DCMAKE_FIND_ROOT_PATH=<path_to_osxcross_sdk> -Bbuild
cmake --build build
該存儲庫中的每個版本的振盪都有1.6 beta 6左右的分支。只需檢查一下並閱讀關聯的讀數即可。
您需要安裝以下內容:
要在MacOS上構建,您需要Xcode
, Xcode Command Line Utilities
和CMAKE。從應用商店安裝Xcode
後,安裝Xcode Command Line Utilities
命令行是:
xcode-select --install
有多種安裝CMAKE的方法。如果您使用自製者,則可以:
brew install cmake
大多數Linux系統都安裝了CMAKE,GIT和現代C ++編譯器。確保您的工作。我們對大多數7歲左右的大多數海灣合作委員會進行測試,並在9或10之後進行叮噹聲。您還需要安裝一組依賴項。如果您使用apt
,請這樣做:
sudo apt install build-essential libcairo-dev libxkbcommon-x11-dev libxkbcommon-dev libxcb-cursor-dev libxcb-keysyms1-dev libxcb-util-dev libxrandr-dev libxinerama-dev libxcursor-dev libasound2-dev libjack-jackd2-dev
您可以在本文檔中找到有關Linux和其他類似Unix的發行版的更多信息。
除了上面的構建命令外,我們還使用Azure管道進行連續集成。這意味著每個拉的請求都將在我們所有的環境中自動構建,並且在所有平台上的干淨構建都是明顯的先決條件。如果您對我們的CI工具有疑問,請隨時在我們的Discord服務器上詢問。我們感謝Microsoft免費為開源社區提供Azure管道!