Archives

You are currently viewing archive for August 2006
カテゴリ: max/msp/jitter
投稿者: mio
gl.render

これは楽しい!3Dで動く物体の残像がのこせるようになりました。
jitter使ってる人がよくこんなことしてるけど、やっと分かった!

ポイントは、jit.gl.renderにつながってる、pak erase_colorってところ(背景を黄色くしてるところ)。ここで、jit.gl.renderの中でeraseするときに、どういう色で消すかを指定できるのですが、左からRGBAという風に指定できるようになっています。で、このAはalphaなのですが、こいつを、0.1とかにしてやると、毎回0.1ずつ古くなった映像を消していくので、必然的に残像が残るようになります。

そして、#021でも書いた、jit.gl.renderの背景色もかえられるようになりました。これも楽しいなぁ。フーリエ変換か何かを使って、音の周波数に合わせて色を変えるとかできそうだしね。

ちなみに、今回パッチの右側にぐちゃぐちゃ色々書いてるのは、全部、jit.gl.platoに繋がってて、要はどういうオブジェクトをどうやってレンダリングするかを指定してるだけです。ワイヤーフレームにするのは、poly_modeね。
カテゴリ: max/msp/jitter
投稿者: mio
フレームレートを上げたい!!ということで、第2弾。
今回はメモです。

ここを読む限り、どうやらjit.matrix系の処理は重いっぽい。

というのは、OPEN GLの処理は、多分だけどPCのATI radeonみたいな、グラフィックカードでレンダリングできるけど、matrix系の処理はグラフィックカードで処理できないっぽい。

だから、QuartzComposerでも、レンダリングしてる映像を全部画像扱いにして、それに対してエフェクトかけたりするのが重かったのかな。あとは、テクスチャが複雑なアニメーションだったりしても重くなりそう。

パッチコードの繋げ方とかも、metroによるbangのタイミングがずれたり無駄に多かったりすると重くなりそうですね。全部、OPEN GLで処理できるような3Dバリバリの映像は比較的軽そうだ。解像度も高くできそうというか、ディスプレイの解像度のまま映像を流せそうな感じ。

なるほどねー。
それにしても、jit.gl.renderのときの背景の色をグレーじゃなくて、黒とか白にするのはどうするんだろう。
カテゴリ: max/msp/jitter
投稿者: mio
trigger

triggerオブジェクトの意味がやっと分かった。
上にあるのは、HELPパッチです。

triggerオブジェクトは、インンレットからきたメッセージを、分岐させていくつものオブジェクトに伝えたいときに使うもの。なのですが、"t b b l i s"みたいに書かれている、bとか、lとか、iって何??とずっと思ってたんですが、やっとその意味が分かった。ってHELPパッチに英語で書いてるんだけどね(笑)

The arguments are l, b, i, s and f for list, bang, int, symbol and float. You can also enter constant ints, floats, or symbols. Default is two ints.

» 続きを読む

カテゴリ: max/msp/jitter
投稿者: mio
jit.gl.render

gl.text3d

jit.gl系のオブジェクトは前からいじってはいたのですが、やっぱり基本をちゃんと勉強しておかないと使いいこなせないので一から勉強し直すことにしました。上に書いたのは、めちゃくちゃ簡単なもので、単にOPEN GLを使ってテキストを表示しているだけです。フレームレートは、なんと400fpsそりゃそうだわね。動いてないし(笑)

どういう仕組みかというと、右のjit.gl.text3dで、3dのテキストデータを生成してjit.gl.renderを介してjit.windowに3Dのデータが行く感じです。

多分、jit.gl.text3dの中ではリアルタイムな3dデータがあって、jit.gl.renderにbangメッセージが来るたびにjit.jl.text3dの中にある3Dデータを読み取ってjit.windowに表示している感じだと思う。

» 続きを読む

カテゴリ: max/msp/jitter
投稿者: mio
jitter重いですね。もう、jitterでは映像ながさずに、midi信号だけQuartz Composerに送って、そっちで映像流した方が早いんじゃないかって思っちゃうぐらい遅いような気がしています。多分組み方とかが悪いんでしょうが。

