yoppa.org


人工知能と創作 – オリエンテーション

height:480
Kate Crawford, Vladan Joler, Anatomy of an AI System (2018)

この講義では、生成AIの基礎から応用までを幅広く学び、創作におけるAIの可能性を探求します。まず、AIとは何か、ニューラルネットワークや機械学習、そしてディープラーニングといった基本概念を理解することから始めます。その後、プログラミング支援ツールやテキスト、画像、音楽、映像生成などの実例を通して、AIがどのように創作に活用できるかを体験します。AIによる自動化や生成技術がアートやデザインの現場にどのような変革をもたらすのかを探ると同時に、その限界や課題についても批判的に考察します。最終的には、各自が生成AIを活用した創作プロジェクトを企画・発表し、その成果を通じて未来の創作の可能性を展望します。

本日のスライド資料

講義概要

シラバス紹介

AIの技術的進歩は凄まじく世の中に多大な影響を与えています。アートやデザインといった創作の分野でも無視することのできない存在となっています。この講義は人工知能、特に生成AIの基礎から応用までを探求し、AIを用いた創造的作品を作成するプロセスを探求していきます。まず始めにGoogleのTeachable Machineなどのツールを活用しながらニューラルネットワークや機械学習といったAIの基本を学びます。さらにプログラミング支援、テキストと画像生成、音楽、インタラクティブメディアの生成、映像生成といったAIを活用した創作について掘り下げていきます。ここまでの内容を元に中間発表を行った上で、後半は各受講者が生成AIを用いた創作プロジェクトを企画します。それぞれが企画したプジェクトについて発表し、それを元にディスカッションを行い最終プロジェクトの作成に取り組みます。最後にそれぞれの作品を元にした展覧会を企画し、作品を展示し講評会を行います。

参考文献

徳井直生. “創るための AI: 機械と創造性のはてしない物語.” (2021).

height:480

美術手帖 2024年10月号[AIと創造性]

height:480

Lev Manovich, “Artificial Aesthetics: Generative AI, Art and Visual Media” (2024)

height:480

成績について

履修態度と課題の制作・プレゼンテーションを総合的に評価する。

  • 中間課題と最終課題を出題予定
  • 課題の評価と各回の講義内での評価で総合的に評価する

イントロダクション

Her (映画)

冒頭部分を視聴

height:480

Herの世界は既にChat GPTで実現されている! https://openai.com/chatgpt/download/

height:480

参考: OpenAIが示した「GPT-4o」の進化と、映画『her/世界でひとつの彼女』との共通項

疑問 – 生成AIを使って良いの?

「人工知能と創作」の講義ではAIテクノロジー、特に生成AIを積極的に使用していきます。まず始めにこの講義における生成AIへのスタンスを説明します。

※ この意見はあくまでこの講義の担当である田所の個人的なものです。生成AIの使用の可否はそれぞれの講義や実習の担当の教員の指示に従ってください。

生成AIの登場は、約30年前にインターネットでの検索エンジンのサービスが開始した当時と良く似ている

  • Yahoo!(1994)、Infoseek(1996)、Google(2000)
  • 今までは想像もできないことだった
  • 多くの知識が一般に開放された
  • それまでの常識 (勉強、調査、研究) を覆した
  • 検索サービス開始当初は反対する人も多くいた
    • 倫理的な視点「ネット検索はずるい」「コピペでレポート」
    • 学習効率的な視点「ネットで調べても勉強にならない」
    • 著作権的な視点「勝手に情報収集」
  • 「政府で規制すべき!」という人も

現在はどうなったか?

  • ネット検索はあまりにも強力で利便性が高い
  • 人類はもう元の社会には戻れない
  • いろいろな問題はありつつ、積極的に利用する方向へ
  • ネット検索を使えないことのほうが問題に

生成AIは検索よりもさらに強力な可能性を秘めている

  • 「検索」から「相談」へ
  • 膨大なデータから新たなものを創造(生成)可能
  • 様々なメディアに対応 (文章、画像、音楽、映像、プログラム)
  • 誰でもすぐに「巨人の肩の上に立つ」ことが可能

