『A Study in Keith』は、アンドリュー・ソレンセンによる 即興演奏 による音楽ライブコーディングパフォーマンスである。ライブコーディング [ 1 ] は、オンザフライプログラミング [ 2 ] 、ジャストインタイムプログラミング 、会話型プログラミング とも呼ばれ、プログラミングを実行中のプログラムの不可欠な部分とします[ 3 ] 。
ライブコーディングは、ソースコード の記述と即興的な 方法でのインタラクティブプログラミング の使用を中心としたパフォーマンスアートの 形式および創造性テクニック として最も顕著です。ライブコーディングは、サウンドと画像ベースのデジタルメディア 、ライトシステム、即興ダンス 、詩の作成によく使用されますが、[ 4 ] [ 5 ] 特にコンピュータ音楽 では即興として普及しており、アルゴリズム作曲 と組み合わせることもできます。[ 6 ] 通常、ソースコードを書くプロセスは、観客スペースにコンピュータ画面を投影することで可視化され、コードを視覚化する方法は現在活発に研究されている分野です。[ 7 ] ライブコーディングのテクニックは、映画のサウンド制作[ 8 ] やインタラクティブアートインスタレーションのオーディオビジュアル作品[ 9 ] など、パフォーマンス以外でも使用されています。また、コンピュータ間の相互接続により、この実践をグループでネットワーク化して実現することが可能になります。
ライブコーダー とは、ライブコーディングを行う人のことで、通常は「コーディングを学びたいアーティストや自己表現をしたいコーダー」[ 10 ] 、あるいはWangとCookの言葉を借りれば「プログラマー/パフォーマー/作曲家」[ 2 ]である。
ライブコーディングは、プログラミング関連の講義や学会発表でもますます人気が高まっている手法であり、マーク・グズディアル はコンピュータサイエンスの講義における「ベストプラクティス」と評している。[ 11 ]
テクニック ライブコーディングの目的のために、さまざまな技術が開発され、活用されてきた。
時間の表現と操作 時間ベースのメディアとコードとのライブインタラクションの特有の機能により、プログラミング言語設計において数多くの斬新な開発と利用が実現しました。命令型サブシステムと宣言型サブシステムの相互埋め込みにより、プログラミング言語SuperCollider [ 12 ] は、実行時に書き換え可能な不完全で暫定的な仕様を可能にするライブラリの構築を可能にしました。[ 13 ]
ChucK言語は 2002年に「厳密なタイミング」プログラミングへのアプローチを導入し、簡潔な構文を通して制御フローに高精度なタイミングを組み込んだ。
「時間的再帰」という用語は、当初Impromptu プログラミング環境に関連して造語されました。プログラミング環境内の技術要素は、圧縮器や再帰ソリューションを探し続けていますが、タイミングが大きな問題でした。時間的再帰の一般的な形式は、時間を通しての非同期関数の再帰であり、あらゆるイベント駆動システムで利用可能ですが、Impromptu はこの特定の設計パターンに特に重点を置き、[ 14 ] このプラットフォームの並行性アーキテクチャの中心に据えています。時間的再帰はSuperColliderで繰り返し使用され、その後 Fluxus 環境にも実装されました。
時間の表現に対する別の関数的アプローチは、Tidal パターンDSL [ 15 ] に示されており、これは関数型リアクティブ プログラミングの手法 [ 16 ] と同様に、時間の関数上で動作するコンビネータとしてパターンを表現します。
マルチユーザープログラミングと共有メモリ マルチユーザープログラミングは、グループ音楽制作の文脈で発展しており、ネットワークバンドPowerBooks Unpluggedのメンバーによって開発および使用されている Republic システムの長期的開発を通じて発展してきました。[ 17 ] Republic は SuperCollider 言語に組み込まれており、参加者がコンピュータのネットワーク全体に分散されたライブコードを共同で記述できます。Impromptu 言語で使用される分散タプル空間など、他の言語でも同様の取り組みがあります。[ 18 ] さらに、Overtone、Impromptu、Extempore はマルチユーザーセッションをサポートしており、任意の数のプログラマがネットワークを介して特定のランタイムプロセスに介入できます。[ 19 ] グループでコードを書くという実践は、ローカルネットワークを介して同じ部屋で行うことも、共通のサーバーにアクセスしてリモートの場所から行うこともできます。ラップトップバンド、ラップトップオーケストラ、共同ライブコーディング、集合ライブコーディングなどの用語は、ローカルまたはリモートの両方の方法でネットワークライブコーディングの実践を枠付けるために使用されます。
組織 TOPLAP(ライブ(アルゴリズム、オーディオ、アート、芸術)プログラミングの(促進、普及、永続性、純粋性)のための(一時的、国際的、地上的、次元的)組織)は、ライブコーディング環境を中心に形成されたさまざまなコミュニティをまとめるために、2004年2月に結成された非公式組織です。[ 20 ] TOPLAPマニフェストでは、TOPLAP準拠のパフォーマンスに関するいくつかの要件が主張されており、特にパフォーマーのスクリーンは隠さずに投影されるべきであるとされています。[ 21 ]
2020年から2022年にかけて、オンザフライ方式でライブコーディングの実践が促進されました。これは、欧州クリエイティブ・プログラムの共同出資を受け、Hangar、ZKM、Ljudmila、Creative Code Utrechtで実施されたプロジェクトです。[ 22 ]
研究 ライブコーディングを探求するために、多くの研究プロジェクトや研究グループが設立され、人文科学と自然科学を結びつける学際的なアプローチが取られることが多い。ライブコーディングシステムの開発と、この新興分野をより広範な理論的文脈に組み込むための最初の試みは、ドイツ研究振興協会 から資金提供を受けた2005年から2008年の研究プロジェクト「ハイブリッドネットワークにおける芸術的インタラクティビティ」で行われた。[ 23 ]
さらに、ライブコーディング研究ネットワークは、2014年2月から2年間、英国芸術人文科学研究評議会 から資金提供を受け、シンポジウム、ワークショップ、国際ライブコーディング会議(ICLC)と呼ばれる年次国際会議など、さまざまな活動を支援しました。[ 24 ]
関連項目 アルゴレイヴ ― 音楽や映像がアルゴリズムによって生成されるイベントで、一般的にはライブコーディングが行われる。デモシーン ― コーディングを用いたオーディオビジュアルプレゼンテーション(デモ)を中心としたサブカルチャー探索的プログラミング ― ソフトウェアの要件と構造を理解するための手段としてソフトウェアを構築する手法対話型プログラミング ― ソフトウェア開発においてライブコーディングを用いるプログラミング手法NIME ― 音楽技術の進歩に関する学術的・芸術的な会議。ライブコーディングパフォーマンスや研究発表が行われることもある。クリエイティブコーディング ― 表現力豊かなものを作り出すためのプログラミング手法
参考文献 ↑ Collins, N., McLean, A., Rohrhuber, J. & Ward, A. (2003), "ラップトップパフォーマンスにおけるライブコーディング", Organised Sound 8(3): 321–30. doi : 10.1017/S135577180300030X 1 2 Wang G. & Cook P. (2004)「オンザフライ・プログラミング:表現力豊かな楽器としてのコードの使用」、『2004年国際音楽表現のための新しいインターフェース会議(NIME)議事録』 (ニューヨーク:NIME、2004年)。 ↑ Alan Blackwell、Alex McLean、James Noble、Jochen Otto、Julian Rohrhuber、「ライブコーディングによるコラボレーションと学習(Dagstuhl Seminar 13382)」、Dagstuhl Reports 3(2014)、第9号、130~168ページ。 ↑ Magnusson, T. (2013). The Threnoscope. A Musical Work for Live Coding Performance . In Live 2013. First International Workshop on Live Programming. ↑ 「テクノロジーの知識:プログラミングと音楽の出会い」 。BBCニュース。2009年8月28日。 2010年3月25日 閲覧 。 ↑ Collins, N. (2003) " Generative Music and Laptop Performance Archived 2014-05-14 at the Wayback Machine ", Contemporary Music Review 22(4):67–79. ↑ McLean, A., Griffiths, D., Collins, N., and Wiggins, G. (2010).ライブコードの可視化. 『Electronic Visualisation and the Arts London 2010』所収。 ↑ Rohrhuber, Julian (2008). Artificial, Natural, Historical in Transdisciplinary Digital Art. Sound, Vision and the New Screen (PDF) . Springer Berlin Heidelberg. pp. 60–70 . ↑ 「Universal EverythingとField.ioによるCommunion:インタビュー」 。2011年5月24日。 2013年 2月5日 取得 。 ↑ Bell, Sarah. 「ライブコーディングがプログラミングに命を吹き込む - Alex McLean 氏へのインタビュー」 . 英国科学協会 . 2016 年 3 月 2 日 に取得. ↑ Guzdial, Mark (2011年8月) 「Pythonで計算物理モデルを構築する際に学生が間違える点:Cabellero論文パート2」 。 2013年 2月5日 取得 。 ↑ James McCartney (1996)、「SuperCollider: 新しいリアルタイム合成言語」、ICMC Proceedings、1996年。 ↑ Julian Rohrhuber、Alberto de Campo、Renate Wieser (2005)、「今日のアルゴリズム - ジャストインタイムプログラミングのための言語設計に関する注記」、国際コンピュータ音楽会議(バルセロナ)議事録、ICMC、2005年、pp. 455–458。 ↑ Sorensen, A & Gardner, H (2010) 「」、ACM Splash Conference 2010 論文集 ↑ McLean, Alex (2014). 「踊るためのプログラミング言語を作る:Tidal を使ったライブコーディング」。 第 2 回 ACM SIGPLAN 機能芸術、音楽、モデリング、デザインに関する国際ワークショップの議事録 (PDF) 。ヨーテボリ。 {{cite book}}: CS1メンテナンス: 場所の発行元が見つかりません (リンク)↑ McLean, Alex (2013-08-02). "Tidal ホームページ" . Alex McLean . ↑ Rohrhuber, J., A. de Campo, R. Wieser, J.-K. van Kampen, E. Ho, and H. Hölzl (2007). Purloined letters and distributed persons Archived 2016-03-03 at the Wayback Machine . In Music in the Global Village Conference 2007. ↑ Sorensen, A. (2010).ネットワークライブコーディングパフォーマンスのための分散メモリ. 国際コンピュータ音楽会議2010論文集。 ↑ Sorensen, A. (2005). Impromptu : 作曲と演奏のための対話型プログラミング環境、オーストラリアコンピュータ音楽会議2005論文集 ↑ Ward, A., Rohrhuber, J., Olofsson, F., McLean, A., Griffiths, D., Collins, N., and Alexander, A. (2004). Live algorithm programming and a temporary organisation for its promotion . In Goriunova, O. and Shulgin, A., editors, read_me - Software Art and Cultures. ↑ 「マニフェスト草案 」 。Toplap.org 。 ↑ 「 オンザフライプロジェクト」 。onthefly.space 。 ↑ 「ハイブリッドネットワークにおける芸術的インタラクティビティ」(2016年)--- Wayback Machineアーカイブ ↑ 「ライブコーディングネットワーク 」 。Gtr.ukri.org 。
さらに読む アンドリュース、ロバート。「リアルDJがライブでコードを書く」。Wired (オンライン)、2006年3月7日。 Brown, Andrew R.「コードジャミング」M/C Journal 9/6(2006年12月)。 マグヌソン、トール。「猫の群れを追う:野生でのライブコーディングの観察」『コンピュータミュージックジャーナル』2014年春号、第38巻、第1号、8~16ページ 。 ラムゼイ、スティーブン。「アルゴリズムは思考であり、チェーンソーは道具である」。クリティカル・コード・スタディーズ・ワークショップ、2010年3月。ライブコーディングとTOPLAPマニフェストに関する短編映画。 ソレンセン、アンドリュー、ヘンリー・ガードナー。「時間を使ったプログラミング:Impromptuによるサイバーフィジカルプログラミング」。2010年9月22日。 カロライナ州ディ・プロスペロ。 「ライブコーディング。プロセス全体の計算技術。」コンテニード。 Arte、Cultura y Ciencias Sociales 2015、Vol. 5、5–19ページ 。 ICLC 2015。「第1回ライブコーディング国際会議議事録」。英国リーズ。
外部リンク TOPLAP公式サイト /*vivo*/ ライブコーディングに関するシンポジウム ライブコードリサーチネットワーク ライブコーディングに関する国際会議