とにかくレンダリング速度あげたいので、少し実験をしてみました。
今回注目したのは、jit.pwindowの数と、その解像度についてです。

まず始めに、jit.pwindowをめちゃくちゃ増やしてみました。すると想像通り、jit.pwindowを増やすたびにフレームレートが少しずつ落ちていって、7~8個あたりからだいぶ重くなってきました。ここでは8fpsぐらいになりました。
jitter


次に、jit.pwindowを1つに減らしてみたところ、15fpsまで回復しました。
やっぱり、jit.pwindowの数はフレームレートに関係するみたいですね。
jitter


最後にjit.pwindowに送るマトリックスの解像度ですが、想像通り映像の解像度が高いほどフレームレートは落ちるようでした。ここでは、160*120に落とすことで、フレームレートを30ぐらいまで上げることができました。
jitter

まぁ、160*120つったらだいぶ粗いですが。
mac book proが欲しくなりますね。

OEPN GLで、テクスチャなしとか、ムービーのミキシングだけとかならなんとかなるんだろうか。ちなみにこの映像は、OPEN GLで、四角い平面に映像を貼付けているのでその分フレームレートは落ちていると思います。

ちなみに環境は以下の通り
Power Book G4 1.5GHz
Mac OSX 10.4 / max/msp 4.5 / jitter 1.5
カテゴリ: max/msp/jitter
投稿者: mio
spigot

バグがあるみたいです。Macだけらしいけど。
jit.qt.movie で、アトリビュートに@soc xxxx をいれると、xxxxという名前で、spigot ~からムービの音だけをMSPで利用できるようになるらしいのですが、spigot~のhelpパッチをみたところ、どうやらQuickTime Player 7 だと、ちゃんと動かないっぽい。

すぐに使う予定はないので、別に良いけど、spigot~はなんか面白そうなので残念。何か他にも音を取り出す方法はありそうだけどね。機会があったらまた調べよう。あとは、QuickTime6をインストールしなおせば使えるようになるらしいけど、ちょっと面倒そうだしね。

最近出たという、max/msp 4.6で修正されてたらいいんだけどね。

ちなみに今回上で使っている、@loop 2 というアトリビュートだけど、これは回文みたい、映像を最初から最後まで再生して、終わりまでいくと今度は逆再生して最初まで戻るというループの仕方らしい。面白いね。ループさせると格好わるくなってしまう映像だと、この再生の仕方が良さげですね。
カテゴリ: max/msp/jitter
投稿者: mio
qmetro metro

jit.gl.renderの使い方を色々調べていたら、qmetroというオブジェクトの存在に気付きました。役割的には、metroとほとんど変わらないっぽいってこところまでは、英語を読んで分かったんだけど違いについては全然分からなかった。

で、調べてみると、どうやらqmetro = metro + jit.qball ということらしい。
といっても分からないですよね。

どういうことかと言うと、映像をレンダリングするときとかに、metroが5ミリ秒ごとにbangメッセージを送っているとして、jit.gl.renderオブジェクトがレンダリングに20ミリ秒かかるとすれば、jit.gl.renderオブジェクトは最初のbangを受け取ってレンダリングしている最中にまた次のbangを受け取ることになってしまい、これでは処理が追いつかなくなってしまいます。

それをqmetroの場合は、jit.gl.renderのレンダリングが終わるまでに、jit.gl.renderに届いてしまったbangメッセージは、全て破棄して、レンダリングが終わるまで待ってくれるという何とも心優しいオブジェクトなのです。

簡単に解釈すると、
metro : 厚かましくて強引。割り込むタイプ。
qmetro : 優しい。相手のペースに合わせるタイプ。

という感じでしょうか。

詳しくはコチラコチラ
カテゴリ: max/msp/jitter
投稿者: mio
.sitを解凍できないという擦った揉んだを経て、ようやくエクスターナルオブジェクトのインストールができました。エクスターナルオブジェクトをダウンロードして解凍すると、オブジェクト本体(拡張子なし)、ヘルプパッチ(.help)の2つが入っているので、それぞれexternalsフォルダと、max-helpフォルダにつっこみます。下図