ただし問題点も…

  • 書かれている内容には嘘が含まれている可能性 → ハルシネーション(Hallucination)
  • 情報漏洩 – 機密情報や個人情報などを安易にChatGPTに送信することは危険
  • 著作権を侵害しているという問題提起
  • 社会に対する影響 (教育・研究活動)
  • 「生成AIはチート(いんちき、ずるい)」という意見もあり

「人類はこの数ヶ月でもうすでにルビコン川を渡ってしまったのかもしれない」 https://utelecon.adm.u-tokyo.ac.jp/docs/20230403-generative-ai

  • どうしたら問題を生じないようにできるのか、その方向性を見出すべく行動することが重要
  • その活用の可能性を積極的に探る

生成AIは今後アートやデザインといった創作の分野でも無視できない存在となっていくのは確実

  • 「人工知能と創作」では生成AIに正面から取り組んでいきたい
  • まだ非常に新しい分野
    • いろいろ試行錯誤しながら…
    • 今年やった内容が来年にはもう古くなっている可能性もあり
    • まだ誰もやっていなかった新たな作品を創作できる可能性大

The 2025 Design in Tech Report: How AI Will Turn Designers into “Autodesigners”

人工知能と創作2024

昨年度のこの講義の内容をざっと紹介

  1. 人工知能と創作 – オリエンテーション
  2. 人工知能、機械学習、深層学習、生成AIについてTeachable Machineで機械学習体験
  3. ChatGPTへ至る30年の歴史、画像生成AI導入
  4. 「AI生成自画像」講評 / 生成芸術の歴史と未来
  5. 動画生成AIを使ってみる
  6. 生成動画「幻覚 – バッド・トリップ」講評 / AIと音楽制作
  1. AIを活用したプログラミング入門
  2. 最終課題制作のヒント1 – 生成コレクション
  3. 最終課題制作のヒント2 – Speculative Design with Generative AI (生成AIによるスペキュラティブデザイン)
  4. 人工知能と創作最終課題制作のヒント3 – 機械学習ライブラリーを使ってみる MediaPipeとml5.js
  5. 人工知能と創作最終課題制作のヒント4 – Google関連のAIテクノロジーの紹介
  6. 今期の講義のふりかえりと将来の展望

今年度の人工知能と創作2025

  • 基本的には昨年度の内容を踏襲したい
  • ただし、生成AIの技術は日進月歩で進化している
  • 今年度は昨年度の内容をベースにしつつ、最新の生成AIの技術やサービスを取り入れていく
  • 今年度は昨年度よりもさらに実践的な内容にしていきたい
  • 今年度も最終的には生成AIを用いた創作プロジェクトを企画・制作・発表する

アンケート

本日の講義に参加した方は以下のアンケートに回答してください。


オリエンテーション

「デザインとプログラミング」初回は、まずこの講義の概要と進め方について説明していきます。

その後は「なぜプログラミングが必要なのか?」という問いに対する回答として「ハイブリッドになろう」というテーマでプログラマーの歴史について解説します。さらにクリエイティブコーディングの開発環境について解説します。

最後に次回までの課題について説明して本日は終了です。

スライド資料

関連リンク

次回までの課題

1 まず今後の講義で使用する開発環境を準備していきます。

2. 作品を共有するためのプラットフォームに加入します

3 最後に以下のアンケートに回答してください

以上3点です! 締切は次回の授業の前日、2024年10月10日までとします!


TouchDesigner基礎 – TOPを学ぶ

スライド資料

TOPについて

TOPは、Texture Operatorの略で、画像や映像を扱うためのオペレーターです。TouchDesignerでは、TOPを使って2Dのビジュアルコンテンツを生成、編集、合成することができます。本日の講義は、このTOPを中心に学んでいきましょう!

TouchDesignerはじめの一歩

本日は、まずTouchDesignerはじめの一歩として「バナナを回す」という課題をやってみたいと思います。以下の映像のチュートリアルに準拠しています。

さらにもう1本!

完成イメージ

height:480

応用: TOPによる画像処理

さらにこのプログラムを発展させて、TOPを使用した画像処理やスイッチングなどの基本的な操作を学びます。

