yoppa.org


immediate bitwave

openFrameworks入門

今回からいよいよopenFrameworkを用いたプログラミングを開始していきます。

openFrameworksは、例えばProcessingのように開発のための環境が整えられたアプリケーションとして配布されているわけではありません。openFrameworks自体は、あくまでライブラリー(プログラムを再利用可能な形でひとまとまりにしたもの)の集まりに過ぎません。この機能を活用するには、使用しているOSごとに、統合開発環境(IDE)と呼ばれるプログラミング開発のための専用のアプリケーションを入手して環境設定する必要があります。前半はこのIDEの入手方法と設定方法について開発します。

後半は設定したIDEを用いて、まずサンプルをビルド(実行可能な形式にコンパイルすること)してみます。様々なサンプルをビルドすることでopenFrameworksで何ができるのかイメージできてくると思います。時間に余裕があれば、実際に簡単なプログラムにも挑戦します。

スライド資料

ダウンロードのリンク

Mac

Windows


CSSのボックスモデル、Twitter Bootstrapを使う

今回はさらにCSSによるWebデザインについて詳しく探求していきます。

前半は、CSSの「ボックスモデル」について取り上げます。Webページでは、文書内のすべての要素は、ボックスと呼ばれる四角形の領域を生成します。この四角形の領域の余白や境界線に関する共通の属性が決められていて、これをCSS「ボックスモデル」と呼んでいます。このボックスモデルを理解して適切に使用することで、余白やレイアウトの自由度が生まれ、Webページのデザインの可能性が飛躍的に向上します。

後半は、より本格的なCSSによるデザインの導入を行います。CSSを用いた凝ったページデザインをしようと思うと、徐々にCSSの記述量が増えていき最終的に膨大な分量をCSS作成する必要が出てきます。しかし、テキストの段組やボタンやアイコンなどのパーツなど、CSSを用いたデザインの多くの部分で共通する枠組みが存在します。こうした枠組みをまとめた「CSSフレームワーク」が存在していて、ネット上でフリーで公開されています。こうしたCSSフレームワークの中で利用者の多い「Twitter Bootstrap」を取り上げ、フレームワークを利用した本格的なWebデザインを体験します。

スライド資料


Sonic Pi 応用 1 – Haskap Jam Pack でジャムセッション!!

ワークショップも中盤に差しかかってきました。今回はSonic Piのより応用的な使用法を考えていきます。

札幌国際芸術祭 (Sapporo International Art Festival) によるプロジェクト、SIAFラボでは、Sonic Piを使用したワークショップを活発に行っています。さらに、Sonic Piを独自に拡張した機能を開発し「Haskap Jam Pack」として配布しています。

Haskap Jam Packには、

  1. ジャムセッション
  2. ボーカロイド
  3. ログフォワーディング

という3つの追加機能があるのですが、今回はこの中の「ジャムセッション」機能を使用します。ネットワークでお互いにループを共有しながらジャムセッションできる機能です。まず始めにHaskap Jam Packのインストール方法と設定手順について解説し、後半はグループ毎にネットワークを用いたジャムセッションについてディスカッションしていきます。

スライド資料


イントロダクション – Creative Codingとは? Processsing について

今回は初回の授業なので、まず始めにこの講義の全体概要を説明します。授業概要、到達目標、授業方法、成績評価方法・基準について説明していきます。

概要に続いて、イントロダクションとして、「クリエイティブ・コーディング (Creative Coding)」と呼ばれるコーディング環境について、具体的な開発環境や言語をあげながら解説していきます。そして、この授業で主に使っていくProcessingという言語/開発環境について、開発の歴史、開発者、どのような特徴があるのかといった内容について解説します。

最後に簡単なアンケートを行います。

スライド資料


イントロダクション、クリエイティブ・コーディングとは?

今回は初回の授業なので、まず始めにこの講義の全体概要を説明します。授業概要、到達目標、授業方法、成績評価方法・基準について説明していきますので、履修の参考にしてください。

後半はイントロダクションとして、これまでのプログラマーの歴史を踏まえて、これからの時代の“Hybrid”なプログラマーとは何かについて考え、またそうしたプログラマーを支える「クリエイティブ・コーディング」と呼ばれる開発環境について解説していきます。

最後に、次回の授業までに必要となる統合開発環境の準備と、必要なファイルのダウンロードについて説明します。

スライド資料


Sonic Pi 基礎3 – プログラムの構造化とデータ構造

引き続きSonic Piを使った音楽プログラミングについて考えていきます。

今回は、Sonic Piにおけるプログラムの構造化とデータ構造に焦点を絞って解説していきます。構造化プログラミング言語における基本的なプログラム構造は「順次」「反復」「条件分岐」の3に代表されます。Sonic Piでもこの3つのプログラム構造を作成することが可能です。実際に音に出して確認しながらSonic Piにおけるプログラムの構造化を学びます。

