準備に追われていてブログの方では告知できていませんでしたが
先日、赤帯さん主催の「Handhelds' Meetup!」というイベントに出演させていただきました。

小型携帯機器=ハンドヘルドでのライブというのがテーマというとても面白いコンセプトのイベントで、
出演者としても観客としても存分に楽しんで来ました。

その中で、ここ1-2ヶ月くらいで急にライブの仕組みを整えたので
自分で諸々忘れないようにというメモの意味も兼ねて解説をしたいと思います。

構想

今までこんな形で、ドラムのパートのシーケンスをその場でいじるようなライブセットを
Max For Liveの自作のプラグインで実現していました。
内部的には各拍ごとに対応したDelayが挟まっていて、それらをBPMと同期しながら切り替えて演奏しています。

iOSがAUプラグインに対応した時から、いつかこのライブの環境をiPhoneに移植できたらいいなとずっと思っていました

この頃も色々試してたんですが、うまいことAUv3をフルフルに活かせる母艦となるソフトが少なかったように見えます。

今回必要に駆られてもうちょっと真面目に探してみると、それなりになんとかなることがわかりました。

実働環境

  • iPhone 13 mini
  • AUM (メインのミキサー + 音源再生 + AUプラグイン母艦)
    • ドラムのシーケンス
      • Mozaic (MIDI制御)
      • Drambo (ドラムパートの再生)
    • 各種エフェクト
  • TouchOSC (コントローラー)

iPhone 13 mini

特に何もいじってない普通のiPhoneです。
14からminiのラインナップが無くなって次どうしようかな。。と思ってましたが、
今回ライブの機材として使ってからはもうちょっと大きくてもいいな。。と思うようになりました。

AUM

https://apps.apple.com/id/app/aum-audio-mixer/id1055636344

iPhoneのアプリとしてはちょっと躊躇する価格ですが、DAWみたいなもんだと思うと相当お値打ちな素晴らしいアプリです。

あらかじめDAWでパートごとに繋げておいたWAVをここで再生し、
各種エフェクトをかけます。

ドラムのシーケンス

Mozaic

https://apps.apple.com/jp/app/mozaic-plugin-workshop/id1457962653

MIDIの入出力を独自の形式のスクリプトで制御できるプラグインです。
本当は後述するDramboで完結させたかったんですが、ちょっと断念してこちらのプラグインの力を借りることとしました。
自由度が高いのと、イベントハンドリングもきっちり揃っていて機能的には申し分ないんですが
如何せんiPhone上でスクリプトを書き込むのが結構つらいです。

今回は、midiコントローラーのノートを1/2拍単位で受け付ける制御と、 コントローラー側に再生位置と本来シーケンすをいじらなかったときの元の位置の両方を返すのに使っています。

Drambo

https://apps.apple.com/jp/app/drambo/id1469365718

モジュラーシンセみたいなプラグインです。 これは使いこなせばかなり色んなことができると思います。

今回は、ドラムのシーケンス用に1/2拍ずつずらしたDelayを16個並べて、 Mozaicから受け取ったとおりに鳴らすことで、今までの仕組みに近いものを実現しています

TouchOSC

https://apps.apple.com/jp/app/touchosc/id1569996730

MIDIコンを自由にデザインして作れるアプリです。 旧バージョン(mk1)からずっとお世話になっているアプリですが、
現行版は各要素のデフォルトの挙動に加え、Luaでスクリプトを書いて挙動を制御出来るより玄人向けな仕上がりとなっています。

問題点

大体今まで通りライブできるようになったんですが、2点ほど問題点が

1.ドラムのシーケンスの位置によっては音質が悪い

DramboのDelayが最大1拍なのですが、今回の仕組みだと1/2拍 x 16 = 8拍必要なので
仕方なく3個目以降はDelayを数珠つなぎにしています。
そうなると、後半はだんだん音が劣化してしまって 15,16個目あたりはフィルタが掛かったような音に。。
Dramboさん、Delayの最大拍数もっと増やしてくれませんかね。。。

2.たまに一部が落ちる

今回のライブでは問題なかったですが、稀にDramboがクラッシュします。
AUMではクラッシュ直前の各プラグインの設定を保持してくれないので、
プラグインのリロードをすると設定がまっさらな状態で始まります。。

各プラグインごとの設定を別途保存できるので、それで一応最悪の事態にはならないです。

3.プロジェクト全体を通したBPM同期ができない

今までは母艦がAbleton Liveだったので
途中でBPMの違う曲を入れても正確に追従することができたんですが、
AUMのファイルプレイヤーにはそういう機能はなく、最初に設定したBPMのまま同期が進みます。
今回はMozaicのLFO向けの機能で任意のBPMのタイマーをセットすることで途中でBPMを変える対応をしましたが、
手動でBPMのセットと拍の頭出しがどうしても必要になります。

4.発熱

端末を充電しながら実装してると大体こういうことになります

所感など

一旦以上で大体やりたかったことをiPhone上で再現してライブに至りましたが、
個人的にはあまりこの構成お勧めしにくいです。

今回は今まで作ってきたものの再現だったので、
あらかじめロジック等がわかった状態での環境構築でしたが
試行錯誤するにはこの環境は扱いづらいです。
プロトタイプ的なものを作るならやっぱり素直にMaxなどを使うのが良いと思います。

また、思ったより色んなアプリに頼る形になってしまったので、
今後これらのアップデート状況を追わないといけないことになります。 ライブ当日にどこかのアプリがアップデートして挙動が変わる。。なんてことになりかねません。

こういうところは、やっぱり専用のハードや枯れ切った端末・環境には敵わないなと思います。

音質問題は今の仕様だとちょっと難しいので、しばらくはアレンジの幅を狭める形でカバーとなると思います。

それにしても、iPhoneで完結できる事による恩恵は大きいです。
荷物も少なくて済みますし、通勤中に練習できます。

最後に、自分と同じでTouchOSC + AUMでライブセットを仕込んでるすごい例を貼って締めとしたいと思います。
これはどうやって作ってるのか本当に全然わからない。。。