Macのfinderでも直接パスを入力したい

Windowsに慣れてしまっているので、どうにもfinderには慣れない・・・。
特にエクスプローラみたいにパスを直接入力出来ないのがもどかしい(出来るかもしれないけど・・・無知)。

下記のソフトをインストールすることで解決した。
FinderPath

「Command+G」でウィンドウ上部にアドレスバーが出てきて入力出来る。
Tabで補完もしてくれて捗る!

Mac OS X Lionで動作しました。

Arduino+Music Shieldを使う(準備編)

Arduinoから音声を再生したかったので、下記のシールドを購入した。
Seeed Studio INT109B2P Music Shield

インストール方法は下記に書いてある。
Music Shield - Wiki

ひとまずwikiの手順に従いMusic v1 14.zipとNewSoftSerial.zipをダウンロード。
で、..\arduino-0022\librariesに置くらしいが・・・どこやねん。
macだとよくわからなかった。調べてみたら、
/Applications/Arduino.app/Contents/Resources/Java/libraries
でいいみたいだ。
ディレクトリをコピーするとArduinoIDE上でSketch→Import Library...にmusicとNewSoftSerialが追加される。
あとportpins.hの書き換えも必要なので、
/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/avr/include/avr
にあるportpins.hを上書きする。
コンソール開いてmvやらcpやらで書き換えました。

で、サンプルスケッチを走らせたものの・・・コンパイルは通ったのに再生されない!
よく見たらmicroSDはSDHC(4GB以上)をサポートしてないのね・・・。

ひとまずAmazonで手頃な1GBのをポチってみた。
到着しだい試してみる予定。ちゃんと動くといいけど・・・。

[追記]
1GBのmicroSDで動いた!やはりmicroSDHCは非対応。

processingとNyARToolkitでCGにテクスチャを貼る

NyARToolkitでARマーカに画像を重畳したい。
なのでARマーカに合わせてCGで正方形を描画し、任意の画像をテクスチャとして貼ってみる。

下記のコードで動いた。

import processing.video.*;
import jp.nyatla.nyar4psg.*;

Capture cam;
MultiMarker nya;

// image setting
PImage t_image; // texture image
int t_image_l = 160; // marker and texture size

// display setting
int DISPLAY_W = 640; // display width
int DISPLAY_H = 480; // display height

void setup() {
  size(DISPLAY_W, DISPLAY_H, P3D);
  
  // Setup for NyARToolkit.
  colorMode(RGB, 100);
  println(MultiMarker.VERSION);
  cam=new Capture(this, DISPLAY_W, DISPLAY_H);
  nya=new MultiMarker(this, width, height, "camera_para.dat", NyAR4PsgConfig.CONFIG_PSG);
  nya.addARMarker("patt.hiro", t_image_l);
  
  // Setup texture
  t_image = loadImage("hoge.jpg");
  
}

void draw()
{
  if (cam.available() !=true) {
      return;
  }
  cam.read();
  nya.detect(cam);
  background(0);
  nya.drawBackground(cam);//frustumを考慮した背景描画  
  
  if((!nya.isExistMarker(0))){
    return;
  }
  nya.beginTransform(0);

  beginShape();
  texture(t_image);
  vertex(t_image_l/2*(-1), t_image_l/2*(-1), 0, t_image_l);
  vertex(t_image_l/2, t_image_l/2*(-1), t_image_l, t_image_l);
  vertex(t_image_l/2, t_image_l/2, t_image_l, 0);
  vertex(t_image_l/2*(-1), t_image_l/2, 0, 0);  
  endShape();
  
  nya.endTransform();
  
}

vertexで指定している、4つの引数が謎。
1番目はx座標、2番目がy座標であることはわかるが、3番目と4番目はなんだろう・・・?
テクスチャの幅・高さだろうか。

実行例

元画像

実行結果

テクスチャの画像を切り替えることで、アニメーションのように見せることも出来る。

processingでOpenGLとカメラ(Capture)を使おうとしても実行されない場合の対処法

NyARToolkitの「withOpenGL」というサンプルコードを実行しようとしたが出来ない。

まさに下記の状況が起きた。
processingで描画モードをOPENGLにして,Captureとか使うときの注意 - いつきの技的日記

processingで,
size(width, height, OPENGL);
こんな感じに描画モードをOPENGLにして,そこでvideoとか使いたくて,
Capture video;
video = new Capture(this, width, height);
と,した時に,環境によって動かない時があるっぽい.

どうなるかというと,実行は出来てウィンドウは出るんだけど,そこで何も表示されないままフリーズ.
エラーや警告文は無し.stopボタン押せば消えるけど.

自分の開発環境は
・Max OS X Lion
・Processing 1.5.1(1.2.1でも発生)

対処法

size()直下にレンダラの動作条件を設定するhint()メソッドを書く.

size(width, height, OPENGL);
hint(ENABLE_OPENGL_4X_SMOOTH);

ひとまずこれで動いた。
OpenGLを使うよ!」ってことを明確に設定出来るのかなー。

processingで動画を流したい

メモ書き。

あまりに重い動画を再生しようとするとメモリを確保出来ずエラーが出たり落ちる。
NyARToolKitと組み合わせて動画を再生するなら、OpenGLを使うのが良さそう。
下記のエントリが参考になりそうだ。
Processingで手抜きプロジェクションマッピング - Imaginable Reality

モバイルプロジェクタを使ってみるのも面白いかも。目新しいし。

[追記]
メモリ不足で落ちる問題、IDEのメモリ使用量を増やす設定をしないとダメかも。
下記を参考にやってみよう。
Reco memo: Processing: IDEからアプリ実行時のメモリ確保量の変更

[追々記]
メモリ容量、1.5.1だとテキストファイルではなくメニューから設定出来るようになってた。
ひとまず1024MBを設定してみた。落ちなくなったみたい。

processingでARToolKitを使ってみる

NyARToolkit for processingを使えば良いみたい。
NyARToolkit for processing | NyARToolkit project

Readme.txtに書いてある通りにサンプルを動かすと(当たり前だが)うまくいった。
またUSBカメラを接続した場合、特に設定を書かなくても自動的に選択された。
(デフォルトだとFacetimeのカメラ)

NyARToolkitではMultiMarkerというクラスを使えば複数マーカもそれぞれ別のものとして認識してくれるらしい。
リファレンスは下記の通り。
http://nyatla.jp/nyartoolkit/doc/nyar4psg/api/1.1.6/index.html?jp/nyatla/nyar4psg/package-summary.html

[追記]
IDを指定出来るNyIDマーカというものがあるらしい。
下記のサイトで任意のIDのマーカを作ることが出来る。感謝です。
NyID Marker Maker / FLARToolKit / The Sixwish project

電子工作で音声を再生する方法を考える

やりたいこと

ボタンを押す→音声が流れる
ということをしたい。

方法を考える

APR9600を使う

APR9600という再生/録音が出来るICがある。秋月のキットを買ってやってみた。
音質はプツプツ・・・。ビットレート上げたり回路を改善したら良くなるだろうか?
最有力だけどもうちょっと調査が必要。
http://akizukidenshi.com/catalog/g/gK-02060/

ArduinoのWave Shieldを使う

これを使う。SDカード内のwaveファイルが再生出来るみたい。
http://www.adafruit.com/products/94

MP3プレーヤーを使う

秋葉原で売ってる安いMP3プレーヤーを流用する。
一番簡単だけど最後の手段かな・・・。

音声流すだけ、と思っていたけど意外と大変。
バンダイのおもちゃとかどうやってんだーー。