この講義では、p5.jsを使用してコードによるデザインを行います。その最初の一歩として、コードによって「かたち」を描くにはどうすれば良いのか考えていきます。
まず始めに、1950年代〜70年代の、コンピューター黎明期から発展期におけるコード(プログラム)による様々な視覚表現について紹介します。過去の作家がどのようなアイデアで、何を表現しようとしてきたのか、その歴史を辿ります。
後半は、そうした歴史を踏まえた上で、 p5.js 実際に図形を描いていきます。まずp5.js の操作基本を解説し、簡単な図形を描きながらp5.jsでのプログラミングの基本を学びます。
スライド資料
アンケート
本日の講義に参加した方は下記のアンケートに回答してください。
スライド
自己紹介 – 簡単なこれまでの経歴
田所がこれまでどのような経緯で現在に至っているのか簡単に紹介します。
これまで何をしてきたのか。だいたい10年ごとに変遷。
1990s : Computer Music
2000s : Creative Coding
2010s : Audio Visual
現在 : Live Coding, Media Art (Installation)
Computer Music
1990年代、コンピュータ音楽の研究と創作
プログラミングで波形単位で音響生成
当時はリアルタイムに合成するのはマシンパワー的に無理
ノンリアルタイムにレンダリングしてミックスしてテープ(DAT)に録音
Transition (for tape) 1996https://soundcloud.com/tadokoro/transition
CLM (Common Lisp Music)
当時使用していたコンピュータ音楽のためのプログラミング環境
Lispを使用して楽器を定義して演奏
(definstrument simp (start-time duration frequency amplitude)
(let* ((beg (floor (* start-time *srate*)))
(end (+ beg (floor (* duration *srate*))))
(j 0))
(run
(loop for i from beg below end do
(outa i (* amplitude (sin (* j 2.0 pi (/ frequency *srate*)))))
(incf j)))))
(with-sound () (simp 0 0.25 440.0 0.2))
当時使用していたハードウェア: NeXT Computer
Creative Coding
2000年代くらいからは「クリエイティブ・コーディング」の世界へ
Processingクリエイティブ・コーディング入門 : コードが生み出す創造表現
Beyond Interaction[改訂第3版] クリエイティブ・コーディングのためのopenFrameworks実践ガイド
Audio Visual
ここまでの経験
音と映像を融合した表現へ
音響 → 映像
映像 → 音楽
相互に関連していく表現
Atsushi Tadokoro ( 田所 淳 ) Live at “On Site”, Taipei (2012)
Live Coding
Live Codingとは?
最近のライブの様子
NxPC.Live vol.68 @Circus Tokyo
演奏するプログラミング、ライブコーディングの思想と実践 ―Show Us Your Screens
Installation
Disenchantment Space (2017) @ Ars Electronica
オーストリアリンツのArs Electronica Center Deep Space 8Kで展示
Photo
個展 : 100 fragments, 2018. 3.23 – 4.21, ART & SCIENCE Lab. AXIOM
Video
Photo
2019.2.23 – 3.3 Media Ambition Tokyo
photo
松戸科学と芸術の丘
Video
TAxT Taoyuan Art and Technology Festival 2022
まとめ
興味のあることをやっていたら、いろいろ機会に恵まれた
他人の評価はあまり気にしない
続けることが大事!
billboardExample
今回からいよいよopenFrameworksを使用してクリエイティブコーディングを始めていきます。
まず前半は、実際にコーディングを始める前に、openFrameworksとは何なのか、その開発の歴史と開発環境の特徴などを簡単に解説していきます。後半は、開発環境のセットアップが正しく完了しているか確認するために、付属するサンプルファイルをビルド (コンパイル) して、openFrameworksで作成したアプリケーションが起動するか確認していきます。
スライド資料
アンケート
本日の講義に参加した方は以下のアンケートに答えてください。
Photo: @hiro_shirato
本日の演習では、音楽とプログラミングが交差する「ライブコーディング」を体験的に学びます。前半は、コードをリアルタイムに書き換えながら音や映像を生成し、その過程を観客と共有する即興表現としてのライブコーディングを取り上げます。Algorave の実例や国内外アーティストの映像・テキストを参照し、歴史的展開、コミュニティ文化、舞台演出の特徴を多角的に解説します。後半はブラウザだけで動作する Strudel を起動し、パターン言語の基本文法、リズム生成、サンプル再生・選択を段階的に体験し、最終的に約 3 分のパフォーマンスを各自で構築して発表します。コードを「演奏可能な思考」として捉え、コードによる構造の構築と音のフィードバックの循環を体感しましょう。
スライド資料
参考映像
VIDEO
Algorave Generation | Resident Advisor
VIDEO
16 Legendary Beats – A short history of the 808 Drum Patterns Explained
VIDEO
A short history of the 909 in 16 songs from TECHNO and HOUSE to POP | Drum Patterns Explained
VIDEO
Jeff Mills Exhibitionist 2 Mix 3
サンプルコード
/* -------------------------------
*
* Strudel (https://strudel.cc/)
* ライブコーディングのサンプルコード
* リズム編
* -------------------------------
*/
// 最初の音
$: s("cp")
// 別の音
$: s("bd")
// リズムの基本
$: s("bd hh sd oh")
// 沢山の音を演奏
$: s("bd bd hh bd rim bd hh bd")
// テンポを変化
$: s("bd bd hh bd rim bd hh bd").cpm(40)
// 休符
$: s("bd hh ~ rim")
// サブシーケンス
$: s("bd [hh hh] sd [hh bd]")
// かけ算 (スピードアップ)
$: s("bd hh*2 rim hh*3")
// サブシーケンスのかけ算
$: s("bd [hh rim]*2")
// 高速かけ算
$: s("bd hh*16 rim hh*8")
// パラレルに演奏
$: s("hh hh hh, bd cp")
// パラレルに演奏2
$: s("hh hh hh, bd bd, ~ cp")
// パラレルに演奏3
$: s("hh hh hh, bd [bd,cp]")
// ドラムセットを切り替える
$: s("bd hh sd oh").bank("tr909")
$: s("bd hh sd oh").bank("tr808")
// ポリリズム
$: s("rim*4, hh*5")
$: s("bd ~ rim ~, bd hh*2 hh ~ hh*2")
$: s("bd*5, rim hh hh ~ rim hh <hh*2 hh> ~")
// ポリミーター
$: s("{bd sd bd hh, bd rim cp hh hh}")
$: s("{lt*5, ht*4}")
// ユークリッドリズム
$: s("bd(3, 8), hh(9, 16)")
$: s("bd(3, 7), hh(9, 14, 5), cp(5, 7, 2)")
// 複数のシーケンスを同時に演奏
$: s("bd cp [~ bd] <hh*4 cp*2 [~ sd]*2>")
$: s("bd(4, 8), hh(5, 8, 1)")
.bank("RolandTR909")
$: s("supersaw(11, 16)")
.note("{c3 f3 g3 c2}%22, <c4 b4>".add("[0, 12]"))
アンケート
本日のアンケート
本日の講義では、TouchDesignerの画像処理を担当するオペレーターファミリー「TOP (Texture Operators)」の基本的な使い方を学びます。画像のエフェクト、切り替え、フィードバック、タイリングといった基本的な画像処理テクニックを習得し、表現の幅を広げましょう。
スライド資料
前回の復習
前回は「バナナを回転させる」という簡単なプログラムを作成しました。Movie File In TOP でバナナ画像を読み込み、Transform TOP で回転のアニメーションを設定し、Circle TOP で作成した円と Over TOP で合成しましたね。実際にパッチング(オペレーターを繋いでいく作業)をしながら、基本的な操作方法を復習していきましょう。
VIDEO
完成例
前回の内容を発展させた完成例です。基本的な回転に加えて、背景なども追加されています。
ダウンロード 完成例のファイル(.toe)をダウンロードして、TouchDesignerで開いてみてください。どのように作られているか、中身を確認できます。
ここからさらに発展!
前回の復習で作成した「回転するバナナ」をベースに、さらにTOPを使った画像処理を加えて表現を豊かにしていきます。以下の動画で解説されている内容を参考に、様々なTOPオペレーターを使ってみましょう。
VIDEO
完成イメージ
発展させた最終的な完成イメージです。様々なエフェクトが追加されているのが分かります。
ダウンロード こちらもダウンロードして、どのようなオペレーターがどのように接続されているか確認してみましょう。
TOPによる画像処理
ここからは、今回の講義のメインテーマであるTOPを使った画像処理について詳しく学んでいきます。TOPはTexture Operatorsの略で、TouchDesignerで画像や映像を扱ったり、加工したりするためのオペレーター群です。
画像処理を行うためのTOP
TouchDesignerには、入力された画像に対して様々な効果を加えるためのTOPが豊富に用意されています。いくつか代表的なものを紹介します。
Edge TOP: 画像の輪郭(エッジ)を検出します。イラストのような表現や、特定の形状を抽出したい場合に便利です。
Blur TOP: 画像にぼかし効果を加えます。ぼかしの強さや方向などを調整できます。
Bloom TOP: 画像の明るい部分を滲ませ、光り輝いているような効果(ブルーム効果)を作り出します。幻想的な表現に適しています。
Level TOP: 画像の明るさ、コントラスト、ガンマなどを調整します。色調補正の基本的なオペレーターです。
Emboss TOP: 画像に凹凸があるような、浮き彫り風の効果を加えます。
これらのTOPは、オペレーターパレット(Tabキーで表示)のTOPタブから作成できます。入力(左側の接続点)に画像データを持つTOPを接続し、パラメータウィンドウで効果の具合を調整します。実際にいくつか試して、どのような効果が得られるか確認してみましょう。
TOPを切り替える
複数の画像や、異なる画像処理を施した結果を、状況に応じて切り替えたい場合があります。そのような時に使うのがSwitch TOPです。
Switch TOP: 複数のTOP入力を受け取り、指定した一つの入力だけを出力します。パラメータの「Index」を変化させることで、どの入力を選択するかを切り替えることができます。例えば、異なるエフェクトをかけた結果を比較したり、インタラクションに応じて表示する映像を切り替えたりする際に使用します。
フィードバック効果
映像表現でよく使われる「フィードバック」効果を作成するための専用TOPもあります。
Feedback TOP: 前のフレーム(ほんの少し前の時間)の出力結果を、現在のフレームの処理に利用することで、残像や映像が無限に続くような効果を作り出します。 接続のポイント: Feedback TOPの接続は少し特殊です。通常、処理ループの最後にFeedback TOPを配置し、そのFeedback TOPをループの最初(フィードバックさせたい入力)にドラッグ&ドロップして参照させます。ループ内にはLevel TOPなどを入れてフィードバックの強さ(透明度など)を調整したり、Add TOPやOver TOPで元の画像と合成したりすることが一般的です。 実際に作成しながら、この少し複雑な接続方法と、それによって生まれるユニークな表現を体験してみましょう。
タイリング
画像をタイル状に並べてパターンを作成したい場合にはTile TOPを使用します。
Tile TOP: 入力された画像をタイル状に敷き詰めます。並べ方(繰り返し、反転、回転など)や、タイルの数などをパラメータで細かく設定できます。万華鏡のような表現や、テクスチャパターンを作成するのに便利です。
TOPの基本を使用したプログラム例
ここまで紹介したTOPオペレーター(Edge, Blur, Level, Switch, Feedback, Tileなど)を組み合わせて作成したサンプルプログラムです。
ダウンロード ダウンロードして、各オペレーターがどのように連携して最終的な映像を作り出しているかを確認してください。
TOPの基本を使用したプログラム例 02
さらにパラメータを調整したり、別のTOPを追加したりして、より複雑でダイナミックな変化を持つようにした例です。
ダウンロード 少しの変更で大きく表現が変わることを体験してみてください。
本日の課題
課題: ノイズで遊ぼう!
今回の課題では、Noise TOP を使って自由に表現を試みます。Noise TOP は、プログラムによって様々な種類のノイズ(ランダムで有機的なパターン)を生成することができる非常に強力なオペレーターです。パラメータを調整するだけで、雲、水面、炎、地形のような多種多様なテクスチャやアニメーションを作り出すことができます。
まずは以下の基本的なサンプルプログラムをダウンロードし、これを改造しながら自分だけの「ノイズ作品」を制作してみてください。
TouchDesignerの操作に慣れるためには、とにかくいろいろ試してみることが重要です。難しく考えず、まずはパラメータを触ってみて、変化を観察することから始めましょう。その上で、以下のような点を意識して試行錯誤してみてください。
参考資料
これらの資料は、ノイズ、特にNoise TOPで使われているパーリンノイズというアルゴリズムについて理解を深めるのに役立ちます。
基本: 使用されているオペレータのパラメーターを変化させてみる
サンプルプログラムで使われている主要なオペレーターのパラメータをいろいろ変更してみましょう。
Noise TOP (noise1): このネットワークの中心となるオペレーターです。
Period(周期): ノイズの細かさ、スケール感を調整します。値が小さいほど細かいノイズになります。
Harmonics(高調波): ノイズの複雑さを調整します。値を大きくすると、より詳細で複雑なパターンになります。
Type(種類): 生成するノイズのアルゴリズムを選択します。Perlin, Simplex, Randomなど、種類によって見た目が大きく変わります。色々試してみましょう。
TransformタブのTranslate/Rotate/Scale: ノイズを時間経過で動かしたり(Translate Zに absTime.seconds などのエクスプレッションを入れる)、回転させたり、拡大縮小したりできます。
…など、他にもたくさんのパラメータがあります。気になるものを触ってみましょう。
LFO CHOP (lfo1): 時間と共に周期的な値(波形)を生成するCHOP (Channel Operator) です。この値を使って他のオペレーターのパラメータを動かします。
Frequency(周波数): 値が変化する速度を調整します。大きいほど速く変化します。
Type(波形タイプ): Sine(サイン波)、Triangle(三角波)、Square(矩形波)など、値の変化パターンを選択します。
Amplitude(振幅): 値が変化する範囲(大きさ)を調整します。
…など。このLFO CHOPの出力をNoise TOPのパラメータ(例えば Amplitude)にエクスポート(ドラッグ&ドロップ)して、ノイズの明るさを時間で変化させる、といった使い方ができます。
HSV Adjust TOP (hsvadj1): 色相(Hue)、彩度(Saturation)、明度(Value/Brightness)を調整して、画像の色味を変更するTOPです。
Hue Offset: 全体の色相をシフトさせます。値を変化させると色が循環するように変わります。
Saturation Multiplier: 彩度を調整します。0にするとグレースケールになります。
Value Multiplier: 明るさを調整します。
…など。Noise TOPで生成したモノクロのノイズに色を付けたり、色を時間変化させたりするのに使えます。
応用: オペレーターを追加してみる
基本操作に慣れてきたら、新しいオペレーターを追加して、さらに複雑な表現に挑戦してみましょう。
Noise TOPにNoise TOPを接続する: Noise TOPの出力を別のNoise TOPの第二入力 (Noise Coordinate Map) に接続すると、一方のノイズで他方のノイズパターンを歪ませるような、非常に面白い効果が得られます。
HSV Adjust TOPの前後に別のTOPを追加する: 例えば、Noise TOPとHSV Adjust TOPの間にBlur TOPを入れてノイズをぼかしたり、HSV Adjust TOPの後にBloom TOPを追加して光らせたり、Edge TOPで輪郭抽出してから色付けするなど、エフェクトを重ねてみましょう。
LFO CHOPを追加して他のパラメータに参照させてみる: 新しいLFO CHOPを作成し、その値をNoise TOPの回転パラメータやHSV Adjust TOPの色相パラメータなどにエクスポートして、より複雑なアニメーションを作成してみましょう。
…など、自由な発想でオペレーターを繋ぎ変えてみてください。思わぬ発見があるかもしれません。
ノイズを使用した作品例 1
内容: Noise TOPを二つ重ね(一つはパターン生成、もう一つは歪み用)、さらにBloom TOPで発光効果を追加した例です。
ダウンロード
ノイズを使用した作品例 2
内容: Noise TOPにTile TOPを組み合わせて、万華鏡のような繰り返しパターンを生成した例です。色の変化も加えられています。
ダウンロード
実習!
それでは、実際にNoise TOPを使って、自分だけのオリジナル作品を制作してみましょう! まずは基本サンプルを改造することから始め、慣れてきたら自由にオペレーターを追加・接続してみてください。
目標: Noise TOPを中心に、学んだ各種TOP(Blur, Level, Bloom, Feedback, Tile, HSV Adjustなど)やCHOP(LFOなど)を組み合わせて、面白い、あるいは美しいと感じる映像表現を試みること。
発表: 講義の最後の40分程度で、皆さんが作成した作品を一人ずつ発表してもらいます。完成していなくても構いませんので、どのような試行錯誤をしたか、どこが面白いと思ったかなどを共有しましょう。
分からないことがあれば、遠慮なく質問してください。試行錯誤を楽しんでください!
アンケート
本日の講義に参加した方は以下のアンケートに答えてください。
今回はまずCreative Codingについて解説していきます。Creative Codingとはコンピュータプログラミングの一種で、プログラミングによって機能の実現ではなく何かを表現することを目的とするものです。画像、アニメーション、映像、音響、音楽、3Dグラフィックなど様々な手段を用いて表現します。Creative Codingのための様々な開発環境が存在します。まずそれらの簡単な歴史と関連について説明していきます。
後半は、この授業で主に扱っていくp5.js の開発環境を構築します。Visual Studio Code にp5.jsの開発のための機能拡張をインストールしていきます。環境構築が完了したらVisual Studio Codeを用いたp5.jsの開発のやり方について実際にコーディングしながら解説します。
スライド資料
環境設定
Visual Studio Code + Github Copilotによるp5.jsの最強開発環境を構築します!
1. Visual Sutudio Codeのインストール
Visual Studio Codeのページ からインストーラーをダウンロードしてインストールします。
2. Visual Studio Codeに必要な拡張機能を追加
Visual Studio Codeのインストールが完了したら、以下の拡張機能をどんどん追加していきます!
3. Githubにユーザー登録
Githubにユーザー登録します。下記のページを参考にしてください。
4. Github Copilot Freeプランの導入
下記のページにアクセスします。
画面をスクロールしていって下記の画面の「Open in VS Code 」をクリックします。
アンケート
本日の講義に参加した方は以下のアンケートに答えてください
初回となる今回の講義は、まずこの「システム生体プログラミング特論」ではどんな内容を取り扱っていくのかを解説し、履修のための条件などについて説明します。成績の基準についても説明します。
後半は、まず始めに何故プログラミングが必要なのかをCasey Reasによる “History of the Future, Art & Technology from 1965 – Yesterday ” の講演を参考にしながら解説していきます。さらにこの講義で扱う「クリエイティブコーディング」とは何か、その概要を紹介していきます。
スライド資料
アンケート
本日の講義についてのアンケートに答えてください。
次週までの課題
次週までに、各自のノートPCに以下に指示されているプログラミング開発環境をインストールしてきてください。
1. 統合開発環境 (IDE)
Windows
Visual Studio IDEからCommunity 2022をダウンロード
以下の設定でインストール
macOS
Application > AppStoreを起動
検索欄でXcodeで検索
表示されたページで「Install」ボタンを押してインストール
2. openFrameworks
現時点での最新版のver. 0.12.0 をダウンロードしてZipフィアルを展開しておいてください。
openFrameworks > Download
Windows + Visual Studio
Visual Studio用のopenFrameworksをダウンロード
“Windows download openFrameworks for” の下の “visual studio” をクリック
macOS + Xcode
Xcode用のopenFrameworksをダウンロード
“OSX download openFrameworks for” の下の “osx” をクリック
ダウンロードしたファイルを展開して 、書類フォルダなどに入れておいてください。※ Zip圧縮したままの状態だと使用できないので注意!
スライド資料 (PDF)
PAとは「Public Address」の略称であり、日本語では「大衆伝達」を意味します 。これは、人の声や楽器の音、録音された音源などの音量を増幅し、本来の音量では届かないような距離や広い範囲にいる聴衆に対して、十分に聞き取れるように伝達するための電子音響システムを指します 。この「パブリック(大衆)」に向けて「アドレス(伝達)」するという名称自体が、個人的な聴取やスタジオ録音とは異なり、不特定多数への情報伝達というシステムの核となる機能を示唆しています。
基本的なPAシステムは、音を入力するためのマイクロホン、信号を増幅するためのアンプ、そして音を出力するためのスピーカー(ラウドスピーカー)という3つの主要な要素と、それらを接続・調整するためのミキサーやケーブルなどの関連機器で構成されます 。
一般的なポータブルBluetoothスピーカーなどが主に録音済みの音源(ストリーミング音楽など)を再生する目的で使われるのに対し、PAシステムはより高度な機能を有します 。特に、複数のマイクロホンや楽器、再生機器など、様々な音源からのライブサウンドを同時に処理し、それらを混合(ミキシング)し、バランスを調整した上で増幅し、一つのまとまった音として出力できる点が大きな違いです 。この複数のライブ音源と録音音源を統合的に扱える能力が、PAシステムを単なる再生装置と一線を画す重要な特徴です。
I. PAシステムとは何か
A. 「パブリック・アドレス(Public Address)」の定義
PA: “Public Address” の略、「大衆伝達」
目的: 音を増幅し、広い範囲の聴衆へ聞き取りやすく伝達するシステム
基本構成: マイク → ミキサー → アンプ → スピーカー (+ケーブル等)
特徴: 複数のライブ音源と録音音源を同時に処理・調整して出力可能
B. 主な目的:音を明瞭に、聞き取りやすく届けること
基本目的: 音量を増大させ、遠くまで届ける
スピーチ: 明瞭で理解しやすい音声伝達が最重要
役割: 音の自然な減衰や環境騒音を克服
別名: サウンド・リインフォースメント(音響補強)システム
C. 用途と適用例
音響増幅が必要なあらゆる公共の場で活用
拡声: スピーチ、講演、アナウンス、プレゼン、店頭販促
音楽: カフェライブから大規模コンサート、DJ、カラオケまで
その他: BGM再生、実況放送、案内放送、構内放送、緊急警報
進化: シンプルな拡声から複雑なライブ、ネットワーク利用まで多様化
II. PAシステムの基本原理
A. 音の旅:シグナルチェーン(信号経路)
プロセス: 音響エネルギー → 電気信号 → 調整・増幅 → 音響エネルギー
基本経路: マイク → ミキサー → パワーアンプ → スピーカー
各段階:
入力 (マイク、楽器): 音波を電気信号に変換
混合・調整 (ミキサー): 信号を集約、バランス・音質調整
増幅 (アンプ): 信号を増幅しスピーカー駆動力を得る
出力 (スピーカー): 電気信号を音波に再変換
重要性: 経路理解は音質向上、トラブルシューティングに不可欠
シグナルチェーン
B. ゲイン構造の理解:明瞭さのためのレベル設定
ゲイン構造: 各段階での増幅レベル(ゲイン)の適切な管理
目的: ノイズ・歪み最小化、最高音質 (高S/N比、広ダイナミックレンジ) 実現
レベル調整:
低すぎ: ノイズ増幅
高すぎ: クリッピング (歪み)
重要ポイント:
入力ゲイン (プリアンプ): 最重要。適正レベルへ増幅
チャンネルフェーダー: 音量バランス調整
マスターフェーダー: 全体レベル調整
アンプ入力感度: ミキサー出力との整合
影響: 不適切なゲイン構造はノイズ、歪み、ハウリングの原因に
C. フィードバック(ハウリング)の抑制
ハウリング: スピーカー音→マイク→増幅→スピーカー…のループで発生する発振音
発生条件: ループゲインが1 (0dB) 以上になること
影響要因: マイク/スピーカー位置関係、音量、部屋の音響、マイク指向性等
基本対策:
ゲインを下げる
マイク/スピーカーの位置・向き調整
指向性の強いマイク使用
イコライザー(EQ)でハウリング周波数をカット (一般的)
本質: システムと空間の相互作用による物理現象。多角的アプローチが必要。
D. 基本的な音響の概念:増幅と音の放射
音 (音波): 空気の振動
振幅 → 音量 / 周波数 → 音程
増幅: 電気信号のパワーや振幅を増加させること
音の放射 (スピーカー): 電気信号を音波に変換し空間へ放射
ホーン/ウェーブガイド: 指向性を制御し、音を特定範囲に集中
ラインアレイ: 複数ユニット垂直配置。干渉利用で指向性制御。遠達性向上
スピーカー技術: 音響物理学応用で、距離減衰等を克服し効率的に音を届ける。
音: 音波と波形
III. PAシステムの主要コンポーネント
A. マイクロホン:音源の捉え方
役割: 音波を電気信号に変換。システムの「入り口」。
主なタイプ:
ダイナミック: 頑丈、大音量向き、電源不要多。ライブボーカル等。
コンデンサー: 高感度、高音質、電源必要。ボーカル、楽器録音等。
選択: 音源、環境、音質で決定。形状も多様。
ダイナミックマイク(左)とコンデンサーマイク(右)
B. ミキサー:コントロールの中心
役割: 複数入力信号を混合・調整 (音量、音質、定位等) し出力。システムの「司令塔」。
主な機能: プリアンプ、EQ、フェーダー、AUXセンド等。
種類:
アナログ: 直感的。
デジタル: 多機能、小型、設定保存可能。
パワードミキサー: アンプ内蔵、構成シンプル化。
パワードミキサー
アナログミキサー
デジタルミキサー
デジタルミキシングコンソール
C. アンプ:信号の増幅
役割: ラインレベル信号を増幅し、スピーカー駆動電力を供給。
形態:
パワーアンプ (単体): 増幅特化。パッシブスピーカーに必要。
パワードミキサー内蔵アンプ。
パワードスピーカー内蔵アンプ。
選定: 出力(W)とスピーカー仕様(Ω)の適合確認。
パワーアンプ
D. スピーカー:音の出口
役割: 増幅された電気信号を音波に再変換。システムの「出口」。
主なタイプ:
パッシブ: アンプ非内蔵。外部アンプ必要。組み合わせ自由度高。
アクティブ (パワード): アンプ内蔵。セットアップ簡単。近年主流化。
役割に応じた種類:
メイン (FOH): 客席向け。
モニター: ステージ上、演者向け。
設計: ユニット構成 (2ウェイ等)、エンクロージャー形式、音響設計 (ホーン、ラインアレイ等)。
アクティブスピーカーとパッシブスピーカー
ラインアレイスピーカー
E. ケーブルと接続:重要な生命線
役割: コンポーネント間を接続し信号・電力を伝送。信頼性・音質維持に重要。
主な種類:
マイクケーブル (XLRバランス)
ラインケーブル (XLR/TRSバランス、TS/RCAアンバランス)
スピーカーケーブル (スピコン、フォーン)
電源ケーブル
重要性: 低品質・損傷はトラブル原因。適切な選択と扱いが不可欠。
フォンケーブル
上: TSRケーブル(バランス)、下: TSケーブル(アンバランス)
XLRケーブル (バランス)
マルチコアケーブル
MADI (多チャンネルデジタル伝送)
アンバランス接続 (TS、RCAなど)
ノイズに弱い
バランス接続 (XLR、TSRなど)
ノイズに強い
IV. 会場規模別PAシステム構成
前提: 会場規模、用途等で構成は大きく異なる。「万能」はない。
A. 小規模会場(カフェ、会議室など)
ニーズ: 小空間/少人数向け、ポータビリティ、簡単操作。
構成例:
オールインワンPA (例: STAGEPAS)
パワードスピーカー + 小型ミキサー
マイク: ダイナミック中心
小規模会場PA
B. 中規模会場(ホール、クラブなど)
ニーズ: 広空間/多人数向け出力、多入力、専用モニター、詳細な音質調整。
構成例:
ミキサー: 16-24ch程度のアナログ/デジタル
メインスピーカー: 高出力パッシブ+アンプ or パワード。ポイントソース型等。
ステージモニター: ウェッジ型。AUXミックス。
プロセッサー: GEQ、コンプ等 (内蔵/外部)。
マイク: ダイナミック/コンデンサー使い分け、DI。
ケーブル: マルチケーブル (スネーク) 使用。
中規模会場PA
C. 大規模会場(アリーナ、ドーム、野外フェスなど)
ニーズ: 超広大空間/数万人向け超高出力、ロングスロー、カバレージ制御、膨大入力、高度な処理、FOH/モニター独立、高信頼性。プロ必須。
構成例:
ミキサー: 64ch超大規模デジタル、FOH/モニター独立。
メインスピーカー: ラインアレイシステム標準。サブウーファー多数。
アンプ: 多数の高出力パワーアンプ (DSP内蔵、ネットワーク対応)。
システムプロセッサー(DSP): 全体最適化 (クロスオーバー、EQ、ディレイ等)。
モニター: 多数ウェッジ + IEM、独立モニターミックス/エンジニア。
ネットワークオーディオ: Dante等で多チャンネル伝送。
インフラ: 大量ケーブル、大容量電源、リギング、インカム等。
大規模会場PA
会場規模別PAシステム構成要素比較表
コンポーネント 小規模 (カフェ/会議室) 中規模 (ホール/クラブ) 大規模 (アリーナ/フェス) ミキサー 小型/内蔵 (4-8ch) 中型 (16-24ch+) 大型デジタル (64ch++) FOH/Mon独立 メインSP ポータブル/小型パワード 中出力 ポイントソース/コラム 高出力 ラインアレイ アンプ 内蔵 内蔵 or 外部 多数外部 高出力DSP内蔵 モニター 無 or メイン兼用 専用ウェッジ (AUX) 多数ウェッジ/IEM 独立Mix プロセッシング 限定的 GEQ/コンプ等 システムDSP/ネットワーク 特徴 簡便性 柔軟性/拡張性 高出力/制御/専門性
V. まとめ
A. 多様なニーズに応えるスケーラビリティ
PAシステムは、シンプルなポータブル型から複雑な大規模設備まで幅広い。
中核機能「音を増幅し伝達」は共通。
実装は会場、聴衆数、内容、予算等の要求に応じて変化。
B. 重要なポイント
シグナルチェーン理解: 基本。
ゲイン構造: クリアな音の鍵。
コンポーネント役割理解: 適切な選択・組み合わせ。
ハウリング対策: ゲイン管理と物理配置。
規模に応じた設計: 要求適合、大規模ほど高度な技術要。
C. 最後に
効果的な音響補強は、基本原理の理解と適用能力から。
基礎知識は規模に関わらず普遍的。
最終目標: 聴衆へ、明瞭で聞き取りやすく、場にふさわしい質の高いサウンドを提供すること。
参考資料
【PA基礎知識】音響システムの基本構成と役割について
PAにおけるスピーカーの種類と役割を解説!おすすめPAスピーカーもご紹介。
アナログミキサーとデジタルミキサーの違い – サウンドエンジニアが知っておくべきこと Part 3|ヤマハ株式会社
PAにおけるミキサーの役割と使い方を徹底解説!
ハウリング対策のポイント – サウンドエンジニアが知っておくべきこと Part 3|ヤマハ株式会社
マイクロホンガイドブック (PDF)
WHO 安全なリスニングのための会場およびイベントに関する世界標準 (PDF)
ヤマハ プロオーディオ ビジネスソリューション カタログ (PDF)
PA初心者向けガイド – ミュージシャンズPA|ヤマハ株式会社
PA機材とは?PAシステムの仕組み・具体的な機材例までを徹底解説!|株式会社ドコデモ
スライド資料 (PDF)
今回は、最初の講義ですので、最初にこの講義の概要とスケジュールについて説明します。
後半は、この講義の演習パートで主に使用するTouchDesigerの紹介と、インストール方法、操作の基本について解説していきます。
「メディアアート・プログラミング I」について
講義概要
現代のメディアアート制作に不可欠なプログラミング技術を習得し、企画から実践的な作品制作までを通してその応用力を高めることを目指します。ビジュアルプログラミング環境「TouchDesigner」を活用し、インタラクティブな表現やジェネラティブなビジュアル生成など、高度なメディアアート作品の制作に必要なプログラミングスキルを体系的に身につけます。また実際のメディアアートの展覧会の企画から展示までの実務についても学びます。
自身の関心に基づいたテーマ・コンセプトを設定し、個人制作に取り組みます。演習内では、展覧会の企画・運営に関する実践的な知識も提供し、作品の立案から設営、最終発表、講評会までの一連のプロセスを体験します。これにより、プログラミング技術だけでなく、企画力、展示実装技術、批評的思考力を養います。
本演習は、プログラミングを単なる技術としてではなく、創造的な表現のための「道具」として捉え、その可能性を最大限に引き出すことを目指します。TouchDesignerなどのツールを使いこなし、自身のアイデアを具現化する力を身につけることで、将来メディアアーティストとして、あるいはメディア表現を活用する多様な分野で活躍するための基盤を築きます。
シラバス (藝大学事システムにログインが必要)
開講責任部署: 美術学部 対象学生:美術(学部・修士・博士)、音楽(学部・修士)、国際(修士)
講義開講時期: 前期
講義区分: 芸術情報センター(AMC)
基準単位数: 3
開講日: 金曜日 3限、4限
校地: 上野(AMC)
授業を行う教員: 田所淳、森山朋絵
※ 履修制限 (定員の設定) は行いません ※ AMCのPCの台数には制限がありますので、ノートPCを持参しての受講 (BYOD) をお薦めします
この講義のざっくりとした内容
演習 (田所担当) : TouchDesignerを用いたリアルタイム3DCGによる表現を中心にしたメディアート制作のための技術を学ぶ
講義 (森山先生担当): 美術館での経験をもとに、現場での実践的なメディアアートの展示や企画について学ぶ
学期末にはAMCのギャラリーでの作品展示を目指します
TouchDesignerについて
TouchDesignerを使用した作品例
Astro Immersive AV Performance – Weidi Zhang
ところざわサクラタウン KADOKAWA所沢キャンパス
Fragment Shadow Generating Fragmented Shadows with Multi-Projectors Geometry and Color Calibration
Natural Encounters an emotional link between human and algorithm
404.zero live at Diage Festival, Bangkok, 2023.
Interactive live visual system with venue simulator and chart output for BABYMETAL “METALIZM” – Kezzardrix
NONOTAK – SHIRO (TEASER)
その他沢山の作品が Derivative社のShowcase で逐次公開されています。参考にしてみてください。
TouchDesignerのインストールとキー登録
TouchDesignerのライセンス
TouchDesignerはProcessingやopenFrameworksのようなオープンソースの開発環境ではなく、Derivative社が販売している製品 (プロプライエタリソフトウェア) です。しかし、非商用の利用の場合には無料で使用可能です。
ライセンスの詳細は以下を参照。
この演習では、NON-COMMERCIAL版を使用します。以下のような制限があります。
解像度は1280×1280 Pixelまでに制限
個人使用または学習用の用途に限り使用可能
すべてのアカウントは10個の非商用キーを付与
有料プロジェクトでは使用不可
最初はNON-COMMERCIAL版で使用して、もしより本格的に使用したいと思った場合はEDUCATIONAL版を購入すると良いでしょう。
インストールとキー登録の手順
TouchDesignerはアプリケーションをインストールした後に、アカウントに付与されたキーを登録する必要があります。以下の手順で行いましょう。
ユーザー登録: Derivativeのサイトからユーザー登録
TouchDesignerをダウンロード
使用しているOSにあわせてダウンロードページ からインストーラーをダウンロード
インストーラーを起動してインストール (特に設定の変更の必要は無し)
TouchDesignerを起動してキー登録
インストールしたTouchDesignerを起動
上部メニューから「Dialogs > Key Mangager」を選択
以下の画面が出力されるので登録した情報でログイン
キーを選択して有効化する
アプリケーションの再起動
アプリケーションを起動し直すとNON-COMMERCIAL版が起動するはず
AMCのMacにインストールされているTouchDesigner使用の注意
AMCの実習室の全てのiMacにもTouchDesignerがインストールされています。しかしながら、AMCのMacのファイルは起動する度に保存したファイルは消去されて元の状態にリセットされるため、使用する際には以下の手順で毎回キーの登録と削除を行う必要があります。
ユーザーアカウントの作成
起動とキーの有効化
コンピューターを起動し、TouchDesignerのアプリケーションを起動
上部メニューから「Dialogs > Key Mangager」を選択
以下の画面が出力されるので登録した情報でログイン
キーを選択して有効化する
TouchDesignerのアプリケーションを使用
個人のノートPCで使用している人と同じようにTouchDesignerが使用可能となります
キーの削除と終了
アプリケーションを終了する前に必ずキーをアプリから削除します
上部メニューから「Dialogs > Key Mangager」を選択
Disableのタブを選択し、Disable Keyボタンを押す
システム終了
※この操作を行わないと毎回使用できるキーが減っていってしまうので注意してください!
TouchDesignerはじめの一歩
本日は、まずTouchDesignerはじめの一歩として「バナナを回す」という課題をやってみたいと思います。以下の映像のチュートリアルに準拠しています。
VIDEO
さらにもう1本!
VIDEO
完成イメージ
より詳しくていねいに学びたい方は…
Derivative社が提供しているオンライン教材「The 100 Series: TouchDesigner Fundamentals (TouchDesigner入門) 」を使用して入門から基礎的な内容を学ぶことが可能です。熱意のある受講生の方は先取りしてどんどん予習していってください。
101 – Navigating the Environment (制作環境のナビゲーション)
タッチデザイナーの文法
新しいツールや開発環境の学習の大半は、すべてのノブやボタンがどこにあるかを把握することから始まります。この最初のレッスンでは、TouchDesignerを使いこなすことに焦点を当て、必要不可欠なインターフェース要素とコントロール、そして各オペレーターファミリーの基本原則を学びます。
101-1. The User Interface (ユーザーインターフェイス)
VIDEO
101-2. Using the OP Create Dialog (OP作成ダイアログを使う)
VIDEO
101-3. Reading Network Anatomy (ネットワークの解剖)
VIDEO
101-4. Reading Operator Anatomy (オペレーターの解剖)
VIDEO
101-5. Operator Wires, References & Links (オペレータの接続、参照、リンク)
VIDEO
本日の課題
課題: ノイズで遊ぼう!
簡単に二次元から四次元のノイズを生成することのできるNoise TOPを使用して、試行錯誤しながら自分なりの「作品」をつくってみる。プログラムの原型は以下からダウンロードしてください。
まだ操作の基本を習得した段階ですが、まずはいろいろ試行錯誤しながら操作の基本感覚を身に付けていきましょう。その上で以下のような工夫をしてみてください。
基本: 使用されているオペレータのパラメーターを変化させてみる
応用: オペレーターを追加してみる
Noise TOPにNoise TOPを接続するとどうなるか?
HSV Adjust TOPの前後に別のTOPを追加してみる
LFO CHOPを追加して他のパラメータに参照させてみる
…など
参考資料
アンケート
本日の講義に参加した方は、以下のアンケートに回答してください。
「情報メディアデザイン」初回は、まずこの講義の概要と進め方について説明していきます。
その後は「なぜプログラミングが必要なのか?」という問いに対する回答として「ハイブリッドになろう」というテーマでプログラマーの歴史について解説します。さらにクリエイティブコーディングの開発環境について解説します。
最後に次回までの課題について説明して本日は終了です。
スライド資料
関連リンク
次回までの課題
1 まず今後の講義で使用する開発環境を準備していきます。
2. 作品を共有するためのプラットフォームに加入します
3 最後に以下のアンケートに回答してください
以上3点です! 締切は次回の授業までとします!