external object

externalsフォルダは、
アプリケーション → max/msp → Cycling'74 folder alias → externals

max-helpフォルだは、
アプリケーション → max/msp → max-help

でみれます。

今回は以下のサイトで、エクスターナルオブジェクトをダウンロードしました。
Ted Apel

ダウンロードしたのは、PD(PureData)の開発者であるMiller PucketteのPD objectをmax/mspに移行した、bonk~と、paf~と、fiddle~というオブジェクトです。
どれもなかなか面白そうなオフジェクト。
カテゴリ: General
投稿者: mio

項目なし

max/mspとは直接関係ないですが。。

エクスターナルオブジェクトを試したくて、.sitファイルをダウンロードしまでは良かったんだけど、解凍してもなぜかフォルダの中身が「項目なし」になってしまう。何でだろう何でだろう!!と思って、.sitファイルがおかしいのかなぁと思って、色々調べていたら、Tigerか、Stuffit Expanderのバグであることが判明。

どうやら、Finderの表示オブションで、「項目の情報をみる」にチェックをいれていたのが原因だったみたいです。チェックをはずしたら見事解凍できました。良かったーーーー。

ありがとうございました(情報源サイト)

こっちのページのコメントの対応策は凄いな。。なんと解凍後に出てくる「項目なし」のフォルダに、もとの.sitファイルを放り込むと、項目なしのフォルダに中身のデータが表示されるようになるという。。どうなってるんだ。。
カテゴリ: max/msp/jitter
投稿者: mio
max msp delay

maxいったり、jitter触ったりせわしなくて申し訳ないです。
今回のはメチャ楽しいです。ディレイです。
凄く簡単なのに面白いのが良いな。

凄くシンプル、tapin~にシグナルを指定したミリセカンド分を常にバッファに保存してそいつを、tapout~から出すだけっていう。tapout~は、アーギュメントを増やせばそれだけ、アウトレットも増えるという凄く分かりやすいオブジェクト。

コーラスとか、リバーブもつくりたいなぁ。
あとはディレイするときの音色とか音量を変えたりね。

そんで、この前のgrooveとか使って、簡単なミキサーっぽいのもmax/msp内部で作って、映像エンジンをくっつけて、映像から音を出力するするのを聴ける感じの音にして出せたら最高だ。jitterがやっぱり難しいっす。3Dにも手付けてみようかな。割と簡単にかっこ良くなりそうだし。

あと、上のパッチを遊んで、MIDIコントローラで、ディレイの幅をかえられるようにしてみました。ご参考に。

max msp delay midi

今回の参考URL

http://www.shonan.ne.jp/~hiro-s/pages/pre-tut/pre-tutorial.html
カテゴリ: INDEX
投稿者: mio
ちょっとエントリーが増えてきて、ブログのインタフェースでは不便になってきたので、max/msp/jitter関係のエントリーの目次ページを作っておきます。

#027 : OPEN GLでオブジェクトの表示・非表示を切り替える
#026 : 静止画をjit.gl.videoplaneなどに読み込ませるときのコツ
#025 : Max/Msp 4.6 Jitter 1.6

#024 : Max/Msp/JitterをCycling'74社から直接購入する
#023 : 3D映像の残像をのこす!
#022 : jitterのレンダリング速度を上げる(2)
#021 : triggerオブジェクト
#020 : jitterのOPEN GLの基本

#019 : jitterのレンダリング速度を上げたい
#018 : spigot~のバグ
#017 : qmetroとmetroの違い
#016 : エクスターナルオブジェクトのインストールの仕方

#015 : 音にディレイをかける
#014 : DVカメラのライブ映像をHDDに取り込む
#013 : DVカメラをコントロールする。
#012 : パッチコードとかオブジェクトの位置を揃えるショートカット
#011 : jitterオブジェクトのアーギュメントとアトリビュート

#010 : 音を映像にする
#009 : MIDIを受け取る!
#008 : max/msp メッセージとアーギュメントの処理の順番
#007 : jitterはじめの一歩
#006 : grooveさせる。(サンプリング×プレイバック)

