めちゃくちゃ久しぶりの日記更新。最近はFacebookばかり更新していますが、まとまった分量のメモだし役に立つ人もいるかもということでこちらに。
Logic Pro 10.6のLiveLoopsという機能は、サンプル素材をリアルタイムで切り替えるAbleton liveもどきの機能です。リアルタイム録音にも対応しているのでルーパーっぽく使えます。公式のコントローラはiPadとNovationのLaunchpadのようですが、私は指ドラム目的で買ったiRig Padsしか持っていないので、これでLiveLoopsを制御することにしました。
設定がかなり大変だったのでメモとして残しておきます。Logicのバージョンは10.6.1です。
iRig PADSのレイアウトアサインはスペカンさんの動画が詳しいです。専用ツールはMojaveぐらいまでしか動かないので、マカーの人は本体の機能でアサインするしかありません。
今回は下記のようにアサインしました。指ドラムでは低い音域をよく使うので、ぶつからないように上のほうのノートに割り当てました。midiノートのノートナンバー(16進数)で記述しています。
78 79 7A 7B
74 75 76 77
70 71 72 73
6C 6D 6E 6F
ノートナンバー6C〜7Bは音名でいうとC7〜D#8になります。とくにこの通りじゃなくて良いですが、設定はメモっておきましょう。
最低限、下記の3つが外部から制御できれば、ルーパー風の生演奏ができるので、それを目指します。(こんなに苦労するならもうマウスでいいよ・・という気持ちになりましたが、ぐっとこらえて設定します)
「トラックを選択する」が難関で、これをやるには他のコントローラのアサインからコピペで持ってくるしかないようです。他の方法をご存知な方は教えてください。
まず[Logic Pro]-[コントロールサーフェス]-[設定]を選びます。そして[新規]-[インストール]で、例えばNovationのLaunchpadを選択し、「追加」を押します。
次に[Logic Pro]-[コントロールサーフェス]-[設定]-[コントローラアサインメント]を開きます。「エキスパート表示」を選ぶと、「ゾーン」のところに
の4つが追加されていると思います。さきほどLaunchpadを選択したタイミングでこれらが追加されます。今回はiRig Pads向けの設定を作りたいので、ゾーンの「+」を押して適当な名前(iRig Padsなど)のゾーンを新規作成します。
①トラックを選択するのは
Grid Overlay / Track Select Pressed / Pad Row 1 Col8 :選択
というコントロールです。これを先程作ったiRig Padsのゾーンにコピーします。⌘C-⌘Vでコピペできます。Row 1-8までありますので制御したいトラック数だけコピーします。私の場合は Row 1-8 をコピーしました。
②セルを選択するのは、
Grid / Session / Pad Row 1 Col 1 : Live Loopsセル
とかかれたコントロールです。これも同様にiRig Padsのゾーンにコピーします。私の場合は Row 1-8/Col 1 をコピーしました。
③シーン(列)を選択するのは、
Grid / Session / Col 1 : Live Loopsシーン
とかかれたコントロールです。これも同様にiRig Padsのゾーンにコピーします。私の場合は Col 1-8 をコピーしました。
ここまでコピーが終わったらLaunchpad 用のゾーンは全部消しておいたほうがトラブルは少ないと思います。
次にコピー済のiRig Padsゾーンを編集していきます。
①トラック選択については、チャネルストリップ:の項目を「インデックス」に変更します。そしてMIDIインプットメッセージの「値を変更」のところに、
90 MIDIノート番号(16進) Lo7
と入力します。たとえば左上のパッドはノート番号78に設定されているので
90 78 Lo7
と入力します。これで、左上のパッドが、チャネルストリップ:インデックスのところに書かれている数字のトラック番号の選択に割り当てられました。この要領で必要な数だけ割り振っていきます。
②セル選択についても同様に、インデックスとMIDIノートナンバーを選択していきます。私はセル選択にトラック選択と同じMIDIノートナンバーを割り当てました。こうすることで、同じパッドを2回叩くと、トラックを選択してそのトラックの左端のセルが選ばれます。注意としては、トラック選択とセル選択の両方が一気に有効になる場合がたまにあるので、録音開始の1小節前で押すのがいいと思います。トラックを録音可能にしておくと録音が開始しますし、そうでなければそのセルの再生をトリガすることになります。
③シーン(列)選択については、MIDIノートナンバー設定ぐらいでしょうか。同じ要領でアサインしていけます。
以上でコントロールサーフェスの設定は終わりですが、恐ろしいことにこれを個別に保存しておく方法がないようです(システムで一括保存はされる)。そして、誤って他のコントロールサーフェスの設定などを呼び出してしまうと、今回設定した内容はあっさり消えます。どうもLogicのSDKにまで手を出せばこのあたり専用の設定を作れるようですが、そこまでやる気も起きないので、気をつけるしかなさそうです。
以上の要領で、iRig PadsからLiveLoopsをコントロールできます。
私もLiveLoopsでリアルタイム録音つきのパフォーマンスをやってみましたが、いろいろとわからないところがまだあります。自分がハマったところとその回避策をメモっておきます。どうも素材を再生する使い方が基本で、リアルタイム録音はまだまだなのかなと思いました。
長男がキーボードを連打するゲームにハマっていてノーパソのキーボードが壊れそうなので専用コントローラを作ってみました。長男により"Pochi-Con"と命名。「ポチポチ押すコントローラ」とのこと。
電気的にはArduino Leonardoでキーボードエミュレートしているだけです。ゲームスイッチは安心の三和電子。電源スイッチは電源オンオフとしては機能しないのですが、ちょうどいいサイズの手持ちのスイッチがこれしかなかったのです。
筐体はレーザーカッターでダイソーのMDFをカットして、木工ボンドで組み立てました。角丸にこだわりたかったので積層してみましたが、ボンド跡が汚いですね。あとでペーパーかけよう。
まあ全般にそこそこコンパクトに作れたと思います。スイッチの背が高いので本当はパームレストが欲しいところ。
下記はプレイ風景です。クライアントが喜んでくれる仕事はやりがいがありますね。
冬休み工作第二弾です。年末には完成してたのですが撮影等に時間がかかったので今頃の記事化です。
数ある植物栽培のなかでも、かいわれは非常にお手軽で、基本的には水と土と種をセットするだけで、1-2週間前後で収穫に至ります。収穫後すぐ食べれるのもよいですね。ラズパイZeroWとカメラのセットアップが終わって被写体を探していたところだったので、どうせならタイムラプス撮影しようと思い立ちました。
下記が完成した動画です。真上から撮ったので、巨大植物に襲われるような感じの絵が取れました。曲を作ってたら遅くなっちゃいました。
https://ashitani.jp/movies/kaiware.mp4 (注:音が出ます)
下記が今回撮影用に作った環境です。
以下、製作記です。それぞれの作業はどれも大したことないのですが、全部やるとそこそこ作業量がありますね。
まずカメラとラズパイを固定します。ラズパイ本体の近くにカメラを固定したかったので、レーザーカッターで固定用の板を作って、本体とカメラを固定しました。最低限の構成ですがなかなかスッキリです。夜中も撮影する必要があるのでLEDをつけます。秋月で適当な白色LEDを買って、本体・カメラ・LEDを栽培用の容器に取り付けます。
ラズパイのカメラ撮影はソフトウェアがばっちり整備されていて、とっても簡単です。今回はpythonから制御しました。picameraで撮影ができますし、RPi.GPIOでGPIO制御ができます。GPIOでフラッシュ代わりのLEDを光らせ、カメラで撮影し、日付をファイル名にしてjpgファイルを生成するスクリプトを書きました。このスクリプトをcronで10分おきに起動します。ここまでできたらあとはひたすら待つだけです。枚数が多くなるとSDカードがあふれるかもと思い、今回は320x240とかなり小さめの画像で保存しました。
取得できた画像をopencv/ffmpegを使い30fpsで動画化すればタイムラプス動画が出来ます。10分に1枚撮った画像を30fps動画にしたので、動画の1秒が実時間の300分に相当します。18000倍速再生ってかんじですね。さすがに320x240は小さすぎるのでVGAにアップスケールして、カウンタをつけました。
せっかくなので音楽もつけてみました。曲というほどのものでもないですが自作曲です。一工夫として、部屋の照明がついてるときに背景が明るく映っている様子が見えたので、これに同期させてノイズを生成してみました。pysoundfileというモジュールでnumpyの配列をwavファイルに変換できます。画像のフレーム一枚ごとに44100/30 サンプルぶんの音声データを追加していきます。画面端の輝度が高いときはノイズを、そうでないときは無音を、という風に足せば、明るいときだけノイズが出るような音声ファイルを生成できます。これをDAWにぺったり貼ればできあがりです。
次回はもうちょっと高密度に種をまいてみるかな。。いろいろ反省事項はあって、撮影用、固定用、照明用で天面に穴を開けましたが、あとで考えると空気穴がこれらだけという鬼畜な状況ですので、もっと穴はこまかくあけたほうがよいかも。照明は、今回は撮影目線でだけ点灯しましたが、発芽まではなるべく当てないほうがよいとか、発芽後は特定波長を特定周期で照らすとよいとか、いろいろあるそうですので積極的に制御するのも面白いでしょうかね。なおやはりLEDに向かって伸びていました。ポンプを入手して水やりも自動化してみたいですね。冬場だと成長は遅いかわりに水が腐ったりしないのですが、夏場は水が腐りやすいので数回に分けて水をやったほうがよいです。完全に自動化せずに、Web経由で中継しておいて、クリックで水やりみたいにしたほうが楽しいかもですね。
○ カス [このブログ?日記?もっと更新せーへんの?おもろいのに]