The Synthesis Toolkit in C++(以下STK)の導入メモ
結局導入できなかったゴミ記事です。読まないことをお勧めします。
ディレクトリについて
src — .cppファイルを含む
include — ヘッダファイルを含む
rawwaves — サウンドファイルを含む
doc — ドキュメント
projects — デモと例を組む
VisualStudio2015でのコンパイルの仕方
stk-4.x.x/projects/demo/demo.dspを無理やり開き,
現在のバージョンにコンバートする.
VSのプロジェクト->プロパティを選択
構成プロパティ / 全般 の「構成の種類」を「ライブラリファイル(.lib)」にする.
下の方にある「追加のオプション(D)」の欄に「/FS」を指定
OKを押し,「Release」環境にてビルド.
そうしたらVisualStudioに付属の「開発者コマンドプロンプト」を開き
stk-4.x.x/projects/demo/Releaseに移動.
そこで
lib OUT:libstk.lib *.obj
を実行.すると見事にライブラリファイルが生成されます!
使いたいプロジェクトのプロパティを開いて,リンカー / 全般 の「追加のライブラリディレクトリ」に demo.lib があるディレクトリを追加.(あれだったら自分のプロジェクトファイルの下にdemo.libをstk.libとかにリネームして持ってきとくとわかりやすいかもですね)
つぎに リンカー / 入力 の「追加の依存ファイル」にdemo.lib(リネームしたならその名前)を追加.
C/C++ / コマンドラインオプションに「/MTd (or /MT) /FS
」を追加して,Release環境にすると実行できます.「PDBファイルが見つからない」って言われますが…一応実行できます.(どうやらWindows/WOW64内の.dll群にはPDBファイルがないのは正常なようです)
※リアルタイム合成をしようとしたところ,動きませんでした.PortAudioの使用をお勧めします.
コマンドラインでのコンパイルの仕方
Windowsの場合, リアルタイム合成はDirectSound, ASIO, WASAPIで利用可能
MinGWのコンパイラかUnixでコンパイル可能.(自分はWindows Subsystem for Linuxで実行)
STKの一番上のディレクトリで
autoconf
./configure -with-ds
と実行するとMakeFileが生成される.(DirectSoundを使う場合)
(※これを実行するにはg++, CC, c++, cxxのいずれかと,libasound2-devがインストールされていないといけない)
そのほかのオプションは以下である.
–disable-realtime to only compile generic non-realtime classes
–enable-debug to enable various debug output
–with-alsa to choose native ALSA API support (default, linux only)
–with-oss to choose native OSS audio API support (linux only, no native OSS MIDI support)
–with-jack to choose native JACK API support (linux and Macintosh OS-X)
–with-core to choose Core Audio API support (Macintosh OS-X)
–with-asio to choose ASIO Audio API support (Windows)
–with-ds to choose Windows Direct Sound Audio API support (Windows)
そして一番上のディレクトリで
make
すると,srcディレクトリの下にライブラリファイルである「libstk.a」が生成される.
(※しかし「.aファイル」はVisualStudioでは使えない)