【 TouchDesigner初級講座 】簡単な画像処理とFeedback #02

画像処理を行うためのTOP

TOPの入力を元に画像処理を行うオペレーターが多数用意されています

  • Edge TOP: エッジ検出
  • Blur TOP: ぼかし
  • Bloom TOP: 輝いているような効果
  • Level TOP: レベル補正
  • emboss TOP: 凹凸のあるような効果

など。実際に試してみましょう。

TOPを切り替える

いろいろな画像処理をした結果を、切り替えながら見ることができるように、TOPを切り替えるためのオペレーターを使用してみます。

  • Switch TOP: 複数のTOPを切り替える

フィードバック効果

  • Feedback TOP: フィードバック効果を作成するためのTOP

少し接続が難しいですが、フィードバック効果を作成するためのTOPです。実際に作成しながら解説していきます。

タイリング

  • Tile TOP: タイリングを行うTOP

TOPをタイル状に並べることができるTOPです。実際に作成しながら解説していきます。

TOPの基本を使用したプログラム例

height:480

TOPの基本を使用したプログラム例 02

さらに激しく変化させてみました!

height:400

本日の課題

課題: ノイズで遊ぼう!

簡単に二次元から四次元のノイズを生成することのできるNoise TOPを使用して、試行錯誤しながら自分なりの「作品」をつくってみる。プログラムの原型は以下からダウンロードしてください。

height:400px

まだ操作の基本を習得した段階ですが、まずはいろいろ試行錯誤しながら操作の基本感覚を身に付けていきましょう。その上で以下のような工夫をしてみてください。

参考資料

基本: 使用されているオペレータのパラメーターを変化させてみる

  • Noise TOP (noise1)
    • ノイズの細かさ
    • ノイズの複雑さ
    • ノイズの種類
    • …など
  • LFO CHOP (lfo1)
    • 変化速度
    • 変化する波形の種類
    • …など
  • HSV Adjust TOP (hsvadj1)
    • 色相を変えてみる (hue)
    • 再度を変えてみる (saturation)
    • 明るさを変えてみる (brightness)
    • …など

応用: オペレーターを追加してみる

  • Noise TOPにNoise TOPを接続するとどうなるか?
  • HSV Adjust TOPの前後に別のTOPを追加してみる
  • LFO CHOPを追加して他のパラメータに参照させてみる
  • …など

ノイズを使用した作品例 1

  • ノイズ+ノイズ、Bloomエフェクトの追加
height:420

ノイズを使用した作品例 2

  • 万華鏡のようなパターンを生成
height:420

実習!

  • ノイズを使用した作品を作成してみましょう!
  • 次回の講義で作品の発表を行います

アンケート

今回の講義に参加した方は、以下のアンケートに回答してください。


Strudel入門 – 最初の音

スライド資料

Strudelで音を鳴らす

今回からいよいよStrudelの使い方を学んでいきます。まず始めに、Strudelで音を鳴らす方法を学びましょう。Strudelでは公式のチュートリアルが用意されていて、そこに従って進めていくと、簡単に音を鳴らすことができます。本日はそのチュートリアルを一緒に進めていきましょう。

参考映像

ドラムマシン (リズムマシン) について。

Jeff Mills Exhibitionist 2 Mix 3
Roland TR-1000 Rhythm Creator | Egyptian Lover Performance
16 Legendary Beats – A short history of the 808 | Drum Patterns Explained
A short history of the 909 in 16 songs from TECHNO and HOUSE to POP | Drum Patterns Explained

この動画で紹介されているTR-808を使用した曲のプレイリストをSpotifyで作成してみました!

コードフィールド

このワークショップは、インタラクティブなコードフィールドで構成されています。まず、その使い方を学びましょう。以下がその例です。

sound("casio")
  1. 上のテキストフィールドをクリックします
  2. ctrl+enter を押して、音を再生します
  3. casiometal に変更します
  4. ctrl+enter を押して、変更を反映します
  5. ctrl+. を押して、演奏を停止します

おめでとうございます。これでライブコーディングの準備が整いました。

サウンド

先ほどは sound を使って、このように音を再生しました。

sound("casio")

