DAW悪戦苦闘記

DAWやMIDIを通じてちまちまとDTMを楽しむ記録+MIDI検定1級到達記

AWS Solutions Architect Associate を取得

音楽とは直接関係はないのだが、無理やりこじつけるならば盆休み期間中に試しに入門した algorave / live coding に多少は関係してくるかもしれない、という密かな期待も込めつつ、先月末に AWS Solutions Architect Associate (以下SAA)の認定試験に合格したので(スコア820/1000点)、せっかくだから軽く体験談を書いておこうかと思う。

daw-jones.hatenablog.com

先月書いたように、今のところ live coding の環境設定はテクニカルに少々ややこしいことになっているので、クラウドに上げた環境をそのままお手軽に利用するとか多人数で共有したり、リモート接続で共同ライブ・セッションをしたり、などというクラウド活用の動きが今後活発化する可能性はあるだろう。

www.youtube.com

さて、SAAであるが、巷には受験体験記が山ほど溢れている中、私ごときが新たな知見を加える余地は小さいかもしれないが、ごく普通の初心者クラスの受験者が最小費用で実践した一つの典型アプローチとして参考にはなるかと思う。というのも、Qiitaなどで数多く披瀝されている受験体験記には、準備期間1ヶ月とか極端な場合には1週間といったどちらかと言えば例外的ケースが目立っており、一般的な未経験者・初心者にはあまり参考にならないと思ったからである。

まったくの初心者だった私の場合、単純に延べ期間で言えば5ヶ月程度の時間を要した。圧縮すれば実質的には2ヶ月ぐらいだろうと思うが、やはり仕事をしながらということになると普段の平日はなかなかまとまった学習時間を確保できず、ずるずると3ヶ月以上の期間は見込まざるを得ないのではないかと思う。

Udemyの講座活用が最短距離コース

学習期間の短縮には、Amazonその他業者主催のトレーニング・コースを受講するというのも一つの手である。しかし、それなりの高額出費を覚悟する必要があるため、なかなか個人ではおいそれと手を出せないし、そもそも費用対効果の面でどうしても疑問符が付く。その代替手段として非常に安価かつ有益であったのがUdemyの各種講座であったことは特筆しておきたい。

私が受講したのは以下の3講座で、あとは下記に挙げる日本語教則本を除けば他は何も利用せずに済んだ。

これだけでOK! AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座(初心者向け21時間完全コース)

これは結構定評のある試験対策講座で、日本語では唯一ではないかと思う。初心者にはありがたいハンズオン*1が充実しており、最初の取っ掛かりとしてはベストな講座と思う。

ただし、振り返ってみれば「これだけでOK」というわけには行かなかったので、他講座との併用を推奨する。付随サービスの紹介が不十分であったり、要点が整理し切れていない側面も否めず、どれか一つで良いから別の講座で補強する必要があると感じた。

付録のクイズや模擬試験問題はやや重箱の隅を突き過ぎた設問が多く、高得点を取れずともそれほど気にする必要はないと思う。

Ultimate AWS Certified Solutions Architect Associate 2019

個人的にはベスト講座であった。英語が苦にならない受験者には是非オススメしたい。上記「これだけ」講座ではよく理解できなかった要点などが本講座で明快になったところも多々あった。

スライド資料の要点整理が非常に簡潔かつ明瞭に綺麗にまとまっている。違いが紛らわしい各種AWSサービスの比較なども丁寧に網羅されており、痒いところに手が届く講座と言える。当然ながらハンズオン実習やデモも非常に充実している。

振り返れば、本講座最後の付録の模擬試験で合格基準に達すれば、本番でもおそらく大丈夫であろうという感触がある。

AWS Certified Solutions Architect Associate Practice Exam

合計6回分の模擬試験問題集。模試問題だけを集めた講座は実は山ほどあるのだが、これは比較的解説や資料リンクが充実している方だと思う。

ただ、振り返ってみればこれは特に受講の必要はなかった。というのも、ボリュームが多くて取り組む時間の捻出に苦労したことと、また問題のレベルがどちらかと言えば過剰に重箱の隅を突くもので本番よりも難度が高過ぎる印象を受けたからである。

おまけの教則本

定評のある日本語教則本は何冊か出回っているが、私が使ったのは以下のいわゆる「黒本」というやつである。

徹底攻略 AWS認定 ソリューションアーキテクト ? アソシエイト教科書

