2005年3月20日 (日)

MIDI Editor製作記(6)

MIDI Editorの鍵盤部分、"MIDI Display"。チクチクと製作を進めております。
ついにやっと、"MIDI Display"のウインドウが最前面にないとき、つまり他のアプリがメインになってる時も動作するようになりました。

下図はシーケンサーソフトと一緒に動かしてるとこです。
緑の線で示してるようにシーケンサーの出力とつなげれば、シーケンサーが弾いている音がバッチリと分かるのですね。
もちろん16チャンネル分を扱えます。鍵盤の上にある小さな□で、どのチャンネルが発音中かわかるようになってます。

まだまだ手をくわえないとイカンところは多いですが、基本的な動作に関してはメドがつきました。

050318

| | コメント (0)

2005年3月 2日 (水)

MIDI Editor製作記(5)

MIDI Editorの鍵盤部分、"MIDI Display"ですが、プログラミングの掲示板でアドバイスを頂き、遂に外部MIDI入力で鍵盤の色を変えられるようになりました。パチバチパチ。

これで例えばシーケンスソフトの出力を "MIDI Display"につなげれば、鳴らしてる音がリアルタイムで表示される訳です。シーケンスソフトが鳴らしてるコードやスケールをチェックするのに最適!

と思ったら、"MIDI Display"のウインドウが最前面にないと鍵盤の色が変わらない事が発覚してしまいました。ううっ、プログラム修正決定です…。

050302

| | コメント (0)

2005年2月25日 (金)

MIDI Editor製作記(4)

MIDI Editor製作記(3)で登場した "MIDI Display"ですが、その後もチマチマと作成を進めてます。

鍵盤をマウスでなぞると鍵盤の色が変わるようにできたのですが、肝心の「MIDIノートイベントで鍵盤の色を変える」というのがなかなかうまくいきません。
色を変える時に呼ぶ関数が、マウスでなぞった時にはうまく働くんですが、ノートイベントの時にはちゃんと動いてくれないんです。うーん、なぜ?

このままでは "MIDI Display"ではなくて、単純に "MIDI Keyboard"になってしまう…。
050224

| | コメント (0)

2005年2月13日 (日)

音楽サイトオープン

音楽と Macの話題を扱うサイト、SYU MUSICをオープンしました。
音楽と Macというだけでは幅が広すぎますので、作曲や楽器、音楽ソフト、自作ソフトなどに焦点を絞ってやっていきたいと思っています。よろしくお願いします。
今のところ、見どころはエフェクター原理講座です。色々なエフェクターの原理について解説しています。今後も随時内容を追加していきますので、ご興味のある方はぜひどうぞ。

| | コメント (0)

2005年2月10日 (木)

MIDI Editor製作記(3)

MIDI Editorの機能の一環として、Macの画面上に鍵盤を表示するソフト "MIDI Display"の製作を始めました。

050210MIDI Display

鍵盤の数は景気よく MIDI規格の Maxである128鍵、10オクターブ半あります。もう弾き放題です。
現在、鍵盤の図形表示と MIDIキーボードからのノートメッセージ受信処理まではできましたが、受信したメッセージを鍵盤上に表示するとこで詰まってます。弾いた鍵盤を赤く表示したいんですが、表示処理がなぜかうまく行きません。うーむ。
やっぱり Objective-Cの理解が足りないのか…。こういうときに昨日書いた「Objective-Cの解説本」があればいいんですけどね〜。

| | コメント (0)

2005年2月 9日 (水)

MIDI Editor製作記(2)

Mac(OS X)でのプログラミングは、Xcodeという開発ツールで行います。これは OS Xに無料で付属しているという有難いツールで、Java,AppleScriptなど数種の開発言語を使用できます。
今回の MIDI Editorは "Objective-C"という、ANSI-Cにオブジェクト指向の拡張を加えた言語で製作しています。
この "Objective-C"は Xcodeでの開発言語としては大きな柱なのですが、一般的にはちょっと(というかかなり)マイナーな言語のようです。例えば大きめの本屋に行けばC言語関連の解説本はC++やC#を含めてかなりの数がズラッとならんでますが、「Objective-Cの解説本」となるとまず見当たりません。
いえいえ、「Xcodeの解説本」であれば、つまり「Xcodeの使い方の本」であれば本屋にあるのですよ。私も2冊買っております。ですから Xcodeで OS Xのプログラミングをすること自体はこれらの本を見ながらできるのです。でも、「Objective-C言語そのものの仕様・文法を解説した本」というのが無いんです。例えるなら、「海外旅行で使える英会話」という本ならあるけど「英文法」の本が無い、って感じでしょうか。
ちょっとしたプログラムを作る分には「Xcodeの解説本」でOKなんですが、Objective-Cを基礎からきちんと理解したいと思った場合に、「あれれ、よく分かんない。どうしよう?」となってしまいます。
幸い、Objective-Cを解説したサイトはいくつかあるようですので、現在はそれらを見つけながら勉強中です。
いい解説本や良いサイトをご存知の方は教えてくださいませ。

| | コメント (0)

2005年2月 8日 (火)

MIDI Editor製作記

私が持ってるシンセサイザーの1つ、JV-1010はラックマウントタイプと言って鍵盤が付いてない小さな箱形で、本体では音色の編集ができません。ではどうするのかというと、「ミディ・システム・エクスクルーシブ」という信号を Macから送り込んでやるんですが、これがなんと16進数のデータなのです。例えば、「ちょっと音量を大きくしたいな〜」と思っただけでも、このようなデータを直接入力しなければなりません。
"F0 41 10 6A 12 03 00 00 2E 7F 50 F7"

「やってられるか〜っ!!」魂の叫び

最近のシンセは専用ソフトを Macに入れてマウス操作で音色の編集ができるのですが、JV-1010には Mac用の専用ソフトがありません(Windows 98用はあるそうですが)。

うーん、困った、どうしよう……、「よし、作ろう」

ということで、050208MIDI Editorという名前のソフトを作り始めました。
※画面は開発中につき、変更になる場合が…と言うか、毎日変わってます。


今のところ、
・32本のスライダーにJV-1010の各機能を割り当てて、スライダーをみゅいんと動かすと音色が変わる
・プログラムを切り替える
・プログラムを切り替えるとそれに合わせてスライダーが自動的にしゃしゃっと動く
というところまでできました。まだまだ追加しなければならない機能は多いのですが、最終的には音色データの保存などもできるようにしたいと思ってます。

| | コメント (0)