casio は、標準で用意されているサウンドの一つです。

他のサウンドも試してみましょう。

insect wind jazz metal east crow casio space numbers

サウンドの読み込みに、少し時間がかかる場合があります。

: を使ってサンプル番号を変更する

一つのサウンド名には、複数のサンプル(オーディオファイル)が含まれている場合があります。

サウンド名の後に : と数字を追加すると、サンプルを選択できます。

sound("casio:1")

いろいろなサウンドとサンプル番号の組み合わせを試してみましょう。

数字を追加しない場合は :0 を指定したのと同じです。

これで、さまざまなサウンドを使い分ける方法を学びました。
ここでは、あらかじめ用意された少数のサウンドのみを使用しますが、後ほど独自のサウンドを読み込む方法も学びます。

ドラムサウンド

Strudelには、デフォルトで豊富なドラムサウンドが用意されています。

sound("bd hh sd oh")

これらの文字は、ドラムセットの各パートを表します。

  – bd = bass drum
  – sd = snare drum
  – rim = rimshot
  – hh = hihat
  – oh = open hihat
  – lt = low tom
  – mt = middle tom
  – ht = high tom
  – rd = ride cymbal
  – cr = crash cymbal

さまざまなドラムサウンドを試してみましょう。

bank を使うと、ドラムの音色(ドラムマシン)を変更できます。

sound("bd hh sd oh").bank("RolandTR909")

この例では RolandTR909 が使用しているドラムマシンの名前です。
これはハウスやテクノのビートで有名な、歴史的なドラムマシンです。

RolandTR909 を以下のいずれかに変更してみてください。※ ( ) 内は省略した表記。

  • AkaiLinn (linn)
  • RhythmAce (ace)
  • RolandTR909 (tr909)
  • RolandTR808 (tr808)
  • RolandTR707 (tr707)
  • ViscoSpaceDrum (viscospacedrum)

ドラムマシンは他にもたくさんありますが、ここでは話をシンプルに進めます。

  • Pro-Tip: 名前をダブルクリックで選択し、コピー&ペーストしましょう。

シーケンス

前の例で見たように、スペースで区切ると複数のサウンドを順番に再生(シーケンス再生)できます。

sound("bd hh sd hh")

現在再生中のサウンドは、コード内でハイライト表示されます。また、画面下部にも視覚的に表示される点に注目してください。

シーケンスにさらにサウンドを追加してみましょう。

シーケンスが長いほど、再生速度は速く

sound("bd bd hh bd rim bd hh bd")

シーケンスは、サイクルという単位の中に収まるように再生されます。1サイクルの長さは、デフォルトで2秒です。

< .. > で囲み、サイクルに合わせる

先ほどと同じシーケンスですが、今回は < .. > (山括弧)で囲まれています。

sound("<bd bd hh bd rim bd hh bd>")

こうすると、シーケンス全体が1サイクルに収まるように再生されます。この括弧を使う利点は、シーケンス内の音を追加したり削除したりしても、テンポが変わらない点です。

このままでは非常に遅いですが、次のようにして速く再生できます。

sound("<bd bd hh bd rim bd hh bd>*8")

この *8 は、全体の再生速度を8倍にすることを意味します。

待ってください。これは < … > を付けずに *8 を指定した場合と同じではないでしょうか。なぜ、わざわざこのような記法が必要なのでしょう。

その通りです。この記法の重要な点は、シーケンス内の音を追加・削除してもテンポが一定に保たれることです。ぜひ試してみてください。

最後の数字を変更して、テンポを変えてみましょう。

setcpm でテンポを変更する

setcpm(90/4)
sound("<bd hh rim hh>*8")

cpm = cycles per minute(1分あたりのサイクル数)

デフォルトのテンポは毎分30サイクル(30cpm)です。これは1サイクルが2秒であることを意味し、一般的なBPM表記では 120/4 に相当します。

西洋音楽の用語に詳しい方向けに説明すると、上記の例はBPM90の4/4拍子における8分音符のシーケンスです。しかし、これらの専門用語を知らなくてもStrudelで音楽は作れますので、ご安心ください。

– または ~ でシーケンスに休符を追加する