徹底攻略 AWS認定 ソリューションアーキテクト ? アソシエイト教科書

 

言わずもがなだが、読者のレベルや相性があるので、教則本は書店で手に取ってみて吟味選定することを勧めたい(私はそうしなかったので反省)。なので、上記黒本が万人にとってベストだというつもりは毛頭ない。

黒本に関して個人的な意見を書くとすれば、

  • 私がそうだったのだが、入門者がいきなり黒本を読んでもおそらくチンプンカンプンでほとんど頭に入ってこないと思われる。上記Udemyの講座と並行で復習に用いるのがベストであろう。
  • 章立ては、EC2やVPCといった各サービスごとではなく、AWS Well-architected Framework の5本柱に沿った構成となっていて、重複が多い。ここは読者の好みが分かれるところだと思う。
  • Kindle本ではなく紙の書籍を推奨する。私は自宅外での通読に配慮して電子書籍にしたのだが、用語検索・参照がままならずにとても苦労した*2。今後の事典用途なども考えると、紙の書籍の方がよかった。

これも振り返ってみればの話だが、結局のところ黒本はあまり必要ではなかったというのが正直な結論である。もちろん他の教則本だとまた違った感想になるかもしれない。

*1:本講座に限らないが、無料枠を使ったハンズオンであってもRDSなど高額サービスが絡んでくるものは、業務上どうしても必要である立場などを除き、逐一実践しなくてもよい。思わぬ請求が発生することを防ぐに越したことはないため。

*2:この種の日本語書籍にありがちだが、印刷イメージをそのまま電子書籍化した代物なので、検索用途ではまったく使い物にならない。

Algorave事始め: TidalCyclesの導入

随分と間が空いてしまったのだが、2ヶ月ほど前に私のアンテナに引っ掛かったアルゴレイブ(あるいはライブ・コーディング)なるものの演奏を実際に自分の手で試してみたいと思い、今年の夏休みの課題として TidalCycles を早速Mac上に導入し、音を鳴らしてみた次第である。この機会に導入にあたってのtipsなどを簡単に書き留めておくとする。

daw-jones.hatenablog.com

巷間よく指摘されるように、TidalCyclesの実行環境はインストールが一筋縄では行かない場合が多いようで、今からお試しになりたい他ユーザの参考になれば幸いである。依存関係にあるソフトウエアが更新されている背景も手伝ってか、昨年まで通用していた一部のインストール手順が通らないこともあるようなので、現時点での最新の導入アプローチとして一つの参考にしていただければと思う(当然ですが遠くない将来にまた変わる可能性はあります)。

なおこれはアルゴレイブ全般に関して言えることだと思うが、導入手順を含めてある程度はIT/プログラミングの基礎知識を前提としている事情を考えると、少なくとも音楽畑のDTM入門者が敢えて最初に飛びつく制作環境ではない、ということは強調しておきたい。

導入にあたっての前提環境

以下、Mac上での導入に絞って話を進める。Macの場合は、次の2つが揃っていることが大前提である:

Python 2.7 系

詳細は下記で述べるが、TidalCyclesのインストール・スクリプトである tidal-bootstrap はPython 2.7系で実行されるので、同スクリプトを使って一部またはすべてのコンポーネントをインストールする場合は Python 2.7系の実行環境が必須となる。

もっとも、幸いなことにmacOSにはPython 2.7系が同梱されているので、これに関してはユーザ側で追加のアクションは不要である(何らかの理由で敢えて削除していない限りは)。

Homebrew

Homebrew は、macOS用のソフトウエア・パッケージ導入ツール(Linuxで言うところの yum や apt に相当するツール)として代表的なものであり、これは多くのMacユーザはすでに導入済みであろうかと想像する。

Homebrew は下記に述べる Haskell の実行環境を入れるのに重宝するので、未導入の方は是非ともインストールを推奨する。Homebrewがなくとも Haskell を入れることは可能であるが、ビルドだなんだと結構面倒臭いドツボに嵌る可能性がある。

導入すべきコンポーネント

TidalCycles の実行に必要となるコンポーネントは、細かく言えば以下の6つに分かれる:

  1. Haskell実行環境
  2. TidalCycles 用のHaskellプログラム群
  3. Atomエディター本体
  4. AtomエディターのTidalCycles実行用拡張機能
  5. SuperCollider本体
  6. SuperDirt(SuperColliderに組み込むべきライブラリ)