#005 : 録音!
#004 : line~を使って音量を滑らかにコントロール
#003 : ~(チルダマーク)の意味
#002 : dac~とezdac~の違い
#001 : max/mspはじめの一歩
カテゴリ: max/msp/jitter
投稿者: mio
dv camera hdd

こいつは便利!
DVカメラのライブ映像をそのままパソコンのハードディスクに保存できちゃいます。あ、ライブ映像といってもDVから送られてくる映像ということなので、DVカメラのほうで、映像を再生すればそれが送られてくるので、お目当ての部分をDVカメラで探してどんどんQuickTimeファイルに落とし込んでいくということも可能です。まぁこんな苦労もHDDのDVカメラ買えば済む話なのかもしれないですがね。

そろそろ扱うオブジェクトの数が多くなってきたので全部は説明しないことにします。分からないオブジェクトは、右クリックしてヘルプを読みましょう。

今回のメインは、jit.qt.grab
まず、DVカメラの認識のさせ方ですが、画面の左上の方にある、getvdevlistをクリックします。(手打ちの場合は、get"v"devlist、の"v"をお忘れなく!)すると、画面中央あたりにある、プルダウンメニュー(ubumenuというオブジェクト)にDVカメラ等のデバイスのリストが表示されるので、その中から自分に必要なデバイスを選択します。次に、openというメッセージをjit.qt.grabに送ります。これでjit.pwindowにライブ映像が表示されるはず。

» 続きを読む

カテゴリ: max/msp/jitter
投稿者: mio
dv camera

ちょっと脇道にそれますが、DVカメラをコントロールする方法です。使うオブジェクトは、jit.avcです。このパッチを使う順序は、1getdeviceをクリック(やらなくてもいいかも)2openをクリックとして、あとはplayでもstopでも適当にいじってください。

gettimeは再生時のテープの時間をモニタできるもので、route timeのしたで、unpackを使って時間のリストデータを、number boxに展開しています。ちなみに一回おしただけだとその瞬間の時間しか分からないので、常に把握したい場合はmetroとかを使いましょう。

カメラモードにした場合は、recordや、repauseなんかも使えます。詳しくはjit.avcを右クリックすれば分かります。

このパッチを応用すれば、カメラをオートでコントロールできそうなので、面白そうですな。カメラの映像をパソコンに取り込む方法も調べよう。iMovieで取り込むの面倒だし。(やり方が悪いのかもしれないけど)
カテゴリ: max/msp/jitter
投稿者: mio
1

サンプルパッチをみていると何でこんなにパッチコードがきれいに揃ってるんだろうとか思っていたんですが、やっと簡単な揃え方が分かりました。

コマンド + Y

です。
ちなみに、パッチコードをいっきに選択したい場合は、option押しながらマウスでいっきに選択すればパッチコードも含めて選択することができるようになります。
なんて簡単なんだ。

2

どーん。
なんと、オブジェクトの位置を揃えるだけではなく、パッチコードまで、直角に折り曲げて揃えてくれます。
カテゴリ: max/msp/jitter
投稿者: mio
jit.matrix

jit.matrixに限ったことではありませんが、ほとんどのjitterオブジェクトは、4つのアーギュメントを持つことができます。また、それとは別にアトリビュートというものも指定できます。

アーギュメントは、上の画像でも表示されているような感じで、他のmaxオブジェクトと同じように数値あるいは文字をいれればOK。#010で英語で書きましたが、少し詳しく分かってきたので、それを書いておきます。

0. 出力データの名前 (オプション)(name)
1. 出力マトリクスのプレーン数(planecount)
2. 出力マトリクスの型(type)
3. 出力マトリクスの各次元サイズのリスト(dim)

0の出力データの名前は、前回も説明したように離れたところにあるjit.poke~のようなオブジェクトからその出力データを受け取るのに使われます。使わない場合は、jitオブジェクトの左インレットから入ってくる信号に従います。

1のplaneというのは、ARGB (aplha, R, G, B)のレイヤーのことみたいです。上にある例の場合は、4つのレイヤーを持つということなので、つまりフルカラーってことかな。