sound("bd hh - rim - bd hh rim")

[角括弧] でサブシーケンスを作成する

sound("bd [hh hh] sd [hh bd] bd - [hh sd] cp")

角括弧の中に、さらにサウンドを追加してみましょう。

全体のシーケンスと同様に、サブシーケンスもその中の音符が均等に分割されて再生されます。

乗算 (*): 速度を上げる

sound("bd hh*2 rim hh*3 bd [- hh*2] rim hh*2")

乗算 (*): サブシーケンスを速くする

sound("bd [hh rim]*2 bd [hh rim]*1.5")

乗算 (*): さらに速くする

sound("bd hh*32 rim hh*16")

非常に速いリズムは、音の高さ(ピッチ)のように聞こえます。

[[二重角括弧]] でサブ・サブシーケンスを作成する

sound("bd [[rim rim] hh] bd cp")

角括弧は、好きなだけ深く入れ子(ネスト)にできます。

カンマ (,) でシーケンスを並列再生する

sound("hh hh hh, bd casio")

カンマは好きなだけ使えます。

sound("hh hh hh, bd bd, - casio")

カンマはサブシーケンスの中でも使用できます。

sound("hh hh hh, bd [bd,casio]")

上の2つが同じ結果になることに気づきましたか?
同じ音楽的なアイデアを、複数の方法で表現できることはよくあります。

バッククォート(`…`)で複数行を記述する

sound(`
    bd*2, - cp, 
    - - - oh, hh*4,
    [- casio]*2
`)

サンプル番号をまとめて指定する

これまでのようにサンプル番号を一つずつ指定する代わりに、

sound("jazz:0 jazz:1 [jazz:4 jazz:2] jazz:3*2")

n 関数を使うと、より簡潔で読みやすいコードになります。

n("0 1 [4 2] 3*2").sound("jazz")

まとめ

ここでは、TidalCyclesのリズム言語であるミニノーテーションの基本を学びました。学習した内容は以下の通りです。

コンセプト構文
シーケンススペースsound(“bd bd sd hh”)
サンプル番号:sound(“hh:0 hh:1 hh:2 hh:3”)
休符– または ~sound(“metal – jazz jazz:1”)
サイクル内均等再生<>sound(“<bd hh rim oh bd rim>”)
サブシーケンス[]sound(“bd wind [metal jazz] hh”)
サブ・サブシーケンス[[]]sound(“bd [metal [jazz [sd cp]]]”)
速度アップ*sound(“bd sd*2 cp*3″)
並列再生,sound(“bd*2, hh*2 [hh oh]”)

ミニノーテーションは、通常は何らかの関数と組み合わせて使用します。これまでに登場した関数は以下の通りです。

名前説明
sound指定した名前のサウンドを再生するsound(“bd sd [- bd] sd”)
bankサウンドバンクを選択するsound(“bd sd [- bd] sd”).bank(“RolandTR909”)
setcpmテンポを1分あたりのサイクル数で設定するsetcpm(45);
sound(“bd sd [- bd] sd”)
nサンプル番号のシーケンスを作成するn(“0 1 4 2 0 6 3 2”).sound(“jazz”)

作例

基本的なロックビート

setcpm(100/4)
sound("[bd sd]*2, hh*8").bank("RolandTR505")

クラシックなハウス

sound("bd*4, [- cp]*2, [- hh]*4").bank("RolandTR909")

この2つのパターンは、非常によく似ています。
特定のドラムパターンが、ジャンルを超えて使い回されることはよくあります。

We Will Rock You

setcpm(81/2)
sound("bd*2 cp").bank("RolandTR707")

Yellow Magic Orchestra – Firecracker

setcpm(120/2)
sound("bd sd, - - - hh - hh - -, - perc - perc:1*2")
.bank("RolandCompurhythm1000")

16ステップシーケンサーの再現

setcpm(90/4)
sound(`
[-  -  oh - ] [-  -  -  - ] [-  -  -  - ] [-  -  -  - ],
[hh hh -  - ] [hh -  hh - ] [hh -  hh - ] [hh -  hh - ],
[-  -  -  - ] [cp -  -  - ] [-  -  -  - ] [cp -  -  - ],
[bd -  -  - ] [-  -  -  bd] [-  -  bd - ] [-  -  -  bd]
`)

