Description
ある日YouTubeを見ているとボタンがいっぱいついたデバイスでライブパフォーマンスをしている動画が目に留まりました。調べてみるとnovation社のLaunchPadというデバイスを使っているようです。これは面白そうと早速入手しましたが、付属しているDAWソフトウェアはプロユースにも対応するレベルのもので、難しくてとても使いこなせません。どうしましょう。そうです。Pythonを使って自分が使いやすいDAWを作ってしまえばいいのです!
Abstract
このセッションでは、Pythonで実装したDigital Audio Workstation(DAW)ソフトウェアを紹介します。このDAWはプロユースや市販のものに比べてれば非常にコンパクトなものですが、音遊びの目的には十分に使えるものです。入力デバイスにはnovation社のLaunchPadを使います。
DAWを作成するためには、音声サンプルデータの読み込み・管理・出力、MIDIデバイスとの通信、リアルタイムイベント管理、ユーザが操作するGUI等、複数のトピックを取り扱う必要があります。DAWというシステム全体を見ると、とても複雑で難しそうに思えますが、構成要素ごとに分解して、1つ1つの部品ごとに実装し、動作を確認しながら徐々に積み上げていく事で、モチベーションを保ちながら、楽しくプログラミングしていけます。
Pythonには豊富なライブラリがあり、また、ドキュメンテーションを大切にする文化があります。本当に難しい部分は、先人スーパーハッカーの手によってほとんど解決されており、これらの成果をすぐに利用できるという非常に大きなアドバンテージがあるのです。そして、一旦部品がそろってしまえば、これらを組み合わせるのはPythonの得意分野。拡張も自由自在です。これは、ちょうど、先人たちの偉大なライブラリを組み合わせて何かを作っていくこととまったく同じことなのです。
LaunchPadは音楽用のデバイスとして開発されていますが、汎用的な入出力装置として、潜在的な高い可能性を秘めています。セッションではこれらの可能性や応用事例についてもお話しできればと思っています。
(LaunchPadとはどういうものかを知りたい方は、YouTubeで検索して動画を見てみてください。きっと興味が沸くと思いますよ!)