ドラムセット表示アプリ(改良版)2011年08月22日 12時06分51秒


Quartz Composer コンポジションを、Xcode でスタンドアロンアプリに書き出しました。

Ver2.0(笑)です。


 ここをクリックするとダウンロードできます。(5.9MB)

(公開終了)


DTM初心者の方が、ドラムセットの配置例とドラムの名称、ドラム譜上での記載例、及び鍵盤上での一般的な配列(GM配列)を覚えられるように作った教材です。(B0以下、D#1、F2以上は省略)

OSX10.6以上で動くMacと、MIDIキーボードなどMIDIノートメッセージを出力する楽器があれば動作します。


改良点と残念な点


・音も出ます。一応ベロシティ対応ですが、あまり正確な反応ではありません。

・視点の移動に合わせて、音像定位も移動します。

・Sound のチェックを外して消音出来ます。(他の音源の音だけ聞きたい場合など)

・バスドラムだけでなく、ちゃんとペダルも付けました(笑)

・ウインドウサイズ変更できます(・・でも、アスペクト比固定にするにはどうやったら??)

・ハイハットオープン、クローズ、ペダルの排他的処理(同時に発音させない処理)が作れませんでした。(今も考え中)

・私のMacBookPro(古い)とOxgen49だけで発生する不具合かもしれませんが、アプリの起動に時間がかかりすぎた時は、殆どの場合MIDIノートを正しく受診できなくなっています。一旦終了し、MIDIキーボードのUSB端子を差し込み直すか、電源を入れ直してから再度起動すると正常に動きます。

3D Sound Player2011年08月20日 08時00分05秒


Quartz Composer コンポジションに、発音機構も組み込む場合は、3D Sound Player を使用します。

が、どうも使いにくいです、コレ。

Patchは全て、Enableのチェックがはずれている時にはパラメータ変更が効かないので、発音させる前に音量や定位やピッチを指定したくても出来ません。

つまり、Note On Velocity 対応が可能ではあるのですが、タイミングの問題で正しく機能してくれないわけです。

Enableとは別に発音トリガーがあれば良いのですが・・。

で、波形の先頭に50msec程の空白を作って、わざと発音タイミングを遅らせたりします。

当然気持ち悪いです。

何か、良い方法はないものでしょうかね・・。



見た目がきれいだったのでなんとなく2011年05月22日 13時49分14秒

おや、結線が模様みたいになっててきれい・・。

Quartz Composer のプログラミング中によくある事。

(クリックで拡大)



初歩的な音楽理論の授業用に作った、教材アプリの一つです。

(クリックで拡大)


1つの Quartz Composer コンポジションに多機能を詰め込まず、単機能のアプリに分けて必要なものだけ起動させた方が授業では使いやすい、という事にやっと気づきました。



32フレット(実質37フレット音域)ギター2011年03月18日 14時59分26秒



32Fret Guitar

Quartz Composer & MIDI (Example 12)

MOVIE


今度は、憧れのハイフレットギター(ヘルゲ仕様)で作ってみました。

ついでにチョーキングとビブラートにも対応(?)しています。


全音フレット上に無いノートは、その音が存在する他の弦のMIDIチャンネルに割り振る、という機構(私は Cubase の Input Transformaer で作りました)を間に挟めば、言わば「ハイフレット・シミュレータ」・・フレーズをハイフレット音域で演奏する場合、どういう運指になるのかを確認できる・・という事に、作った後で気付きました。

いつの日か、ハイフレットギターをオーダーで作った時には、練習に役立つ・・んじゃないかな・・とか(笑)

色々と遊んでみて判ったのですが、28フレット以上を最も有効に使えるキーは、E(C#m)なのですね ・・。


こんなもので遊んでくれる人は極端に少ないですし、スタンドアロンのアプリに書き出してもしょうがないので、公開ファイルはQCコンポジションのままです。


Quartz Composer 4.0以上で開けます。

File Download(公開終了)


既にハイフレットギターを所有していて、GKなどのデバイデッドピックアップを装着済みならば、そのまま演奏するだけで、弾いた通りの映像になりますが、まずそんな人は居ないでしょう(笑)

普通のギター + GK ならば、GR か VG-99 側で(または、間に何らかのMIDIプロッセッシング可能なツールを挟んで)ピッチを1オクターブ上げる必要があります。


Fretboard2011年03月09日 15時01分27秒



Quartz Composer & MIDI (Example 11)

MOVIE


殆ど Line パッチばかり使って、何か作れないかと考えていて、思い付きました。

ギターの指板って、殆ど「線」ばかりですよね。

で、暇だったので作り始めたら、以外に奇麗だったので公開します。


振動の大きさとか早さとか、玉の色と明るさとか、弾いた強さ(ベロシティ)に対応させたり、ほんと無駄に凝ってみました(笑)


Mac内でMIDIノートを扱えれば、とりあえず動きますが、やはりこれは GR か VG で、ギターから変換されたMIDI信号をMacに送り込める環境を備えてないと面白くないでしょう。

MIDIコンバータのモード設定は、もちろん MONO Mode で、1弦~6弦 = 11ch~16ch です。

(動画ではギター2本ですが、ファイルでは1本です)


File Download(公開終了)

MacOSX 10.6以上


ちなみに、チョーキングや縦方向ビブラートの表現も大して苦労する事無く追加できますが、Guitar >> MIDIコンバータからのピッチベンドは(ホイールみたいにバネが付いてるわけではないので)手を離した時に完全に中央値に戻っているとは限らず、その結果、弦を表現している Line に折れ目が付いたりして美しくなかったので、今回は見送りました。

それでジャズ風な演奏にしたわけですけど・・・まあ、得意な分野じゃないので演奏内容は大めに見て下さい(笑)


Guitar → MIDI → Graphic2011年03月06日 15時23分11秒


Quartz Composer & MIDI (Example 10)

Lineパッチの各座標に、Queue経由で順番にMIDIノートデータを渡しています。
見た目の賑やかしに、光線銃みたいなのと星空を追加しました。

フィルターエンベロープ補助教材2011年02月16日 16時10分37秒



Quartz Composer & MIDI (Example 09)

MOVIE


Logic の ソフトウェア音源 MS P で、シンセサイズの基本を学習する際の補助教材として作りました。

授業用では M-Audio Oxygen49 のプリセッットを「01」にした状態で、C1~C17が使えますが、下記の一般用では、最初の画面に表示されたCCを送ってやると機能します。

まあ、こんなモノ誰もいらんでしょうが(笑)


フィルターエンベロープ視覚化アプリ

File Download(公開終了)

MacOSX 10.6以上


停滞中(追記)2011年02月06日 09時29分35秒


ここまで進めてきましたが・・


古いバージョンのマニュアルしか見当たらないで、仕方なくそれを見ながら進めてきましたが、Listing 5-1 がどうたらいう所から、先へ進めずにいます。

ここまで凄く楽しかったのでここで止めたくないのですが、まあ、私はプログラマーになりたいわけじゃなし、なれるわけもなし(笑)必要な事は覚えたので、まあ良いか・・。


Quartz Composer コンポジションを、スタンドアロンで機能するアプリにし、パラメータを制御するコントローラを備えるところまで出来ましたが、ウインドウサイズを自由に変更したり、フルスクリーンにしたりしたければ、ここから先、このテの知識が必要なようですね。


MacOSX10.4 の Developer/Examples/Quartz Composer に入っていた Player というフォルダのXcodeプロジェクトをビルドした「QuartzComposerPlayer」が、現在(MacOSX10.6 )Developer 付属の Quartz Composer Visualizer でしょうから、何も自分で作らずにそれを使えば良いだけなのですが、まったく困った事に、アスペクト比 4:3 のコンポジションだと、MIDI制御系などが正しく機能しないのです。(ディスプレイ設定を 1024 × 768 などにしても、表示が合っているだけで制御が機能しません)

で、何故、私が今時 4:3 でコンポジションを作っているかというと、この2ヶ月の作業は全て


 ライブハウスのプロジェクタで、演奏中に表示させるため


・・であるからです。

Quartz Composer のプログラミングを練習した一番の目的はそれで、教材作りは副産物でした。


しかし残念・・。

この先の項目をざっと見た所、コードを理解できなくても、コピペするだけで何とかなりそうなのですが、マニュアルで説明されているバージョンと、今のXcode(Ver 3.2)は、あちこち違うので、図解説明があっても殆ど役に立ちません。

Web上にも解説は見つからず、自分であれこれ試しまくるしかない状態で、実はここに辿り着くまででも大変でした。


MacOSX10.4 のままにしてある、以前使っていた PowerBookG4 で、その時点でのXcode(Ver 2.0)を使ってみたところ、上記の部分までは解ったものの、そこから先で???

残念・・。


まあそれでも、コードを一行も書かず、その知識も全く無いまま、なんとか一応アプリケーションらしきモノを作れる所まで辿り着きましたし、Quartz Composer を起動したままなら、フルスクリーンでの表示も出来ますから・・。少なくとも、自分がやりたかった、ギターによる映像制御に関しては、ほぼ全て実現できて、その点は満足です。

残念ながら、まだ次のライブの予定はありませんが、その時には披露できます。


しかし、音源テンコモリの Reason を、Cubase のMIDIプラグイン経由でギターから鳴らしながら、さらに Quartz Composer を起動した状態でライブって、大丈夫かな・・。

たぶん大丈夫じゃない・・。

何とか工夫しないと。


テンポ検出2011年01月30日 16時14分57秒


つまらないもんですが(笑)タイミング検出と平均値算出、及び許容範囲設定の機構を作っておきたかったので・・。

数値表示だけだと、見た目があんまりそっけなかったので、ボールに撥ねてもらいました。

回転がめちゃくちゃですが気にしないで下さい。


MOVIE


Quartz Composer にはオーディオ入力のパッチもあり、ピークレベルとスペクトラム(16バンド)を出力できるので、周波数アナライザや波形表示も可能です。

ただ、正弦波やパルスを使って試してみたところ、あまり精度が高くないように思いました。

それでも、このようにマイク入力からのピークを検出するくらいなら、当然ながら問題ありません。


Maximum Tolerable の2つの設定値からズレたタイミングでビートが入った場合、平均テンポの計算から除外するようにしてあるので、普通の8ビートなどならば、シンコペーションやゴーストノートが入っても、テンポの数値を維持できます。


テンポを検出したところで、MIDIクロックの(受診はできても)送信はできないので、数値をQuartz Composer から外部に出して何らかの利用をするなら、OSC (Open Sound Control) を経由させるしかないでしょう。


3D Drumset / Drum Score / GM Arrangement2011年01月27日 14時59分22秒



Quartz Composer Composition

3D Drumset / Drum Score / GM Arrangement 


MOVIE


授業用に作った Quartz Composer コンポジションです。

DTM初心者の方が、ドラムセットの基礎知識とドラム譜上での記載例、及び鍵盤上での一般的な配列(GM配列)を覚えるのに使用します。(B0以下、D#1、F2以上は省略)

OSX10.6以上で動くMacと、MIDIキーボードなどMIDIノートメッセージを出力する楽器があれば動作します。