2のデータ型ですが、これは、char、long、float32、float64とか、そういうデータの型がはいります。charなら255色、floatなら浮動小数点が利用できるのでそれだけ細かい色の指定ができそうですね。ただし、charの方がデータが軽くなるのでレンダリングの速度は上がりそう。

3は要は画面のサイズみたいなもんかな。この場合2次元なので2つの値を指定しています。要は、3 × 128ってことね。だから3次元にしたいときは、3 128 64 みたいにすれば良いということ。

» 続きを読む

カテゴリ: max/msp/jitter
投稿者: mio
sound to movie

どーん。ついに、音を映像にできました。パッチも徐々に複雑になってきましたね。といっても、まだまだやってることはシンプルです。

今回一番の注目は、画面の右下にあるjit.poke~です。
ここで映像のためのマトリックスデータを作っています。
アーギュメントの書式は、

jit.poke~ マトリックス名 次元の数 色?

という感じです。

それぞれの説明をすると、

□マトリックス名
この名前を使ってそのままjit.matrixにデータを投げることができます。

□次元の数
この場合は2次元ということ。これを3にすると、インレットも1つ増えるので3次元ということだと思います。ただし、3次元という解釈で本当に合ってるかは自信がないです。適当なサイン波をいれても変化が感じられなかったので。。

□最後の色?
HELPの英語を読んでもよくわからなかったのですが、値を変えたら1だと赤、2だと緑、3だと青が出たので、色の設定なんでしょうか?

» 続きを読む

カテゴリ: max/msp/jitter
投稿者: mio
MIDI

そろそろMIDIコントローラーで遊びましょうということで、MIDIの受け取り方を調べました。まずはコントロールの値。これは、ctlinでOK。デフォルトでは、アウトレットが3つあって、左からコントロールの値、中央がコントロールの番号、右がチャンネルとなっています。

ただこれだと、それぞれのコントローラーごとに、ifとかを使うはめになりそうなので、以下のようにして、特定のコントロールからしかmidiを受け取らないようにする方が良さげです。


MIDI

この場合は、81番から受け取るってことね。
ちなみに、どのMIDIコントローラー(MIDIポート)からの信号を受け取るかは、ctlinや、midiin、noteinといったオブジェクトボックスをダブルクリックすれば指定することができます。



MIDI

次に、note(キーボード等からの入力)ですが、これも基本的にctlinと同じで、noteinを使えばOK。あと、ここでは、notein a と書かれていますが、このaというのは、オブションでつけられる設定だそうなのですが、今のところ何のことかよくわかってません。

MIDI

あと、おまけで、midiinfoというオブジェクトの紹介です。このオブジェクトは、bangなどの信号がくると、アウトレットから利用できるmidiポートのリストを吐き出します。midiinは、ctlinと、noteinがセットになったようなオブジェクトです。
カテゴリ: max/msp/jitter
投稿者: mio
max/msp/ message argument

ここで、一度基本に戻ります。maxでは、オブジェクトにメッセージやアーギュメントと呼ばれる数値や文字列を送ることができます。

メッセージは、オブジェクトの上に置いてある「1」「6 3」「290」と書かれてあるような、オブジェクトにパッチコードで繋げられているものです。
アーギュメントは、オブジェクトボックスの中に書かれている「5」のようなものを指します。だいたいのオブジェクトでは、デフォルトの値が設定されているため、アーギュメントを最初から設定していなくても良いようです。

この場合、ウィンドウを開いて、最初に「1」をクリックすると、1+5=6となりますが、一度右のインレットに「290」などといれると、その後アーギュメントに設定された「5」は「290」に上書きされるため無視されます。同様に、「6 3」をクリックした場合は、左インレットに6、右インレットに3を送ったのと同じことになります。(これは他のオブジェクトでもだいたい同じだと振る舞いになると思いますが、そうでないものもありそう。)

だからこの場合は、「6 3」→「1」の順番にクリックすると答えは、「4」になります。
ちなみに、「6 3」のようなメッセージをList型のデータと言います。

また、maxの処理の順番は、「右から左」が基本だそうです。これはアウトレットが3つあったときは、一番右にあるアウトレットに関わる処理から順に行われるということです。

