workshop/startup/main

代表的な開発ソフトウェア/環境

いざインタラクティブ系におけるアート,デザイン制作を行う場合,いったいどのような環境を利用すればよいのか, 初学者(プログラミング技術や電子工作,CADソフト等に慣れていない人)にはなかなかピンと来ないのが現状かと思います. このページでは,代表的な開発環境,ソフトウェアの超簡単な概要紹介を行います.いずれの開発ソフトウェア/環境も使えば 使うほど様々な応用や可能性が広がる,「よく出来た」ソフトウェア/環境になります.

ソフトウェア開発

ソフトウェア開発については,様々な専用ソフトウェアが公開されています.制作したい,表現したい用途に応じて 使い分けるのがもっとも適切かと思います.


音楽特化型

メディアアートと音楽は切っても切れない仲と言えます.1979年に始まったArs Electronica Festivalはもともと 音楽フェスティバルであったように,現代芸術において特に音楽家は先端技術を積極的に利用してきた背景があります. そのため,音楽に特化したいくつかの開発用ソフトウェアが存在します.

PD(PureData), Max/MSP

四角(オブジェクト)と線(パッチ)によって構成される開発環境です.Max/MSPは製品ですが,PDはフリーソフトウェアとして 配布されています.どちらも使いかたについては大きな違いはありません. 主に音響処理を目的として開発された背景を持つので,それらの処理に特化した機能が多く容易されています. またその制作過程の中で,グラフィカルな表現機能も身につけています.そのような拡張機能を利用する場合はPd-Extended版を 利用してください.

SuperCollider

ユーザ層としては,pdと似たところになりますが,pdがGUIなら,SuperColliderはCUIインタフェースが特徴的な開発環境です. どちらも音楽,音響信号制作を目的としているところが共通点となります.例えばサインはを出力するには次のようなプログラムを 記述します.

{SinOsc.ar(440,  0, 0.5)}.play

ビデオゲーム特化型

Unity

もともとはゲーム開発環境として,広く普及しました.現在ではゲーム以外にもエンタテインメントコンテンツに利用されるようになり, 視覚をメインとしたソフトウェア開発全般が可能となっています.3次元空間があって,そこにオブジェクトをおいて,キャラクターが 移動する,みたいな前提条件があれば,真っ先にUnityを利用するのが得策です.


グラフィック特化型

Cinder

一応紹介しますが,ほとんどの場合,Cinder使うのならOpenframeworksを使ったほうがよいです.ただ広告系インスタレーションを 考えている場合,Cinderの用意しているExampleで一発でしっくりくるかもしれません.NYの広告会社が提供するC++ ベースのライブラリです.ちょっといいすぎですが,広告会社が「OpenFrameworksかっこいいからうちもだそうぜ」 的なのりで捉えるとCinderの位置づけがよくわかると思います.ただ,視覚効果に関してはカッコイイサンプル,ライブラリを 提供しているので,知っておくことに損はないです.一部のライブラリや機能はMacしばりなので,Windowsユーザは避けても 良いかもです.ダウンロードしてXcodeから実行できます.


総合型

最初から制作するものが「音」を対象としたものなら,pdやSuperColliderが非常に有益ですが,それらを視覚的に操作したり ネットワークと結んだり,インタフェースを作成したり,一般ユーザへ配布するアプリケーションとして考慮する場合もあります. もちろんそのような機能もpdやSuperColliderに含まれていますので,制作対象物が音である限りはこれら開発環境でも良いかも しれません.しかし,音以外の機能が膨らむにつれ,開発環境としては別のものを利用した方が良い場合が多いです.例えば自分が 制作したいアプリケーションだと,開発者層は別の開発環境の方がたくさんいるかもしれません.さらにその場合,多くのExampleが 簡単に手にはいるようになるかもしれません.

一方で総合的な開発環境を使う面でのデメリットもあります.先のpdやSuperColliderで簡単に作成できた信号生成機能はこれから 紹介するものでは,相対的に作成が面倒になります.これらメリット・デメリットを把握し,作成するものに応じて開発環境を変更する というのもスマートな制作手法といえます.

Processing

