トップ 追記

あしたに日記[RSS]

Wiki/Bookmark/Top


2021-02-07 iRig PadsでLiveLoopsを制御する [長年日記]

はじめに

めちゃくちゃ久しぶりの日記更新。最近はFacebookばかり更新していますが、まとまった分量のメモだし役に立つ人もいるかもということでこちらに。

Logic Pro 10.6のLiveLoopsという機能は、サンプル素材をリアルタイムで切り替えるAbleton liveもどきの機能です。リアルタイム録音にも対応しているのでルーパーっぽく使えます。公式のコントローラはiPadとNovationのLaunchpadのようですが、私は指ドラム目的で買ったiRig Padsしか持っていないので、これでLiveLoopsを制御することにしました。

設定がかなり大変だったのでメモとして残しておきます。Logicのバージョンは10.6.1です。

iRig PADSのレイアウトアサイン

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になります。とくにこの通りじゃなくて良いですが、設定はメモっておきましょう。

LiveLoopsの設定(はじめに)

最低限、下記の3つが外部から制御できれば、ルーパー風の生演奏ができるので、それを目指します。(こんなに苦労するならもうマウスでいいよ・・という気持ちになりましたが、ぐっとこらえて設定します)

  • ①トラックを選択する
  • ②セルを選択する
  • ③シーン(列)を選択する

「トラックを選択する」が難関で、これをやるには他のコントローラのアサインからコピペで持ってくるしかないようです。他の方法をご存知な方は教えてください。

Launchpadの設定からのコピー

まず[Logic Pro]-[コントロールサーフェス]-[設定]を選びます。そして[新規]-[インストール]で、例えばNovationのLaunchpadを選択し、「追加」を押します。

次に[Logic Pro]-[コントロールサーフェス]-[設定]-[コントローラアサインメント]を開きます。「エキスパート表示」を選ぶと、「ゾーン」のところに

  • Control Surface: Launchpad
  • Grid
  • Grid Overlay
  • Shift Overlay

の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ゾーンの編集

次にコピー済のiRig Padsゾーンを編集していきます。

①トラック選択については、チャネルストリップ:の項目を「インデックス」に変更します。そしてMIDIインプットメッセージの「値を変更」のところに、

90 MIDIノート番号(16進) Lo7

と入力します。たとえば左上のパッドはノート番号78に設定されているので

90 78 Lo7

と入力します。これで、左上のパッドが、チャネルストリップ:インデックスのところに書かれている数字のトラック番号の選択に割り当てられました。この要領で必要な数だけ割り振っていきます。

②セル選択についても同様に、インデックスとMIDIノートナンバーを選択していきます。私はセル選択にトラック選択と同じMIDIノートナンバーを割り当てました。こうすることで、同じパッドを2回叩くと、トラックを選択してそのトラックの左端のセルが選ばれます。注意としては、トラック選択とセル選択の両方が一気に有効になる場合がたまにあるので、録音開始の1小節前で押すのがいいと思います。トラックを録音可能にしておくと録音が開始しますし、そうでなければそのセルの再生をトリガすることになります。

③シーン(列)選択については、MIDIノートナンバー設定ぐらいでしょうか。同じ要領でアサインしていけます。

以上でコントロールサーフェスの設定は終わりですが、恐ろしいことにこれを個別に保存しておく方法がないようです(システムで一括保存はされる)。そして、誤って他のコントロールサーフェスの設定などを呼び出してしまうと、今回設定した内容はあっさり消えます。どうもLogicのSDKにまで手を出せばこのあたり専用の設定を作れるようですが、そこまでやる気も起きないので、気をつけるしかなさそうです。

LiveLoops操作について

以上の要領で、iRig PadsからLiveLoopsをコントロールできます。