それから大事なことを書いていませんでしたが、maxは、一番左にあるインレットに何か信号が送られてきたときに初めてそのオブジェクトの処理が実行されるということなので、2番目以降にあるインレットにだけ、いくら信号を送っても処理は実行されません。
カテゴリ: max/msp/jitter
投稿者: mio
jitter qt

ということで、max/mspはいったん置いてjitterもそろそろ始めたいと思います。

jit.qt.movieは、読み込んだ映像ファイルのコマをインレット1から、"bang"メッセージが送られてきたときに表示します。この場合は、metroを使っているため、2ミリ秒ごとに映像が表示されます。

注意したいのは、metroなどを使わなくても、映像を読み込んでstartメッセージをjit.qt.movieに送った時点で映像の再生自体は始まっているということ。つまり、metroなどを設定せず、画像が更新されていない場合でも、音はずっと流れるということです。これを止めるにはstopメッセージを送ればOK。他にも色々音量とかをコントロールしたりできそうな気はしますが、今回は初歩ということでこのぐらいにしましょう。

映像でもgroove~とか、groove~っぽいものを使えたりするんだろうか。
できたら面白そうですな。

ちなみに、パッチ画面で映像をプレビューしているのは、jit.pwindowというオブジェクトです。それから、音の信号は黄色と黒のしましまの線でしたが、映像の場合は緑みたいです。あと、jit.windowは画面の大きさをあとからウィンドウの端っことかをドラッグすればかえられるようだったので、jit.qt.movie で指定しているサイズは映像を読み込むときの解像度ということっぽいですね。
カテゴリ: max/msp/jitter
投稿者: mio
groove~

少しずつですが、それっぽくなってきました。
今回初めて使ったオブジェクトは、

waveform~
sig~
groove~
loadbang

の4つ。

waveform~は、画面右上にある音の波形を表示しているもので、buffer~の中身を表示するオブジェクトです。このボックス上で、自分で範囲を選択したりすることができるようになっているのが便利です。waveform~がないとbuffer~の中に何が入ってるか分かりませんが、waveform~があれば、それが何となく分かるようになります。また、groove~などと組み合わせることでより面白いインタフェースを構築することができるようになりそうです。

sig~は、siganlの略。この場合は、groove~を再生する周波数というか、スピードを設定できるようになっていて、sig~ 1で元のスピード、sig~ 0.5 でスロー、sig~ 2でハイスピード、sig~ 0 だと何も音が鳴らないようになります。また、マイナスにすると逆再生。

» 続きを読む

2006/08/04: #005 : 録音!

カテゴリ: max/msp/jitter
投稿者: mio
record~

遂に録音できるようになりました。録音に使うオブジェクトは、adc~、record~、buffer~なんですが、それぞれ以下のような役割を持っています。

adc~ : 外で鳴っている音を、パソコンに取り込む
record~ : 取り込んだ音をbuffer~という一時的な記憶領域に送って保存する。
buffer~ : 一時的な信号の記憶領域

まず、recordの左2つのインレットは音の入力です。1CHと、2CH。で、そのさらに右にあるのは、録音開始と終了のミリ秒の設定。デフォルトでは、保存先のbuffer~のデータが満タンになったら録音も勝手に終わる。

ちなみに、record~の左あたりにあるう、トグルは録音を開始するためのものであるが、buffer~が満タンになって録音が終わってもトグルはそのままなので、いつ録音が終わったのかが分かりにくい。今回の場合はbuffer~ soubdbite 4000 2とあるが、soundbiiteという名前の一時的な記憶領域に、4000ミリ秒、2CHの信号を保存するということ。だから、recordのトグルをONにしてから4秒間の音が録音されるということ。ちなみに、soubdbiteという名前は何でもOKです。

最後に一時的に録音した音を再生する方法だが、これにはいくつか方法があるらしい、ここでは一番簡単で色々応用できそうなplay~を取り上げる。play~は、さっき一時的に保存したbufferを読み込んで、様々なスピードで簡単に再生することができる。このplay~の上にあるline~はそのためにある。この場合は、0秒から4秒までのシグナルを、4秒かけて流すということになるが、最後の4000を2000にしたりすると、通常の倍の速度で再生されるし、-4000とかすると逆再生できたりとかなり面白いことができそうだ。

