Surge XT를 사용하려는 음악가 인 경우 당사 웹 사이트에서 적절한 바이너리를 다운로드하십시오. Surge Synth Team은 모든 지원되는 플랫폼에 대해 정기적으로 출시됩니다.
CI : 릴리스 : Release-XT :
Surge XT는 무료 및 오픈 소스 하이브리드 신시사이저로, Vember Audio의 @Kurasu/Claes Johanson이 원래 상용 제품으로 작성 및 판매했습니다. 2018 년 9 월, Claes는 GPL3에서 부분적으로 완성 된 Surge 1.6 버전을 출시하기로 결정했으며 그 이후 개발자 그룹이이를 개선하고 있습니다. https://surge-synth-team.org/에서 팀에 대해 자세히 알아 보거나 불화로 우리와 연결할 수 있습니다.
Surge XT의 토론, 테스트 및 설계에도 참여하려면 아래에 세부 정보가 있으며 Surge XT 웹 사이트의 기고자 섹션에도 있습니다.
이 readme는 Surge XT에 대한 개발자 문서의 근본 역할을합니다.
우리는 개발자를 환영합니다! 우리의 워크 플로는이 저장소의 GitHub 문제와 Discord 서버의 대화를 중심으로합니다. 개발자 안내서 문서에서 개발자 가이드 라인을 읽을 수 있습니다. 기여하고 GIT에 익숙하지 않다면 Surge XT Development에서 조정 된 방법도 있습니다.
개발자 안내서에는 특정 플랫폼의 특정 호스트에서 테스트 및 디버깅에 대한 정보도 포함되어 있습니다.
Surge XT는 빌드 관련 작업에 CMAKE를 사용하며 신디사이저를 구축하기위한 무료 도구 세트가 필요합니다. 개발 환경이 설정되어 있으면 거의 확실히 필요한 것을 가지고 있지만 그렇지 않은 경우 확인하십시오.
환경을 설정 한 후에는 GIT로 Surge XT 코드를 확인하고 서브 모듈을 잡고 CMAKE를 실행하여 구성하여 CMAKE를 실행하여 빌드해야합니다. IDE는 CMAKE를 지원할 수 있지만 (아래에 대한 자세한 내용) 모든 플랫폼에서 Surge 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을 사용하는 방법을 설명하는 방법. 자신의 포크에서 개발하려면 그곳에서 문의하십시오. 그러나 짧은 버전은 (1) Github 의이 프로젝트를 포크하고 (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 Code 및 다른 많은 사람들이 소프트웨어와 제대로 작동 할 수 있습니다.
라이센스 제한으로 인해 Surge XT의 VST2 빌드는 재분배되지 않을 수 있습니다 . 그러나 자신의 개인 용도로 Surge 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가있는 건물이 Surge XT 독립형에 선호되는 경우가 많으므로 사용자가 ASIO 저도 오디오 드라이버를 사용할 수 있기 때문입니다.
불행하게도, 라이센스 충돌로 인해 ASIO로 구축 된 Surge XT의 바이너리는 재분배되지 않을 수 있습니다 . 그러나 해당 빌드를 재분배하지 않는 경우 자신의 개인 용도로 ASIO를 사용하여 Surge XT를 구축 할 수 있습니다.
ASIO SDK 사본이 이미 있다면 다음 환경 변수를 설정하면 좋습니다.
set ASIOSDK_DIR=c:pathtoasio
ASIO SDK 사본이없는 경우 CMAKE는 귀하를 위해 다운로드 할 수 있으며 자신의 개인 라이센스로 ASIO와 함께 구축 할 수 있습니다. 이 기능을 활성화하려면 다음과 같이 CMake 구성 명령을 실행하십시오.
cmake -Bbuild -DBUILD_USING_MY_ASIO_LICENSE=True
Surge XT 1.3 가족은 LV2 빌드에 대한 지원을 포함하는 Juce 7으로 이동합니다. 여러 가지 이유로 기본적으로 또는 CI 파이프 라인에 LV2를 구축하지 않습니다. 초기 CMAKE 빌드에서 -DSURGE_BUILD_LV2=TRUE
추가하여 환경에서 LV2 빌드를 활성화 할 수 있습니다.
SURGE XT는 pybind
사용하여 신디사이저의 내부를 파이썬 코드에 노출시켜 모든 기능에 직접적인 원시 액세스합니다. 이것은 개발자에게 주로 유용한 도구이며 Surge-Python 저장소에는 일부 용도가 표시됩니다.
이러한 방식으로 Surge XT를 사용하려면 Python 확장을 구축해야합니다. 다음은 다음과 같습니다 (이것은 Mac의 결과를 보여 주지만 Windows와 Linux는 비슷합니다).
먼저, 파이썬 바인딩이 활성화 된 빌드를 구성하십시오.
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
와 같은 파일이 표시됩니다
이제 마침내 파이썬을 시작하여로드 할 수 있습니다. 다음은 대화식 세션 예제입니다. 그러나 선택한 도구에서도 비슷하게 작동합니다.
% 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 Target surge-xt-distribution
빌드 프로세스가 끝날 때 플랫폼에 설치 이미지를 구축합니다. Mac 및 Linux에서 설치 프로그램 생성기는 플랫폼에 내장되어 있습니다. Windows에서 CMAKE 파일은 NUGET을 사용하여 innosetup을 다운로드하므로 경로에 nuget.exe cli가 필요합니다.
우리는 당신이 더 쉽게 Surge XT를 개발하고 설치할 수있는 다양한 CMAKE 옵션과 대상을 가지고 있습니다.
Juce는 빌드 후 플러그인 (AU, VST3 등)이 로컬 설치 영역에 복사되는 모드를 지원합니다. CMAKE와 함께 기본적으로 꺼져 있지만 cmake
시간에 -DSURGE_COPY_AFTER_BUILD=True
로 켜질 수 있습니다. Unixes 에서이 작업을 수행하면 VST3 또는 AU 대상을 구축하면 해당 위치 영역 (Linux의 ~/.vst3
, Mac의 ~/Library/Audio/Plugins
)에 복사됩니다. Windows에서는 VST3을 설치하려고 시도 하므로이 옵션을 설정하려면 빌드 환경에서 관리자 권한이 필요할 수 있습니다.
CMAKE 파일은 UNIX AND NOT APPLE
인 시스템에서 필요한 모든 자산을 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 생성기를 선택하여 선호도를 지정해야합니다.
# 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"
Surge XT는 64 비트 Raspberry Pi 운영 체제에서 기본적으로 구축됩니다. 컴파일러 도구 체인을 설치하고 표준 CMAKE 명령을 실행하십시오. Surge XT는 32 비트 Raspberry Pi 시스템을 구축하지 않으므로 Spring Reverb 및 DSP 코드의 다른 곳에서 오류가 발생합니다. 이 문제를 해결하려면 cmakelists.txt의 주석을 참조하거나 불화 또는 Github에 줄을 두십시오.
그러나 2023 년 6 월 현재 일부 분포의 GCC에는 명백한 버그가있어 오류로 홍보하는 경고가 발생합니다. 우리는 gcc (Debian 10.2.1-6) 10.2.1 20210110
으로 Surge XT가 깨끗하게 컴파일을 발견했지만 다른 사람들과는 그렇지 않습니다. Surge 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를 교차 컴파일하려면 Azure 파이프 라인에 표시된대로 AARCH64 용 CMAKE LINUX 툴체인을 사용하십시오.
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 비트인지 확인하는 한 다른 선택을 할 수 있습니다.
Surge XT Linux 및 BSD의 MacOS Intel과 크로스 컴파일합니다.
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 베타 6 정도의 각 버전의 서지는이 저장소에 분기가 있습니다. 확인하고 관련 readme를 읽으십시오.
다음을 설치해야합니다.
MACOS를 구축하려면 Xcode
, Xcode Command Line Utilities
및 Cmake가 필요합니다. App Store에서 Xcode
설치하면 Xcode Command Line Utilities
설치하기위한 명령 줄은 다음과 같습니다.
xcode-select --install
CMAKE를 설치하는 다양한 방법이 있습니다. 홈브리를 사용하는 경우 다음을 수행 할 수 있습니다.
brew install cmake
대부분의 Linux 시스템에는 CMAKE, GIT 및 최신 C ++ 컴파일러가 설치되어 있습니다. 당신의 행동을 확인하십시오. 우리는 7 명 이상의 대부분의 GCC와 9 또는 10 후에는 Clangs를 테스트합니다. 또한 일련의 종속성을 설치해야합니다. 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의 Surge XT 및 기타 Unix와 같은 배포판에 대한 추가 정보를 찾을 수 있습니다 .
위의 빌드 명령 외에도 지속적인 통합을 위해 Azure 파이프 라인을 사용합니다. 즉, 모든 풀 요청 각각의 모든 환경에서 자동으로 구축 될 것이며 모든 플랫폼의 깨끗한 빌드는 분명한 사전 반품입니다. CI 도구에 대해 궁금한 점이 있으면 Discord 서버에 문의하십시오. 우리는 오픈 소스 커뮤니티에 무료로 Azure 파이프 라인을 제공 한 Microsoft에게 감사합니다!