プログラミング初学者かつ,具体的に何か制作したことがない,これから何か作ってみたい.というユーザには,現状では最も 適切なプログラム環境といえます.初学者を対象としたコンテンツも多く,豊富なExampleやコミュニティのお陰で,比較的 手軽にカッコイイエフェクトを作ったり,アプリケーションを作成することができます. 特に初学者については,Hello Processingで学習導入を行ってみるのをおすすめします.

OpenFrameworks

簡単にいうと,痒いところに手が届くC++ベースの開発環境になります.プログラム初学者向けにはあまりおすすめしません. Processingよりも導入やアドオンの追加方法など,洗練されていない部分がありますが,大規模プログラムやもともとC言語の 開発に慣れてる人にとっては,最高の開発環境の一つといえます.


電子工作

電子工作は上記のソフトウェア開発環境と異なり,事前に多くの物理的な装置が必要になるため,お手軽に開発をスタートする というのが,比較的大変です.H8やPIC,AVR等は代表的な個人開発用マイコンといえるでしょう.しかしこれらの開発には書き込み器や 周辺回路(クロックや電源回路等)を別途追加しないと動作しないなどといった,初学者にとって不便な側面が多く存在しました. それが近年Arduinoの普及により,比較的手軽に電子工作を体験する環境が整ってきました.2014年の現状において,電子工作入門 において,まずはArduinoを利用するのが初学者にとって最も適切といえます.

Arduino

Arduinoは Arduino SoftwareとArduino Boardからなる電子回路制作環境になります.Arduino SoftwareはProcessingライクな 開発インタフェースを持ち,Arduino BoardはAVRをマイコンに利用した,汎用IOボードになります.Arduino Softwareを利用し, Arduino Board上にプログラムを書き込むことで,任意の動作をマイコンに振る舞わせることが可能になります. Arduino Software(free), Arduino Board(例えばUNO), USBケーブル,PCの4つを揃えれば,開発環境を揃えたことになります.

実際に何かデバイス等を制作する場合,例えば加速度センサをArduinoで読み込み,PC上のアプリケーションと連動させる場合を 考えてみます.加速度センサ自体は様々な部品販売店で手に入れることができますが,マイコンとどのようにやりとりするか(IF)を 考慮し部品を選定しないと,加速度センサは買ったはよいけど,どうやってArduinoにつなげばよいかわからないということになり かねません.ハードウェアに関する基礎的知識があれば,データシートを読むことで容易にこの問題は解決できますが,初学者にとって データシートを読むことは容易ではありません.そこで,まずはArduinoによって実装事例が紹介されている加速度センサを探して みます.そこで見つかった記事などを参考に制作を開始するのが初学者や独学する場合にとても効果的です.下記に代表的な部品販売店を リストアップしておきます.

  • スイッチサイエンス
  • 千石電商
  • ストロベリーリナックス
  • 秋月電子通商
  • マルツパーツ

Fritzing

導入や実験段階ではブレッドボードやユニバーサル基板などである程度の試作は可能です.一方でその試作になれてきたら,基板をプロトタイプすることにもチャレンジしてみましょう.ブレッドボードでの試験を経て,すぐに基板を制作しまえば,組み込みの際に,嬉しいことやわかることが発見できます.Fritzingは電子工作入門者向けに開発された回路作成ソフトウェアです.グラフィカルに操作できるので,基板のパターン起こしまで,他のアプリケーションではわかりづらいところも比較的わかりやすく制作することができます.


加工機

ソフトウェア,ハードウェアと開発ができるようになったら,今度は外観を制作するための機械を利用しましょう. 代表的な工作機械として近年脚光を集めている3Dプリンタやレーザー加工機が挙げられます.これらの工作機械を 利用するためには,それに対応したデータを作成しなければなりません.特に3Dプリンタでは,一般的にはSTL形式 にてデータを作成する必要があります.CADなんてさわったことないよ,というユーザも多いと思います.CADソフトウェアには 様々な種類がありますが,ここではAutodesk社のFusion360をおすすめします.学生であれば無料で利用できるだけでなく,レンダリングからシミュレーション等超強力なCADソフトウェアです.

Autodesk Fusion360

Rhinoceros

Mac OSX版に関して,開発版という位置づけで現在無料で提供されています.


Copyright (c) 2015 Tetsuaki BABA all rights reserved.