それから、metro~とか使ったりすれば、サンプリングした音を繰り返し鳴らしたりもできそうで面白くなりそう。

ちなみに今回はこちらのサイトを参考にしました。
カテゴリ: max/msp/jitter
投稿者: mio
max/msp

line~オブジェクトは、いろんなサンプルパッチで使われていて、何なのかずっと分からなかったのですが、「数値の変化を滑らかにする為のオブジェクト」であると分かりました。

入力の書式としては、
数値1, 数値2 時間A 数値3 時間B 数値4 時間C・・・という感じ。

時間Aは、数値1から2になるのにかかる時間
時間Bは、数値2から3になるのにかかる時間
といった感じ。
これをメッセージボックスとかに入力してクリックしたりすればOK。
ここではこの入力方法はとっていません。

それからメッセージオブジェクト(ここでは"2000"とかかている箱)の上にあるインレットは、何か値が変化したときにそれが下に送られるということみたいです。だから、上からくる信号は0でも、0.3でも、bangでもなんでも、下から出る値は2000になるということ。

だから上の例の場合は、数値オブジェクトの値が変わると、その値に2000ミリ秒かけて徐々に変化させるということ。ちなみに、line~オブジェクトの右のアウトレットは、値が目標値に達したときにシグナルをだします。左は普通に計算結果です。line~の下にあるオブジェクトは、number~といって、Signal monitor、要は出てくる値の確認ができるものです。


次に、*~についてですが、これは音の信号のかけ算みたいな感じかな。この場合は、左のインレットから440Hzのサイン波がきてて、それに対して、右のインレットから入ってくるline~の出力結果をかけるので、サイン波の振幅、つまり音量をコントロールできるようになっています。これはかなり重要ですな。サイン波にマイナスの数値をかけると、位相っていうんだっけ?とにかく波の上下が逆転するだけだから、音はちゃんと鳴るんだねー。高校の数学を思い出したよ。

そして、さっき説明したline~と、*~を使えば、line~をエンベロープジェネレーターとして使えるようになるということですねー。エンベロープジェネレーター(EG)は、時間による音量や音色の変化具合を決められるもの。だんだん盛り上がってきましたな。


scope~

最後に画面右下に鎮座している波形モニターみたいなものですが、これはscope~で、送られてきた信号をディスプレイすることができるものです。デフォルトの設定のままだと、波が細かく見え過ぎなので、このボックスを右クリックして「GET INFO」を選択して、(上図)Buffer per Piexelを4とか、Buffer Sizeを110とかにすればちょうどいいぐらいかな。この設定に関しては細かいことはまだ分かりません.


あと、ちょっとしたことですが、線を直角にひく方法がやっと分かった。。shiftキーを押してから、インレットとかアウトレットをドラッグすれば良かったのね。
カテゴリ: max/msp/jitter
投稿者: mio
cycle

オブジェクト名によく「~」(チルダマーク)がくっついているものがあるのですが、これ何だろうとずっと思ってたら、どうやら「~」が付いているものは、オーディオ信号を扱うオブジェクトだということが分かった。どおりで、「~」=「波の形」なわけだ!

例:
cycle~
*~
dac~
adc~

それから、パッチコード(ボックスとボックスを結ぶ線)が黄色と黒のシマシマになってるのもずっと謎だったんだけど、どうやら連続するデジタル信号の数値のストリームだということがわかった。
カテゴリ: max/msp/jitter
投稿者: mio
ezdacとdac

#001で、違いがよく分からんと言った、ezdac~(スピーカーアイコン)とdac~ですが、決定的な違いがやっと分かりました。

上みたいに、2つのウィンドウが同時に立ち上がっているときに、ezdac~や、dac~につながっているstartをおすと、2つのウィンドウの音が同時に鳴ってしまうのですが、dac~の場合startwindowというメッセージを送ることで、そのウィンドウとその中のサブパッチプログラムによる音しか鳴らないようにできるみたいです。こりゃ全然違うね。

