Surge XTを使用したいミュージシャンの場合は、当社のWebサイトから適切なバイナリをダウンロードしてください。 Surge Synthチームは、サポートされているすべてのプラットフォームに対して定期的なリリースを行います。
CI:リリース:リリース-xt:
Surge XTは、Vember Audioで @Kurasu/Claes Johansonによって商用製品として当初書かれ、販売された無料でオープンソースのハイブリッドシンセサイザーです。 2018年9月、ClaesはGPL3の下でSurge 1.6の部分的に完成したバージョンをリリースすることを決定し、それ以来開発者のグループがそれを改善しています。 https://surge-synth-team.org/でチームの詳細をご覧ください。または、DiscordでConnectとConnectをご覧ください。
Surge XTのディスカッション、テスト、設計にも参加したい場合は、以下とSurge XTのWebサイトの貢献者セクションに詳細があります。
このREADMEは、Surge XTの開発者ドキュメントのルートとして機能します。
開発者を歓迎します!ワークフローは、このリポジトリのGithubの問題とDiscord Serverでの会話を中心に展開しています。開発者ガイドドキュメントで開発者ガイドラインを読むことができます。貢献したい場合、GITに慣れていない場合は、Surge XT Developmentで調整されたGit How Toもあります。
開発者ガイドには、特定のプラットフォーム上の特定のホストでのテストとデバッグに関する情報も含まれています。
Surge XTは、すべてのビルド関連タスクにCmakeを使用し、シンセを構築するために一連の無料ツールを必要とします。開発環境が設定されている場合は、必要なものがほとんどありますが、そうでない場合は、チェックしてください。
環境を設定したら、gitを使用してサージXTコードをチェックアウトし、サブモジュールをつかみ、Cmakeを実行して構成してからCMAKEを実行してビルドする必要があります。 IDEはCmakeをサポートする場合があります(詳細については以下)が、すべてのプラットフォームでサージ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
にすべてのSurge XTバイナリアセットが構築され、多くの場合、ビルドを行うのに十分な式になります。
私たちのGitは、Gitの使用方法を説明する方法です。独自のフォークから開発したい場合は、そこに参照してくださいが、短いバージョンは(1)GitHubでこのプロジェクトをフォークし、(2)上記のメインリポジトリではなく、フォークをクローンすることです。ここでFork
ボタンを押してから:
git clone [email protected]:youruserid/surge.git
そして、残りのステップは変更されていません。
最初のcmakeステップを実行すると、CmakeはIDE互換ファイルを生成します。 Windowsでは、Visual Studioファイルが生成されます。 Macでは、デフォルトでMakeFilesを生成しますが、引数-GXcode
を追加すると、必要に応じてXcodeプロジェクトを取得できます。
Surge XT Developersは、あらゆる種類のツールを使用して定期的に開発します。 Clion、Visual Studio、VIM、EMACS、VSコード、その他多くのコードはソフトウェアで適切に連携できます。
ライセンスの制限により、Surge XTのVST2ビルドは再配布されない場合があります。ただし、あなた自身の個人的な使用のために、サージ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では、Surge XT StandaloneよりもASIOを使用して構築されることがよくあります。これにより、ユーザーはASIO低遅延オーディオドライバーを使用できるようにするためです。
残念ながら、ライセンスの競合により、ASIOで構築されたサージXTのバイナリは再配布されない可能性があります。ただし、これらのビルドを再配布しない場合、あなた自身の個人的な使用のためにSurge XTをASIOで構築できます。
Asio SDKのコピーをすでに持っている場合は、次の環境変数を設定するだけで、行ってもいいです!
set ASIOSDK_DIR=c:pathtoasio
ASIO SDKのコピーを手元に持っていない場合、CMakeはあなたのためにそれをダウンロードし、あなた自身の個人的なライセンスの下でASIOで構築できるようにすることができます。この機能を有効にするには、次のようにcmake構成コマンドを実行します。
cmake -Bbuild -DBUILD_USING_MY_ASIO_LICENSE=True
Surge XT 1.3 Family Moves Juce 7に移動します。これには、LV2ビルドのサポートが含まれています。さまざまな理由で、デフォルトでもCIパイプラインでLV2を構築しません。 -DSURGE_BUILD_LV2=TRUE
最初のcmakeビルドに追加することにより、環境でLV2ビルドをアクティブにできます。
Surge XTはpybind
使用して、シンセの内臓をPythonコードに公開し、すべての機能に直接ネイティブアクセスします。これは、開発者にとって主に便利なツールであり、Surge-Pythonリポジトリにはいくつかの用途が示されています。
この方法でサージXTを使用するには、Python拡張機能を構築する必要があります。これが方法です(これはMacで結果を示しますが、WindowsとLinuxは似ています)。
まず、Pythonバインディングをアクティブにしてビルドを構成します。
cmake -Bignore/bpy -DSURGE_BUILD_PYTHON_BINDINGS=ON -DCMAKE_BUILD_TYPE=Release
注意するディレクトリignore/bpy
あなたが望むものである可能性があります。 .gitignore
を介して無視されるため、 ignore
ディレクトリは便利です。
次に、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 Target surge-xt-distribution
ビルドプロセスの最後にプラットフォームにインストール画像を構築します。 MacとLinuxでは、インストーラージェネレーターがプラットフォームに組み込まれています。 Windowsでは、cmakeファイルはnugetを使用してInnoSetupをダウンロードするため、パスにnuget.exe cliが必要になります。
他のさまざまなCmakeオプションとターゲットがあり、Surge XTをより簡単に開発およびインストールできるようにします。
JUCEは、ビルド後にプラグイン(AU、VST3など)がローカルインストールにコピーされるモードをサポートします。これはcmakeでデフォルトでオフになっていますが、 -DSURGE_COPY_AFTER_BUILD=True
cmake
時にtrueでそれをオンにすることができます。 Unixesでこれを行うと、VST3またはAUターゲットを構築すると、適切なローカルエリア(linuxの~/.vst3
、 ~/Library/Audio/Plugins
)にコピーします。 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ジェネレーターの選択で好みを指定する必要があります。
# 64-bit
cmake -Bbuild -G " Visual Studio 15 2017 Win64 "
# 32-bit
cmake -Bbuild32 -G " Visual Studio 15 2017 "
MacにFATバイナリを構築するには、最初の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には、エラーを促進する特異な警告を生成する明らかなバグがあります。 Surge XTはgcc (Debian 10.2.1-6) 10.2.1 20210110
できれいにコンパイルされていることがわかりましたが、他のものではありません。 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のクロスコンパイルには、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ビットであることを確認する限り、他の選択を行うことができます。
LinuxおよびBSDからMacOS IntelにSurge 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ベータ6程度からのサージの各バージョンには、このリポジトリに分岐があります。それをチェックして、関連するreadmeを読んでください。
以下をインストールする必要があります。
macOSに基づいて構築するには、 Xcode
、 Xcode Command Line Utilities
、およびcmakeが必要です。 App StoreからXcode
をインストールしたら、 Xcode Command Line Utilities
をインストールするコマンドラインは次のとおりです。
xcode-select --install
cmakeをインストールするにはさまざまな方法があります。 Homebrewを使用する場合は、次のことができます。
brew install cmake
ほとんどのLinuxシステムには、Cmake、Git、および最新のC ++コンパイラがインストールされています。あなたがしていることを確認してください。 9または10以降に7よりも古いほとんどのGCCSでテストし、依存関係のセットをインストールする必要があります。 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のようなディストリビューションに関するSurge XTに関する詳細情報を見つけることができます。
上記のビルドコマンドに加えて、Azureパイプラインを使用して継続的な統合を使用します。これは、すべてのプル要求がすべての環境にわたって自動的に構築されることを意味し、すべてのプラットフォーム上のクリーンなビルドは明らかな前提条件です。私たちのCIツールについて質問がある場合は、私たちのDiscordサーバーで尋ねることをheしないでください。オープンソースコミュニティに無料でAzureパイプラインを提供してくれたMicrosoftに感謝します!