このうちの1から5までに関しては、本来はインストール用スクリプト tidal-bootstrap で自動的に入る、はずだったのだが、現時点では1および2のHaskell関連インストールに失敗するため、まずは大前提となる1のHaskell実行環境自体は上述のHomebrewを使って別途入れた方がよい。また、3のAtomエディター本体についても本スクリプト外で別途インストールしておいてもよいだろう。

Haskell実行環境の導入

Haskell言語で構築されている TidalCycles は、その命令実行にあたって当然ながらHaskellの処理系を土台として用意する必要がある。

TidalCycles 導入でもっとも躓く可能性が高いのはこのHaskell実行環境のインストールと思うが、逆に言えばこれ以外はただただ面倒臭いだけで大きな障害はない、というのが正直な感想である。

その一番簡単確実な導入方法は、上述の通りパッケージ・マネージャーのHomebrewにお任せするアプローチである。すでにHomebrewが入っていれば、以下のコマンド1行で必要なものはすべてインストールできるはずである:

brew install ghc cabal-install stack

これでHaskell自体の準備はできたので、すでに何度か言及している TidalCycles のインストール・スクリプトを実行する。

参考: MacでHaskellを始める

tidal-bootstrap の実行

公式サイトのダウンロード・ページより、インストール用のコマンド・スクリプトなどが入ったzipファイルをダウンロードし、その中から tidal-bootstrap.command ファイルを選んでダブルクリック、ターミナルからインストール処理を実行する。因みにこのスクリプトは何度でも再実行できる。

上記の通りにすでにHaskellの実行環境を正しく導入している場合は、導入コンポーネント群のうちの2から4までが問題なくインストールされる。正常実行時のターミナルの画面イメージは下記記事を参照されたい。なお、依存関係コンポーネントのうちで ghci とあるのはHaskellの対話型インタープリターを指す。

参考: TidalCyclesのインストール

なお上述の通り、Atomエディター本体に関しては、本スクリプト実行前に別途手動で入れておいても構わない(その方が確実かも)。

SuperDirt の導入

あと一息であるが、最後の導入物として、SuperDirt ライブラリを SuperCollider に組み込んでやる必要がある。上記導入コンポーネント群の6に相当する最後の手順となる。

実はこの SuperCollider 自体がいわばアルゴレイブの実行環境となっており、独自言語によってプログラミング的にシンセの演奏が可能となっているのであるが、この言語仕様をもっと簡潔にわかりやすくし、よりライブ・パフォーマンスに適した実行環境として用意されたのが TidalCycles という位置付けになっている(というのが私の理解)。その際、TidalCycles は SuperDirt というライブラリ(ある種のサーバ・プロセス)を介して SuperCollider に接続し、その音源を発音させる、という仕組みである。

本ライブラリの導入自体はとても簡単である。すなわち、上述の tidal-bootstrap スクリプトの実行によってすでに SuperCollider アプリは入っているので、このIDE環境を立ち上げて所定の1行プログラム install-superdirt-quark.scd を実行するだけでよい(上述のインストール用zipファイルの中に格納されている install-superdirt-quark.scd ファイルをダブルクリックする)。

f:id:daw_jones:20190818151759p:plain

SuperColliderIDEが立ち上がったら、下図の通りにその1行コマンドを Shift + Enter で実行する。右下の Post window に処理経過が表示されるが、エラーなく終了すれば無事に全導入プロセスが完了となる。

f:id:daw_jones:20190818154102p:plain

sc3-plugins の導入(おまけ)

これはやらなくても別に支障はないようだが、SuperCollider の拡張機能がいくつか公開されているようなので、興味がある方は入れておくとよい。

コンパイル済みのプラグインをインストールする方法については、下記記事の「(オプション) sc3pluginsのインストール」の項を参照されたい(zip解凍したものを所定のフォルダーにコピペするだけ)。

参考: 要約! spacemacs 上で TidalCycles を導入し音楽制作する

演奏の実行

TidalCycles の演奏実行は SuperColliderIDEを使わず、Atomエディターを使う。Atom上で書いたコードから、SuperDirt を介して SuperCollider を鳴らす、という全体構図になっている。

したがって、概ね以下のような流れになる:

  1. SuperCollider上で SuperDirt サーバを立ち上げる。
  2. Atomエディター内で TidalCycles のコマンド処理を受け付けて SuperDirt に接続する拡張機能のプロセスを立ち上げる。
  3. Atomエディター上で TidalCycles のコマンドを打ち込み、Shift + Enter で次々に実行する。