もう1つデータ構造について考えます。Sonic Piでは「リスト」というデータ構造が多用されます。リストとはデータの一覧を構成するデータの型です。まず始めにリストの使用法を解説します。さらにSonic Piでは多くの和音(chord)と音階(scale)がリスト形式で定義されています。和音と音階の使用方、また和音や音階による即興について考えていきます。

スライド資料


HTMLの基本2、CSS入門

引き続き、Webサイト制作の基礎を学びます。前半は、まず前回のHTMLの導入を引き継いで、さらにいくつかの要素 (タグ) について、そのマークアップ方法と使用用途について解説していきます。後半は、さらにこのHTMLで作成したWebページにいよいよデザインを付加していきます。Webページにデザイン (体裁) をしていく際には、HTMLとは別のCSSという仕組みを用います。つまり、Webでは構造と体裁を分離して制作していくということが重要なコンセプトとなります。CSSの基本的な考え方から文法の基本を解説した上で、前回HTMLで作成したWebページに実際にデザインを加えていきます。

サンプルファイル

スライド資料


Sonic Pi – サンプルを使う、ランダム化

ワークショップの前半は、先週の課題「1分パフォーマンス」の発表を行います。まだ、Sonic Piを使い始めたばかりですので完成度や熟練度を追求するのではなく、ヘッドホンやイヤホンではなくスピーカーを通して大きな音で自分の作成した音を聞いてみる機会、場慣れのための機会と考えましょう。

後半はSonic Piでのプログラミングの続きです。今回は、前回のシンセを使用した音の再生とは別の方法、サンプルを使用した音の再生を取り上げます。サンプルは、サウンドファイルを読み込んで指定したタイミングで音を再生します。前回のシンセがシンセサイザーとすると、サンプルはサンプラーに相当します。演奏するタイミングだけでなく、音量、定位、再生スピードなど様々なパラメータを設定可能です。また、Sonic Piにあらかじめ用意されたサンプルだけでなく、ファイルの場所を指定して外部ファイルを読み込むことも可能です。

今回はさらに、Sonic Piにおけるランダム (乱数) の生成とその使用方法について解説します。Sonic Piでは、単純な乱数だけでなく、指定した範囲の乱数 (rrand, rrand_i)、リストの中からランダムに選択(choose)、サイコロをふってその結果で選択(dice) など様々なランダム化の関数が用意されています。音楽への応用を考えながら、乱数を使用していきます。

スライド資料


「Processingをはじめよう」第2版が出た!

81CNh64v1iL

Casey ReasとBen Fryによるインタラクティブ・グラフィクスのためのプログラミング言語であり開発環境のProcessingは、2001年の誕生から15年が経ち、プログラミング入門のための環境のひとつとしてポピュラーなものとなった。試しにAmazonで「Processing」で検索してみると、大量の解説書がヒットする。「Built with Processing」など日本の良書も数多く出版されている。

とはいえ、やはりCasey ReasとBen FryというProcessingの開発者である2人による解説書「Processingをはじめよう」は、別格のわかり易さの入門書だと感じる。同じ著者による「Processing:ビジュアルデザイナーとアーティストのためのプログラミング入門」も素晴しい本なのだけれど、こちらは入門書というよりは全ての機能を網羅したバイブル的な感じ。頭から通して読んでいこうとするとけっこう骨が折れる。それに対して「Processingをはじめよう」は、よりプログラム初心者が最初にProcessingを学ぶことを意識した入門書的な内容となっている。

第2版は、もちろん現在Processingの最新版であるver 3.xに準拠しているし、新たにデータビジュアライゼーションに関する章が追加されるなど内容もさらに充実したものとなっている。

最近、子供や中高生のためのプログラミング教育が話題になることが多い。実際の教育の実例などもよく紹介されているのだけれど、Scratchや、そこから派生したビジュアルプログラミング環境を使っていることが多い印象を受ける。もちろんScratchも素晴しい環境なのだけれど、個人的には、中学生くらいになったらScratchではなくProcessingから始めたほうが、その先に拡がるより本格的なプログラミングの世界に入りやすいんじゃないかと思う。もちろん大学生や大人にとっても。


コンピュータ音楽の簡単な歴史・Sonic Pi 入門

「サウンド・パフォーマンス」の初回は、まず始めに現代に至るまでのコンピュータによる音楽の創作の歴史を簡単に紹介します。誰によって、どのような環境で、どのようなアプリケーションやプログラミング言語を用いて創作が行なわれてきたのか、その変遷を辿ります。

後半は、このワークショップでとりあげる「Sonic Pi」というプログラミング言語であり開発環境の導入を行います。Sonic piは、教育現場でのプログラミングや音楽の授業をサポートするように設計された、ライブコーディング可能な無料のサウンドプログラミング開発環境です。「カノンからダブステップまで」というキャッチフレーズに代表されるように、古典〜現代の音楽を作曲できる、Mac OS XやWindows、さらにはRaspberry Piでも動かすことが可能で、柔軟なプログラミングが可能です。

Sonic Piの入門として、インストールから操作方法、そしてプログラミングの基本を学んでいきます。

スライド資料