2014年12月11日木曜日

Theremin on Processing

Theremin on Processing in progress?

テルミン・オン・プロセシング・イン・プログレス?
If you want English, here is English version.

これは Processing Advent Calendar 2014 の 12月13日(土) に参加している記事です。

Advent Calendar 初参加で今回自分の中で設定した objective は、
Processing を使って、 手の動きを検知し Theremin ができないか ということでした。
あとは 特別に何か用意しなくてもいい ということも考えました。

と思っているとほとんど時間が取れず、
でもその中で何ができるかを考えて実行するのも一つの勉強だと考えました (lean startup or microservice?) 。
なので温かくみてください...。

さて、しかしもうすでに同じことを誰かがやっているなら意味ないだろうと恐る恐る Theremin で調べてみると案の定ありました...。
Theremin webcam (Windows, Mac??)
http://www.openprocessing.org/sketch/29512

でもみてみると、 セキュリティのおかげで Web 上でうまく動かないし、ダウンロードしてもそのままでは動かず、なんとか起動させてみたんですが、画面が小さすぎて control できない状態でした。
これじゃあ音階が作れないということでやはり自作しようとする動機ができました(笑)

さて効率的に進めるため、 libraries とその examples を漁って関係するものを見てみました。

まず音ですが以下の二つを見てみました。

  • minim (Processing 用の sound library)
  • sound (Processing 純正)

純正 sound で十分なんで minim は却下。

Camera は、以下の三つを見てみました。

  • video (Processing 純正)
  • OpenCV
  • BoofCV (Java でできた CV library です)

初めに考えたのは  video の画像差異を検知し point を決定する方法で、 Processing 上で programing しないといけないのですが (最初に挙げた Theremin webcam でもやっていました) 、これは一から書くのも時間がかかるので却下。
そしたら CV なんですが、 OpenCV がなぜかうまく Mac OS に install できないため、原因を探って直す時間もないんで (笑) 、 BoofCV を採用。そこで使えそうな example をベースにしました。

他にも import 可能な library を見ていたんですが、うまく使えそうなものはありませんでした。

ということで今できているものがこれです。



そしてこちらが作業している repository です。
GitHub - Theremin on Processing

作ったものはこちらからダウンロードできます。
GitHub - Theremin on Processing - release page

Camera 解像度は FaceTime HD (1280x720) に合わさせてもらってます。選べればいいですけど...。

まず起動したら controller にする対象を drag して囲ってください。普通は手ですね。
横軸が pitch です。縦にすると短すぎるので...。左から右へ高くなります。
縦が 音量 です。下から上へ音量が上がります。


作っていて思ったのは、実演奏に耐えるには、精度等に問題があると感じたので、確かにinfrared camera device (e.g. Kinect, Leap Motion) を使えばより実用的になるかと思いますが、何も用意しなくてできるというところで今回はここまでにしておきます。


この記事は、技術的に特別なことをしたわけではないので、主に Processing でこういうこともできますよという紹介ですね (笑)

この記事と artifacts は、 Boulez ではないですが work in progress にさせてもらいます。
非常に時間が限られた中でも何かはできると分かりました。


さて実用的かどうか判定してもらうため...
Neko Piano さんにこれを使って演奏してもらいました。
はじめてでかなり難しそうです...。

先ず手始めに操作の確認と音階の練習。

音楽っぽく、ピノキオの「星に願いを」を歌ってもらいました。

うーん、かなり音痴な感じですが (笑)
一応、これで音楽が演奏できることは確認しました。

ちょっと他の YouTube の video も見てみましたが、こういう digital な Theremin だと、音を動かすところで技術的に満足して終わって、音楽を演奏しているのは見つからなかったです。初かも?

しかしなんとかものになって良かった...。

0 件のコメント:

コメントを投稿

Scala on VSCode

Scala on VSCode ===================== Docker を利用した VSCode remote development 上で Scala 開発をする方法 Links ========== ## Scala on VSCode remote...