詳細については、下記参考記事中の「3. SuperColliderの起動」、「4. SuperDirtの起動」および「5. Atomの起動、動作テスト」の項を参照されたい。

参考: TidalCyclesのインストール2018年版

その他の参考資料など

以上、長々と書いてきたが、まだ環境が整ったばかりで、あくまでとば口に立っただけのことなので、実際の演奏技法やら技術的に興味深いところなどは今後追々と掘り下げていきたいと思う。日本語記事資料が非常に乏しい領域であるから、微力ながら役に立てることがあるかもしれない。

当面参考にすべき資料として、まずは公式サイトのドキュメント類が必読対象となる。とりわけチュートリアルは、非常にボリュームがあるものの、一通り目を通す必要があろう。

参考: TidalCycles userbase

また、ライブ・コーディングに関しては今のところ唯一の貴重な日本語書籍として、下記文献を挙げておきたい。正直言って頁数の割には値が張る本だが、歴史的背景なども含めて何らかの参考にしたいとは思う。公式チュートリアルの分量を過剰に感じたり、あるいは英語が苦手なユーザ向けには有益かもしれない。

演奏するプログラミング、ライブコーディングの思想と実践 ―Show Us Your Screens

演奏するプログラミング、ライブコーディングの思想と実践 ―Show Us Your Screens

 

 

GarageBandのループ素材を Studio One で利用する

GarageBandは豊富なループ素材を無償で利用可能なところが重宝するのであるが、これを Studio One (Prime) 上でも引用したい時がある。

やり方は非常に簡単で、右側サイドメニューのブラウズ (Browse) から Files タブを選択し、ループ素材の保存場所を探し出す。

f:id:daw_jones:20190707174024p:plain

GarageBandのループ素材は、デフォルトのインストール環境であれば、下図の通り Library > Audio > Apple Loops > Apple フォルダーに保存されている。ループ素材の各CAF (Core Audio File) ファイルを試聴して楽曲に合うものがあれば、それを目的のトラックにドラッグ&ドロップして貼り付け完了である。time stretch を含め、引用方法は Studio One 付属のループ素材と何ら変わるところはない。

f:id:daw_jones:20190707174305p:plain

もちろん最初から GarageBand 上ですべて編集してもよいのだが、私の場合は Studio One の編集機能の方が使いやすいと感じているので、楽曲の土台と骨格は Studio One である程度試行錯誤した上で大枠を作っておき、その後必要に応じて GarageBand または Tracktion 7 でプラグイン音色を追加したりミックスダウン編集するということが多い。

第11回MIDI検定1級試験の出願開始

毎年恒例の夏季MIDI検定1級試験の本年度試験日程と出願期間が公表されたので、今年チャレンジされる方はお早めの受験申し込みをお忘れなく。出願開始は明日7月1日からとなっている。

MIDI検定試験1級案内

私が受験・合格した昨年はオリエンタル風味なクラシック調の楽曲で、なおかつかなり音数が少ない課題曲だったので、今年はその反動で音数多めなポピュラーかジャズ曲で攻めてくる可能性が考えられる。そうなった場合、リズム・セクションの打ち込みはコピペが多用できるとしても面倒なことこの上ないため、リズム用のMIDIステップ入力機能を活用するなど省力化の工夫が欠かせないと思われる。

daw-jones.hatenablog.com

言うまでもないことだが、初受験者は必ず過去の課題曲を数曲演習してみることをオススメする。今からだと試験開始日となる8月9日まで1ヶ月程度しか残されていないので、忙しい人だとたぶん1曲しか演習できないかもしれないが、リズム・セクションが入っていて比較的ボリュームの多い、たとえば2017年度や2013年度の楽曲を一つこなしておけば最低限度の下準備にはなるだろうと思う。

daw-jones.hatenablog.com

 

 

敷居が低くなったSysExのメーカーID取得

今月初旬にAMEIから告知があったように、SysExメッセージ中に埋め込まれて用いられることがあるグローバルでユニークなメーカーID (Manufacturer ID Number)取得条件が緩和された。詳細については DTM Station の下記解説記事が参考になると思うが、要するに、メーカーID取得維持専用の廉価なAMEI会員制度が新たに設けられた、ということである。

www.dtmstation.com

SysExが例えば音色設定データのやりとりに利用されているという件に関しては、本ブログでも下記記事で一度取り上げたことがある。

daw-jones.hatenablog.com