もう一つの例

setcpm(88/4)
sound(`
[-  -  -  - ] [-  -  -  - ] [-  -  -  - ] [-  -  oh:1 - ],
[hh hh hh hh] [hh hh hh hh] [hh hh hh hh] [hh hh -  - ],
[-  -  -  - ] [cp -  -  - ] [-  -  -  - ] [~  cp -  - ],
[bd bd -  - ] [-  -  bd - ] [bd bd - bd ] [-  -  -  - ]
`).bank("RolandTR808")

一風変わったドラム

setcpm(100/2)
s(`
jazz*2, 
insect [crow metal] - -, 
- space:4 - space:1,
- wind
`)

これでビート作りの基本は分かりました。次は、メロディー(ノート)の演奏方法を見ていきましょう。

アンケート

本日の講義に参加した方は以下のアンケートに回答してください。


openFrameworksって何だろう? サンプルを実行してみる

billboardExample

今回からいよいよopenFrameworksを使用してクリエイティブコーディングを始めていきます。

まず前半は、実際にコーディングを始める前に、openFrameworksとは何なのか、その開発の歴史と開発環境の特徴などを簡単に解説していきます。後半は、開発環境のセットアップが正しく完了しているか確認するために、付属するサンプルファイルをビルド (コンパイル) して、openFrameworksで作成したアプリケーションが起動するか確認していきます。

スライド資料

アンケート

本日の講義に参加した方は以下のアンケートに答えてください。


サウンドプログラミング – イントロダクション

サウンドプログラミングの初回はオリエンテーションを行います。まずこの講義全体の概要と、講義の進め方、成績の基準、履修上の注意などの情報について説明します。

概要について理解した上で、まず始めにこの講義では「サウンドプログラミング」をどのように捉え、どういったアプローチで創作していこうと考えているのかを、これまでのコンピュータ音楽の歴史を踏まえながら解説します。また、講義前半で主に使用するStrudelについての導入を行います。

スライド資料

映像資料: Algorave Generation | Resident Advisor

サンプルプログラム

Strudel のエディターに1行ずつコピペして使用してください。

// まずは手拍子
sound("cp")

// 手拍子2回
sound("cp cp")

// 「*」で回数を表現
sound("cp*4")

// 様々な音の組み合わせ
sound("bd cp bd hh")

// さらに複雑に
sound("bd cp*2 bd hh*4")

// タメを入れるとノリ(グルーブ)が生まれる!
sound("bd cp*2 [~ bd] hh")

// 2回に1度演奏
sound("bd cp <~ bd> hh")

// 複雑なパターンへ
sound("bd cp*2 <bd [~ bd]> <hh hh*2 hh hh*4>")

// 複数の拍子を同時演奏(ポリリズム)
sound("[bd cp*2 cp, bd cp bd hh*3]")

// 複数の拍子をずらしながら演奏(ポリミーター)
sound("{bd cp*2 cp, bd cp bd hh*3}")

アンケート

本日の授業に参加した方は以下のアンケートに回答してください。


TouchDesigner初めの一歩- インストールと操作の基本

スライド資料

はじめに

今回は、最初の講義ですので、最初にこの講義の概要とスケジュールについて説明します。

後半は、この講義の演習パートで主に使用するTouchDesigerの紹介と、インストール方法、操作の基本について解説していきます。

「クリエイティブコーディング」について

講義概要

クリエイティブコーディングとは、機能ではなく表現のためのコンピュータプログラミングです。この講義ではクリエイティブコーディングのためのアプリケーションを活用し、グラフィクス、アニメーション、オーディオビジュアル、ジェネラティブデザイン、インタラクションといったクリエイティブコーディングのための制作のための技術の基礎から応用までを学んでいきます。現在多くのアーティストや制作現場で実際に使用されている制作環境であるTouchDesignerをメインの開発環境として、制作環境の基本操作から始めて最終的に自身の作品を制作できる技術の習得を目指します。このような能力は、デザイナー、エンジニア、アーティストなど、様々なクリエイティブな職業で求められるものであり、本講義はその基盤となるでしょう。

