タグ

ブックマーク / yoppa.org (21)

  • 2015年のコンピュータ音楽

    2015.10.26 明治大学先端数理科学研究科先端メディアサイエンス学科 「コンピュータ・ミュージック」ゲストレクチャー 明治大学先端数理科学研究科で開講されている「コンピュータ・ミュージック」の授業で、ゲストレクチャーしました。 このレクチャーの依頼を受けた際に「新しい音楽はどうあるべきか」というテーマをいただき、その答えを考える中で、もう一度今現在のコンピュータ音楽の意義を考えなおす良いきっかけとなりました。 そもそも、今の世の中のほとんどがコンピュータが介在した音楽ではないのか? ではなぜ、2015年のいまコンピュータをつかって音楽を作るのか? こうした疑問をもとに、新しい音楽およびその先端的表現について、前半はコンピュータ音楽歴史を紹介しながら、後半は Sonic Pi というコンピュータ音楽開発環境を使いながら、自分なりにいろいろと考えてみました。 スライド資料 スライド資料

    2015年のコンピュータ音楽
  • Pd入門2 – 音響合成、Pdでシンセサイザーをつくる

    今回から、より格的にPdで音を扱う方法について解説していきます。今回は音響合成、つまりシンセサイザーが音を合成するしくみをPdで再現してみます。今回は、代表的な音響合成の仕組み「加算合成」「減算合成」「変調合成 (AM、RM、FM)」という3つの方式についてPdで実際にプログラミングしながら学んでいきます。 サンプルファイルのダウンロード 今回の解説でとりあげた、Pdのサンプルは下記のGithubのリポジトリからダウンロードしてください。 サンプルファイルのダウンロード 今日の内容 前回に引き続きPdの基を学んでいきます。今回は「Pdでシンセサイザーをつくる」というテーマで進めていきます。 コンピューターが一般に普及する以前から、世の中には多くの電子楽器が存在し、その歴史は100年以上に及びます。そして、現在も進化を続けています。その歴史の中で、様々な音響合成(= 音色を合成する技術)

    Pd入門2 – 音響合成、Pdでシンセサイザーをつくる
  • openFramewoks – OSC (Open Sound Control) を利用したネットワーク連携

    今回は、ネットワークを使用したopenFrameworks同士の連携と、openFrameworksと他のアプリケーションとの連携について取り上げます。openFrameworksでネットワークを利用す方法はいくつかありますが、今回はその中で比較的扱い易いプロトコルである、Open Sound Control (OSC) についてとりあげたいと思います。 Open Sound Control (OSC)とは Open Sound Controlは、カリフォルニア大学バークレー校にある CNMAT(The Center for New Music and Audio Technologies)が開発した、通信プロトコルです。その特徴について、CNMATのページではOSCについて下記のように要約されています。 Open Sound Control (OSC) is a protocol for

    openFramewoks – OSC (Open Sound Control) を利用したネットワーク連携
  • Touchéセンサーを使う1 Touchéセンサーを作成する

    今回からは、いよいよTouchéセンサーを自作してタッチ検出に挑戦します。まずは、Touchéのセンサーのハードウェアを制作します。センサーが完成したら、水を入れたコップ、金属製の製品、植物など様々な物体でタッチ検出できるか試してみましょう。後半は、ソフトウェアを解析して、表示や表現の方法を変更するにはどう改造していけば良いのか考えていきます。 リンク TouchéのProcessingとArduinoのアプリケーションは下記からダウンロードします https://github.com/Illutron/AdvancedTouchSensing

    Touchéセンサーを使う1 Touchéセンサーを作成する
  • Markdownでスライド作成する、Swipeが素晴しい

    Markdownを使用してWebベースのスライドが作成できる「Swipe」というWebサービスが素晴しい。いくつか試しにスライドつくってみたのだけれど、Markdownはアイデアをリアルタイムにガシガシと記述できるので、ストレス無くて良いですね。問題は、このサービスが今後安定して続いてくれるか、というところか。GoogleGithubといった会社にサービス丸ごと買収されたりしないかな… 先日、研究会用に作成したスライドをEmbedしてみるテスト

    Markdownでスライド作成する、Swipeが素晴しい
    kjktk
    kjktk 2014/07/27
  • openFrameworksで、オブジェクト指向プログラミング(OOP) 後編

    オブジェクトの生成とメモリ openFrameworksの入門の授業の際に、変数を定義するということは、値を入れる「箱」のようなものを用意することだと説明しました。また、前回の授業では、オブジェクトを実体化するにはまずクラスをインスタンス化する必要があるという説明をしました。 実はクラスのインスタンス化と、変数の宣言は質的には同じことをしています。それは、「値や動作を表現するための記憶域を確保する」ということです。int型やfloat型などの宣言に関しても、型からオブジェクトを生成しています。 コンピュータの中では、個々の箱は独立して存在するのではなく、コンピュータに内蔵された広大な記憶領域の中の一部分を使用しています。多くのオブジェクトがこの記憶域を共有して雑居しています。そのため、個々のオブジェクトの格納されている「場所」を表す必要が出てきます。コンピュータではこのオブジェクトが格納

    openFrameworksで、オブジェクト指向プログラミング(OOP) 後編
  • プログラム初級講座 – メディア芸術をはじめよう

    第17回、メディア芸術祭で行った、プログラミング入門のワークショップのスライド資料を公開します。このワークショップでは、ProcessingをRaspberry piで動かして、プログラムの楽しさに触れることを目的として、中学生、高校生を対象に行われました。 ワークショップで配布した、Processing、Google Coder、openFrameworks、Wolfingを使えるようにカスタマイズしたRaspberry piのディスクイメージは、下記からダウンロードして使用可能です。 メディア芸術祭ワークショップ用 Raspberry Piイメージ (2GB)

    プログラム初級講座 – メディア芸術をはじめよう
  • Processingによるデータの可視化 – 時系列のデータを可視化する

    今日の目標 時系列のデータファイル(タブ区切りのテキスト)を読みこみ、Processingで可視化する「ビジュアライジング・データ」の4章、「時系列」のサンプルプログラムを解析まずは普通にグラフ化する手法を学ぶより自由な発想でビジュアライズしてみる (バイオDJ!?) Visualizing Dataのサンプルプログラムをダウンロード 書籍「ビジュアライジング・データ」のサンプルプログラム一式をダウンロードする今日の内容のベースとなる、時系列のデータをプロットするプログラムもこの中に収録されているダウンロードURL http://benfry.com/writing/archives/3 シンプルなプロット表示を理解する 時系列のデータを点の連なりで表現 「ch04-milkteacoffee」→「figure_01_just_points」を開くまずは実行してみる点によるシンプルなプロッ

    Processingによるデータの可視化 – 時系列のデータを可視化する
  • ProcessingとArduinoを接続する

    今回は、いよいよProcessingとArduinoを連携する方法について実際にプログラミングしながら学んでいきます。ProcessingとArduinoを連携する方法は大きく分けて2つのやり方があります。 1. 既存のライブラリを使用する方法 Arduino側にFirmataライブラリ、Processing側にArduinoライブラリをインストールして、Processingから直接Arduinoの入出力を操作する方法。 2. シリアル通信を自作する方法 外部ライブラリは使用せず、ArduinoとProcessing双方で、シリアル入出力のプログラミングを行う方法。 今回はこの2つの方法の双方を紹介していきます。 連携方法 1: ArduinoライブラリとFirmataを使用する方法 注意!!: Processing 2.0は、Arduinoライブラリ+Firmataの環境に対応していませ

    ProcessingとArduinoを接続する
  • 活動近況、CityCompilerでプロトタイピング!!

    8月の大学の夏休み中に、比較的まとまった時間がとれるので、CityCompilerというプロジェクトのお手伝いしていました。なかなか面白い環境なのでこのBlogでもちょっとご紹介。 たとえば、プロジェクターやモニタを使用したちょっとした規模のインスタレーションをやりたいと思ったとき、ソフトウェアの部分はいろいろ試行錯誤できても、ハードウェアの部分は余程めぐまれた環境や機材がないといろいろ試したりするのは困難だったりします。そんな時に便利なプロトタイピングツールとして、慶應義塾大学の中西泰人さんおよび中西研究会で開発が進められているCityComilerという開発環境があります。オフィシャルページはこちら。 CityCompiler Blog CityCompilerはjMonkey engineというJavaベースのゲームエンジンをベースにした開発環境で、仮想空間に物体を簡単に配置すること

    活動近況、CityCompilerでプロトタイピング!!
    kjktk
    kjktk 2013/12/18
    プロジェクションマッピングのシュミレーション環境[processing][projection mapping]
  • openFrameworks – addon を使う 3 : OpenCVを利用した映像認識

    今回は、OpenCVという映像解析の技術を応用して、ライブ映像を用いたインタラクティブな表現に挑戦します。 「OpenCV」とは、「Open Computer Vision Library」の略で、オープンソースでコンピュータビジョンの技術を利用可能なライブラリです。米Intel社で開発され、画像処理・画像認識用のC/C++言語のライブラリとして配布されています。商用・非商用を問わず無料で使用することが可能です(BSDライセンス)。 OpenCVのコアとなる技術「コンピュータビジョン」とは、ひとことで言うと「ロボットの目」を作るという研究分野です。「コンピュータビジョン」の実現のために、画像のセンシングのためのハードウェアの研究から情報を認識するための人工知能の研究まで、広範囲な分野の研究が行われています。 OpenCVは、この「コンピュータビジョン」の研究の中でソフトウェアを用いて画像処

    openFrameworks – addon を使う 3 : OpenCVを利用した映像認識
  • Processingで画像データを扱う

    ※こちらの内容は既に古い情報となっています。新しく書き直した記事を参照してください。 Processingで画像データを扱う – 画像の分析・再合成 画像を表示する Processingで画像を表示するためには、画像ファイルをそのスケッチのある階層に「data」フォルダを作成し、その中に画像ファイルを入れる Jepg、GIF、PNG形式に対応している 画像を表示するには、image() 関数を用いる image(画像ファイル名, x, y); – 座標(x, y)を左上にして、画像を表示 image(画像ファイル名, x, y, width, height); – 座標(x, y)を左上にして、幅(width)と高さ(height)を指定して画像を表示 画像を表示 PImage img; void setup() { size(640, 426); img = loadImage("pho

    Processingで画像データを扱う
  • Processingによる3Dプログラミング

    今日の内容 Processingで3DCGプログラミング 3Dの座標系OpenGLとは2Dのアニメーションを3Dに拡張してみる3D座標で図形を描く視点の移動3Dのを用いた高度なアニメーション コンピュータで3Dを表現するには コンピュータ画面で3Dを表現したい コンピュータのディスプレイは、2D (縦横に並んだピクセル)奥行は擬似的に表現するしかない画面に、立体や空間などの3次元の存在を投影して描画する = 3DCG (3次元グラフィックス) 2次元平面に3次元の存在を投影するには、様々な数学的な知識が必要 Processingではこうした演算を自動的に行うことが可能3次元の座標系をそのまま使用できる高速な表示のためのライブラリ(OpenGL)も標準で使用可 3Dの座標系 3Dプログラミング基 まず2Dの図形を回転するプログラムを作成してみる translateで画面の中心を座標の原点に

    Processingによる3Dプログラミング
    kjktk
    kjktk 2013/12/11
  • canvas要素 + Javascriptで作る、動的コンテンツ

    HTML 5 + Javascriptで作る動的なコンテンツ 前回の授業では、HTML 5について、その成り立ちや特徴を解説した上で、新しい構造化のための要素について解説しました。また、あわせてCSS3によって格段に進歩した表現力について実際にサンプルページを作りながら解説しました。 今までは、Webページで動的に図や画像やアニメーションを描画するにはFlashが代表的な選択肢でした。しかし、ここ数年でその状況が大きく動きつつあります。Flashに代表されるような動的なコンテンツが、専用のプラグイン無しに、HTMLの要素とそれと連携するスクリプトだけで実現できるようになりつつあるのです。こうした技術は、今後のWebの動向を大きく変える可能性を秘めた技術として脚光を浴びています。 HTML 5で動的に画像やアニメーションを生成するためには、canvas要素という新規に導入された要素と、can

    canvas要素 + Javascriptで作る、動的コンテンツ
  • HTML5+CSS3 入門

    Webを記述する言語の標準の現状 昨年度であれば、HTMLを記述する授業では自信をもって以下の基準を推薦していました。 HTML (文書の構造を記述する言語) – XHTML 1.0 もしくは XHTML 1.1 CSS (文書の体裁・デザインを指定する言語) – CSS 2 しかしながら、ここ数年で、とくに去年あたりから状況は大きく変動しつつあります。現状の変化を理解するには、ここに至るまでの歴史的な経緯について簡単に理解する必要があります。ここまでの経緯を整理した上で、将来の展望を探りたいと思います。その上で、この授業ではどのような基準にのっとって「正しい」ということを定義するのか決めていきたいと考えます。 HTML (Webサイトの記述言語) の標準化巡る闘争の歴史 AppleInsider: なぜ AppleHTML 5 に賭けているのか: ウェブの歴史 [Page 2] よ

    HTML5+CSS3 入門
  • イントロダクション、Max/MSP Jitter入門

    この授業について 春学期の前期の第1クォーター(4月12日〜5月24日)に行います (授業回数は6回) 教室は206教室 選択必修 この授業の構成 全体の統括、久保田さん 月曜担当:田所 – 主にソフトウェアによる音響プログラミング(Max/MSP)担当 火曜担当:矢坂さん – 主にデバイス(Arduino)を使用したコントローラ制作を担当 最終的な目標 オリジナル「楽器」を作る 物理的なコントローラをArduinoで制作 ソフトウェアによる音響合成をMax/MSPで行う 最後の講評会では、自作楽器によるパフォーマンスを行います 月曜授業のおおまかなスケジュール 04/12:イントロダクション、Max/MSP入門 04/19:Max/MSPによる音響合成 04/26:Max/MSPによるサンプリング&プレイバック 05/10:インタフェイスについて、Max/MSPと外部デバイスの連携 05

    イントロダクション、Max/MSP Jitter入門
  • YOPPA 田所淳の講義ノート

    このサイトは田所淳の講義、仕事、日記、そのほか諸々の情報を公開しています。そもそもは、授業の履修者のために過去の授業の内容の記録を掲載するために始めたのですが、より多くの人に役にたてるのであればと思い、全てを公開することにしました。基的にリンクはフリーです。どの階層のページにも勝手にリンクしていただいて構いません。また、リンクした旨を連絡をしていただく必要もありません。サイト内の全ての記事は、Creative Commons Licenseの条件に従う限り自由に利用していただいて構いません。記述の誤りご意見などありましたら、コメントもしくはメールにてお知らせください。 tadokoro[at]gmail.com

    YOPPA 田所淳の講義ノート
  • メディア芸術演習 VI – メディア・アート II多摩美術大学2013年度

    2013.09.08 : ガイダンス、openFrameworks入門 2013.09.15 : openFrameworks基礎 – 配列とくりかえし、ベクトルを使用したアニメーション 2013.09.29 : openFrameworks基礎 OOoF : オブジェクト指向 oF 2013.10.07 : openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム 2013.10.12 : openFrameworks Addonを使用する 2013.10.21 : openFrameworks Addonを使う 2 – ofxOpenCVとofxCv 2013.10.28 : openFrameworks 3Dグラフィクス、OpenGL 2013.11.11 : openFrameworks 複数のシーンの管理・切替え、ofxStateMachine 20

    メディア芸術演習 VI – メディア・アート II多摩美術大学2013年度
  • プロジェクション・マッピング基礎練

    今年の多摩美のopenFrameworksの授業(Media art II)では、プロジェクション・マッピングをとりあげていこうという方針になった。ところが、実は今まで知識としてはプロジェクション・マッピングについて知っていても、自分でゴリゴリとプログラムを書いてこなかった。主な理由としては、身近にプロジェクションしながら試す環境が無いというのが大きい。これではいかんということで、奮発して小型プロジェクターを購入してみた。 TwitterとFacebookでおすすめの小型プロジェクターを募ったところ、複数の方からQUMI Q5が良いという評判が寄せられた。それではということで、amazonで購入。あわせて、SLIKのミニ三脚も買ってみた。 数日で届いたので早速試してみたところ、期待していた以上に明るい。そして小さくて軽い。評判が良いだけあると実感。手元にあったNexus 7と大きさを比較し

    プロジェクション・マッピング基礎練
  • openFrameworks入門

    OpenFrameworksの紹介 OpenFrameworksを使ってみる 簡単なプログラムを実行 OpenFramwroskをiPhoneで使ってみる 簡単なアニメーションを作成してみる OpneFrameworksについて OpenFrameworksとは、シンプルで直感的なフレームワークによって、創作活動を手助けするようにデザインされた、C++のライブラリ オフィシャルページ Zach LiebermanとTheodore Watson、Arturo Castroを中心に開発が進められている Processingからの強い影響 C++の細かな知識なしに、クリエイティブな部分のみコーディングすることで、高度なアプリケーションを開発可能 openFrameworksから影響を受けたプロジェクトも派生している → Cinder made with openFrameworks from

    openFrameworks入門