音色パラメータ等含めてデバイス設定データのやりとりに関しては、現在改訂途上にある MIDI 2.0 で実装予定の MIDI-CI (Capability Inquiry) が将来的には主流のコミュニケーション方法になると想定されるが、それを使う上でもメーカーIDは必須のデータ項目であることに変わりはないようである(下記強調筆者)。

To implement MIDI-CI and MIDI 2.0, you need a manufacturers SysEx ID. A SysEx ID by itself is $250 a year, but it is included with your MMA membership.

MIDI検定2級で集中的に学習するシステム・メッセージ系統の中でもSysExはやや難解というか、一体何に対してどのように使用されるのか実務経験者以外はイメージが湧きにくい部類の代表格だと思うが、上述の動向などを追っていると自ずとユースケースの実態が浮かび上がってくるのではなかろうか。

Studio One 4.5 新機能とPrime版

先月に中間アップデートにしてはかなり多数の機能改修を実施した Studio One 4.5 であるが、Sleepfreaks の以下紹介記事で要点が簡潔にまとめられていたので、備忘録的に記しておきたい。

その前に。この種の機能改修にはありがちと思うが、5月末に早速バグ・フィックスがリリースされてv4.5.1にアップデートされているので、まだパッチを当てていないユーザはご注意のほどを。

sleepfreaks-dtm.com

なお、上記記事で取り上げられた機能のうちPrime版では未実装であるものは以下の3点で*1、それ以外はPrime版においても反映されていることを自分自身で確認した:

これでプラグインが利用可能であればプロ版はたぶん不要になってしまうだろうが、さすがにそういう愚かなグレード管理はやるわけがない、当然ながら。

*1:改修対象となった機能それ自体がPrime版では利用可能ではないことに注意。

アルゴレイブの世界

先月末にWIREDの記事でアルゴレイブ (algorave) の話題が取り上げられ、はてブ界隈で若干バズっていたので、少し掘り下げて備忘録的に書き記しておきたい。

wired.jp

英文の元記事は2ヶ月前の3月末に公開されていたようだが、ご参考までに。

www.wired.com

早い話が自動作曲をフィーチャーしたライブ・コーディング前提のレイブ・パーティーのことなのだが、なにも今日昨日に始まったというわけではなく、2011年ないし2012頃から徐々に盛り上がり出したムーブメントのようである。実はその背景にある自動作曲奏法の研究自体も結構大昔から現代音楽の一角などで脈々と継承されてきた歴史があり、そのような巨人の肩に乗った成果であることは明らかだろう。近年ではAI/機械学習との結びつきも深い。

en.wikipedia.org

以下は、アルゴレイブ発案者の一人であるMclean博士のインタビュー映像で、一体どんなものなのか手短に概略を把握するにはうってつけである。

www.youtube.com

その他、YouTube上で "algorave" と検索すれば山のようにパフォーマンス映像がヒットするので、つらつら眺めていると生成される楽曲の特徴や会場の雰囲気などを味わうことができると思う。東京でもイベントをやっているようだ。

www.youtube.com

このアルゴレイブには、よく使われるデファクトのツール群があり、プログラミング言語としては TidalCycles が頻繁に使用される。パフォーマンス会場でスクリーンに映されるコードのほとんどは TidalCycles を Atom エディターで編集しているライブ映像である。

肝心の音源については SuperCollider を SuperDirt という wrapper (?) ソフトで起動させ、それを上述の TidalCycles から制御するという環境が一般的なようである。MacだとHomebrewを使ってインストールする方法が一番お手軽であろう。その辺の環境設定周りは以下の記事に詳しい。私も後日自分自身で試してみようと思う。

qiita.com

また上記WIRED記事には書かれていなかったが、この種のライブ・コーディング・パフォーマンスでは、自動生成されたMIDIデータの出力先と音源制御管理のDAWとして Ableton Live がよく援用されるようである。アルゴレイブ用に開発された各種プラグインAbleton Live 専用のものが多いように見受ける。Magentaプラグインはその代表例かと思う。

magenta.tensorflow.org

因みに、美術の世界でもこの種のコーディングをベースとするアルゴリズミックないわゆる generative art のシーンは当然に存在していて、MITが開発したProcessing言語+IDEが標準的な制作ツールとして普及している。

面白いことに、UdemyでProcessingの初級者講座が開講しているようだったので、私は早速enrollしてみることにした。感想などは後日レポートしてみたい。

www.udemy.com