ちなみに、cycle~のデフォルトの周波数は、0みたいで、横に数字を書くとその周波数の音が出せるようになるみたい。だから、cycle~を直接ezdac~につなげただけでは音が出なかったのか。。

ちなみに、右のウィンドウで、stopは、全てのウィンドウの音が切れます。あと、一番右にあるのはトグルといって、要するにスイッチのON/OFFつまりこの場合だと、start/stopということになります。
カテゴリ: max/msp/jitter
投稿者: mio
max

これだけで音がなるんだね。感動です。
数字だけグリグリドラッグしてしばらく遊べました。

上にある数字は音の周波数。

cycle~は「波形テーブル参照型オシレータ」といって、外部に用意された「波形テーブル(ウェーブテーブル)」を1周期とする波形を基本波形として使用するオシレータ、だそうです。なので、三角波とかノコギリ波といった波形を用意してcycle~に読み込ませると、簡単にいろんな波形をならすことができるらしい。
読み込ませる波形はbuffer~っていうデータ格納庫に入れとけば、cycle~に読み込ませることができるとのこと。buffer~とか難しそうなので、とりあえずパス。

下にあるスピーカーマークは、ezdac~でも出るそうで。
スピーカーマークの文字表記はezdac~なのね。
ezdac~と、dac~の違いがまだよく分からない。

dac~はダブルクリックすると、DSP Statusっていうウィンドウってのが出てくるけど、ezdac~では出ないのか。けど、openっていうメッセージをezdac~に送ったら、dac~をダブルクリックするのと同じことになるらしい。まぁ、とにかく、dac~の方が色々融通が効きそうですね。

dac~
↑dac~ダブルクリックと、openのクリックは同じこと。

DSP Statusでは、CPUの占有率や、inputデバイスの設定、サンプリングレートの設定とか色々できるみたい。


outputが、dac~で、
inputは、adc~ね。

adc~面白そう。

名前が覚えにくいので、
adc~は、アート・ディレクターズ・クラブと覚えることにします。
カテゴリ: max/msp/jitter
投稿者: mio
wacom

タブレットはマウスと同様に扱えるので mousestate オブジェクトでも値を取り出せるそうなのですが、wacomというエクスターナルオブジェクトを使えば、wacom社のタブレットから座標以外の様々なパラメータ、例えばペンの圧力(筆圧)や、ペンの傾き具合なんかを取り出せるようになるらしい。

カオスパッドっぽく使ったりできそう。
色々妄想が膨らみますね。

音のエフェクトのかけ具合をそのままドローイングにしたりね。エフェクトじゃなくても映像とかのタイムラインコントロールをxy軸に割り当てて、筆圧を音のボリュームに割り当てたりすると音量に強弱を付けた映像のスクラッチができるね。ペンの傾きとか入れたらコントロールしきれなくなりそうだけど。

まぁ、このオブジェクトが使いこなせるようになるのはまだまだ先になりそうだけどがんばります。

入手先(cycling74)

情報源

2006/08/03: About ...

カテゴリ: About
投稿者: mio
Karappo Interaction Lab.は、KarappoのAudio Visual Performanceのためのノウハウや、ライブのレポート、その他、映像や音響周辺の技術的なことをいろいろまとめていくサイトです。自分たちが調べたことが、他の人の役にも立てば良いよね、という考えのもと、単なる備忘録ではないサイトを目指して奮闘しています。内容は、今のところ、Max/MSP+Jitter、Processingが中心。

Karappoのライブ情報は、下記サイトにて。
mySpace - karappo
mixi - karappo コミュニティ

2007.10.15.
Mio



web design roomと部分的に内容がかぶるかもしれませんが、こっちは映像や音楽のことを中心に進めていく予定です。
主に、Max/Msp/Jitterを中心に、その周辺をいききしたりする感じですが、これからはもっとわき道にそれるかも。
以前はmax/mspのチュートリアルみたいな感じになっていましたが、これからはkarappoでのパフォーマンスや実験とかのレポートが中心になると思います。

2007.5.27
Mio