私もLiveLoopsでリアルタイム録音つきのパフォーマンスをやってみましたが、いろいろとわからないところがまだあります。自分がハマったところとその回避策をメモっておきます。どうも素材を再生する使い方が基本で、リアルタイム録音はまだまだなのかなと思いました。

  • セルに録音開始するには、そのトラックを録音可能にしておき、そのトラックを選択しないとだめ。
  • 「クオンタイズ開始」で再生開始タイミングをどの周期単位で揃えるかを変えられるのだが、録音についてはこの設定によらず1小節固定っぽい。これがあるために1小節以内にすべての準備をする必要があって使いにくい。
  • 各セルの録音の長さ「セルの長さ」録音終了時「再生」に設定すると、指定小節数だけ録音しその後ループというようなことができる。この操作にたどり着くまでに苦労した。そして録音の長さなどはシーン(列)選択しておくとそのシーンのデフォルトが指定できるようになる。
  • ボーカルパートなど、ループ録音ではなくスルー再生したい場合、なぜか録音や入力モニタを有効にするだけではだめで、ダミーの録音済セルをおいておかないと音が出ない。
  • 時間軸があるようなないようなかんじなので、メトロノームのトラックを作りそれに合わせるとやりやすかった。本当はメトロノームは最終出力には出したくないのだが後述の理由でパートごとの出力でできず、仕方なく出力してしまっている。
  • 「パフォーマンスを録音」にするとDAW的に再生結果を保存できるようだが、このモードではループ録音ができない。そのため、ライブパフォーマンスを記録に残すために、soundflowerを経由して他の録音ソフトに保存するというアクロバットな方法をとった。しかしこの場合soundflowerの遅延が馬鹿にならず、機器セットというOSXの機能でオーディオI/Fとsoundflower同時に出力するようにした。しかしLogic直に保存ができないのはかなり不便。
  • まだ試していないが、MIDIでトリガをかけられるということは、他のDAWなどを使ってリアルタイム録音のトリガをプログラミングすることも可能かも。決まった手順で楽器演奏だけやるスタイルであればPADなどを使わずこちらのほうがいいかもしれない。機械に使われる感じが嫌な感じだが。

2018-03-31 [長年日記]

Pochi-Con

長男がキーボードを連打するゲームにハマっていてノーパソのキーボードが壊れそうなので専用コントローラを作ってみました。長男により"Pochi-Con"と命名。「ポチポチ押すコントローラ」とのこと。

pochicon1

電気的にはArduino Leonardoでキーボードエミュレートしているだけです。ゲームスイッチは安心の三和電子。電源スイッチは電源オンオフとしては機能しないのですが、ちょうどいいサイズの手持ちのスイッチがこれしかなかったのです。

筐体はレーザーカッターでダイソーのMDFをカットして、木工ボンドで組み立てました。角丸にこだわりたかったので積層してみましたが、ボンド跡が汚いですね。あとでペーパーかけよう。

まあ全般にそこそこコンパクトに作れたと思います。スイッチの背が高いので本当はパームレストが欲しいところ。

下記はプレイ風景です。クライアントが喜んでくれる仕事はやりがいがありますね。

pochicon2

本日のツッコミ(全1件) [ツッコミを入れる]

カス [このブログ?日記?もっと更新せーへんの?おもろいのに]


2018-01-22 [長年日記]

かいわれタイムラプス

冬休み工作第二弾です。年末には完成してたのですが撮影等に時間がかかったので今頃の記事化です。

数ある植物栽培のなかでも、かいわれは非常にお手軽で、基本的には水と土と種をセットするだけで、1-2週間前後で収穫に至ります。収穫後すぐ食べれるのもよいですね。ラズパイZeroWとカメラのセットアップが終わって被写体を探していたところだったので、どうせならタイムラプス撮影しようと思い立ちました。

下記が完成した動画です。真上から撮ったので、巨大植物に襲われるような感じの絵が取れました。曲を作ってたら遅くなっちゃいました。

https://ashitani.jp/movies/kaiware.mp4 (注:音が出ます)

下記が今回撮影用に作った環境です。

kaiware1
kaiware2

以下、製作記です。それぞれの作業はどれも大したことないのですが、全部やるとそこそこ作業量がありますね。

まずカメラとラズパイを固定します。ラズパイ本体の近くにカメラを固定したかったので、レーザーカッターで固定用の板を作って、本体とカメラを固定しました。最低限の構成ですがなかなかスッキリです。夜中も撮影する必要があるので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経由で中継しておいて、クリックで水やりみたいにしたほうが楽しいかもですね。

本日のツッコミ(全3件) [ツッコミを入れる]

テスト [投稿テスト]

突っ込み道 [面白い試み! でも音楽があってません。]

Eleven Tenths 板野 [突然のご連絡、恐れ入ります。Eleven Tenthsの板野と申します。 弊社は複数の専門部門を持つ、英国最大級の..]