TouchDesignerについて

  • TouchDesigner
  • https://derivative.ca/
  • カナダのDerivative社が開発したビジュアルプログラミング環境
  • インスタレーションアートやプロジェクションマッピング、メディアアートなど、さまざまな映像や音楽、デジタルアートに関するシステムを簡単に構築可能
  • 詳細: https://derivative.ca/feature/application-building

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のサイトからユーザー登録

  • Derivative Webサイトのページの「SIGN UP FOR AN ACCOUNT」より
  • 必要事項を記入して送信
  • 登録したemailアドレスにメールが返信されるのでリンクをクリックして登録完了

TouchDesignerをダウンロード

  • 使用しているOSにあわせてダウンロードページからインストーラーをダウンロード
  • インストーラーを起動してインストール (特に設定の変更の必要は無し)

TouchDesignerを起動してキー登録

  • インストールしたTouchDesignerを起動
  • 上部メニューから「Dialogs > Key Mangager」を選択
  • 以下の画面が出力されるので登録した情報でログイン
  • キーを選択して有効化する

アプリケーションの再起動

  • アプリケーションを起動し直すとNON-COMMERCIAL版が起動するはず

TouchDesignerはじめの一歩

本日は、まずTouchDesignerはじめの一歩として「バナナを回す」という課題をやってみたいと思います。以下の映像のチュートリアルに準拠しています。

さらにもう1本!

完成イメージ

より詳しくていねいに学びたい方は…

Derivative社が提供しているオンライン教材「The 100 Series: TouchDesigner Fundamentals (TouchDesigner入門)」を使用して入門から基礎的な内容を学ぶことが可能です。熱意のある受講生の方は先取りしてどんどん予習していってください。

101 – Navigating the Environment (制作環境のナビゲーション)

タッチデザイナーの文法

新しいツールや開発環境の学習の大半は、すべてのノブやボタンがどこにあるかを把握することから始まります。この最初のレッスンでは、TouchDesignerを使いこなすことに焦点を当て、必要不可欠なインターフェース要素とコントロール、そして各オペレーターファミリーの基本原則を学びます。

101-1. The User Interface (ユーザーインターフェイス)

101-2. Using the OP Create Dialog (OP作成ダイアログを使う)

101-3. Reading Network Anatomy (ネットワークの解剖)

101-4. Reading Operator Anatomy (オペレーターの解剖)

101-5. Operator Wires, References & Links (オペレータの接続、参照、リンク)

本日の課題

課題: ノイズで遊ぼう!

簡単に二次元から四次元のノイズを生成することのできるNoise TOPを使用して、試行錯誤しながら自分なりの「作品」をつくってみる。プログラムの原型は以下からダウンロードしてください。

まだ操作の基本を習得した段階ですが、まずはいろいろ試行錯誤しながら操作の基本感覚を身に付けていきましょう。その上で以下のような工夫をしてみてください。

基本: 使用されているオペレータのパラメーターを変化させてみる

  • Noise TOP (noise1)
    • ノイズの細かさ
    • ノイズの複雑さ
    • ノイズの種類
    • …など
  • LFO CHOP (lfo1)
    • 変化速度
    • 変化する波形の種類
    • …など
  • HSV Adjust TOP (hsvadj1)
    • 色相を変えてみる (hue)
    • 再度を変えてみる (saturation)
    • 明るさを変えてみる (brightness)
    • …など

応用: オペレーターを追加してみる

  • Noise TOPにNoise TOPを接続するとどうなるか?
  • HSV Adjust TOPの前後に別のTOPを追加してみる
  • LFO CHOPを追加して他のパラメータに参照させてみる
  • …など

参考資料

アンケート

本日の講義に参加した方は、以下のアンケートに回答してください。

アンケート


オリエンテーション

初回となる今回の講義は、まずこの「プログラミング II」ではどんな内容を取り扱っていくのかを解説し、履修のための条件などについて説明します。成績の基準についても説明します。

後半は、まず始めに何故プログラミングが必要なのかを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圧縮したままの状態だと使用できないので注意!