iOSシミュレーターで AudioKit AnalogSynthX シンセアプリを動かすには?!

DTM
AudioKitの「オープンソース」iOSシンセアプリ3機種の内、AnalogSynthXだけはそのままではXcodeのビルドでエラーが発生。そこでAudioKitライブラリーのバージョンを下げたところiOSシミュレーター上で動いたので紹介します。

背景

iPadを持っていないのでiPad専用アプリは動かせなかったのですが、Mac miniでXcodeのiOSシミュレーターでAudioKitの「Synth One」と「ROMPlayer」がGitHubからプロジェクトを読み込んでビルドすると動きました。

残りの「AnalogSynthX」だけでビルドでエラーが発生しiOSシミュレーターで動かせませんでしたが、試行錯誤している内にAudioKitライブラリーのバージョンの問題でエラーが発生しているようなので、バージョンを下げてビルドしたところ動いたので紹介します。

Xcodeでエラー無しにビルドするには

基本的な流れは以下の「ROMPlayer」の記事で紹介したのとほぼ同じです。

iOSシンセ ROMPlayer をMacのiOSシミュレーターで動かす?!

MacのXcodeにGitHubの「AudioKit ROMPlayer」iOS FMサンプルシンセのプロジェクトを読み込んで、iPad Pro/iOS 12.1でiOSシミュレーターで動かしてみたので成功事例を紹介します。最も成功率が高いので?

異なるのは、以下の下あたりのように「# pod ‘AudioKit’」とコメントアウトして、その上に「pod ‘AudioKit’, ‘=4.5.5’」とAudioKitライブラリーのバージョンを指定します。

これにより、CocoaPodsはAudioKitのライブラリーのバージョン「4.5.5」を読み込みます。

「pod ‘AudioKit’」のままでは最新版の「4.6」を読み込みますが、これがAnalogSynthXのソースコードに合わなかったようです。

SynthOneとROMPlayerは「4.6」でもエラー無しにビルド出来たので少々不思議ですが・・・

以降はROMPlayerで使った「pod install」の前に「pod repo update」を行いました。これはSynthOneのドキュメントに書いてあった方法なので、それを踏襲しています。

これはかなり表示行数が少ないですが、最初はもっと多くの行数が表示されます。何回も同じことをやっていると、こうなるようですが・・・

ちなみに、GitHubのAnalogSynthXに書いてあるAudioKitのバージョンは「4.2.4」ですが、それで試してもエラーが発生しビルド出来ませんでした。

iOSシミュレーターでAnalogSynthXを動かす

SynthOneやROMPlayerではiOSシミュレーターが起動した後で、アプリの起動中にXcodeにエラーが発生しましたが、今回はそれ以前に他のアプリをインストールしていたためかエラーは発生せず、マイクの許可が表示され「OK」をクリックするのは1回だけでした。

アプリの起動中は以下の画面になりますが操作は出来ません。

中央に「MIDI」のマークがあるのでMIDI対応していると思うのですが、他のアプリと異なりMIDIに関する操作ボタンなどが全く見当たらず、細かい設定は出来ません。

アプリが起動した時の画面は以下です。

この画面が表示された直後はキーボードをマウスでプレスしても反応がありませんが、暫くすると鍵盤がオレンジ色になり、音が出ます。

左下の「Hold」をクリックして鍵盤をクリックすると音が出続けます。その状態で各ツマミやボタンなどを操作して好みの音にします。

FM変調や「CRUSH」「LFO」「FILTER」などで、かなりエグい音にすることも出来ますが・・・

他のアプリと同時に音出し

iPadの実機ならAudiobusやIAA対応のアプリで、複数のシンセアプリと連携して演奏が可能ですが、iOSシミュレーター上では「オープンソース」iOSアプリしか同時に使えないので、現状では2つのiPad上に各2つのシンセアプリをインストールして使っています。

左側が「iPad Pro 2nd Gen. 12.1」で、AnalogSynthXとSynthOneをインストール。

右側が「iPad Pro 3rd Gen. 12.1」で、ROMPLayerとSynthOneをインストール。

どちらのiPadにも3つ全部をインストールしようとしましたが、最後にインストールしたアプリの動作が不安定だったり、音が出なかったりしたので、1つのiPadにはシンセアプリは2つまでにしています。

基本的にはシーケンサーで自動演奏が出来るSynthOneでバッキングを鳴らしながら、AnalogSynthXかROMPlayerを手弾きします。

例えば、上記の画面で左側のiPadでSynthOneも起動して切り替えて演奏するようなことも出来ますが、MacにUSBでMIDIコントローラーを繋いで手弾きしようかと考えています。

ちなみに、iPad Proの3rd Gen.にはホームボタンが無いので、2nd Gen.の方が切り替えなどの使い勝手は良いです。上記のようにキーボードショートカットでも出来ますが・・・

まとめ

「オープンソース」で完全無料の「Synth One」はiPhoneでも使えますが、他の2つはiPad専用です。ですからiOSシミュレーターのiPad Proで使っています。

SynthOneについての記事は以下です。無料ながら高機能・高音質で使い勝手の良いアプリだと思います。

DTM iOS アプリ?AudioKit Synth OneをMacのiOSシミュレーターで試す?!

AnalogSynthXは、それ自体の機能はシンプル過ぎてあまり使いたいとは思えませんが、オープンソースなのでROMPlayerに搭載されている多くの機能を移植できないか?と考えています。

つまり、アナログシンセとしての音作りは継承しつつ、ROMPlayerのサンプル音源でバッキングループを鳴らせないか?と考えています。

さらにMIDIやBluetoothなどの機能も移植できれば、シンプルで一人セッション的な使い方が出来る「手作りカスタマイズシンセ」にしたいです。

そのためにはXcodeのSwiftでプログラミングが出来るようにならなければいけませんが、AudioKitライブラリーがあるので、けっこう初心者でもアプリの改造が出来るのではないかと・・・

ではでは、きらやん