Home > MIDI

MIDI Archive

MIDI Keyboard + visp + SiONを使って、絵を描いてみる


先月の27日に開催された東京てら子Vol.18 『夏休みの自由研究発表会』で発表した内容をざっくりと。

動画を撮影してみましたので、ご覧ください。

タイトルにもあるように、MIDI KeyboardとvispとSiONを使って、キーボードの鍵盤を叩くと音が鳴って、ランダムに円が描写されるというデモです。

MIDIキーボードを衝動買いしまして…

前回の東京てら子Vol.17(テーマは音)を終えた後、僕の中でキーボード熱が再燃しちゃいまして、MIDIキーボードを衝動買い。

演奏するだけでは勿体無いということで、キーボードを使って、何か出来ないかと…

曲を演奏したら、叩いた鍵盤と連動して、何かが描画される。曲が終わると、絵が完成(違う曲を演奏したら、違う絵になる)すると面白いんじゃないかと。

MIDIキーボードとの連携

はて、MIDIキーボードとFlashの連携はどうすればいいのか?

ほえろぐさんの以下の記事を参考にさせていただきました。

な~るほど。vispというMIDI Proxyを使ってあげると良さそうです。(そういえば、東京てら子Vol.17で、MIDIキーボードを使ってデモされたfeb19さんも、vispを使われていたような…)

vispをダウンロード&インストール

ということで、vispをダウンロードしてきます。

僕はGoogleCodeの方が分かりやすかったので、GoogleCodeから必要なものをダウンロード。

visp(GoogleCode)からダウンロード

zipファイルを解凍し、midi proxyの方は、インストールしておきます。

あとはMIDIキーボードをPCに接続して、proxyのexeを立ち上げて、コードをコンパイルすればOKです。

SiONを使ってみる

僕は勉強がてらSiONを使ってみました。

package
{
	import com.visp.midi.MidiManager;
	import com.visp.midi.NoteEvent;
	import flash.display.Sprite;
	import flash.events.Event;
	import org.si.sion.SiONDriver;
	import org.si.sion.SiONVoice;
	import org.si.sion.utils.SiONPresetVoice;

	/**
	 * MIDIキーボードとSiONの連携テスト
	 * @author flabaka
	 */
	public class SionTest extends Sprite
	{
		private var _manager:MidiManager;
		private var _sionDriver:SiONDriver;
		private var _voice:SiONVoice;
		private var _driver:SiONDriver;
		private var presetVoice:SiONPresetVoice;

		public function SionTest():void
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}

		private function init(e:Event = null):void
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);

			//MIDI Managerの設定
			_manager = MidiManager.getInstance();
			_manager.initialize();

			//SiONの設定
			presetVoice = new SiONPresetVoice();
			_voice = presetVoice["midi.piano1"];
			_driver = new SiONDriver(2048);
			_driver.setBeatCallbackInterval(4);
			_driver.play();
			_manager.addEventListener(NoteEvent.NOTE_ON, noteOnHandler);
		}

		private function noteOnHandler(e:NoteEvent):void
		{
			//キー番号を取得
			trace(e.pitch);
			_driver.noteOn(e.pitch, _voice, 4, 0, 0);

			//他の処理をあれこれ

		}

	}

}

ざっくりと、コードはこんな感じ。

e.pitchとすることで、どのキーが押されているのかが分かります。

presetVoiceを変更すれば、ギターとかいろんな音を出せます。

とりあえずこれで音は鳴るんですが、もっといい書き方があるのでは? と、現在あれこれ検証中。

今後はFrocessingとかHYPE Frameworkとかを絡めて遊んでみようかな? と思っています。

USB-MIDIキーボードを買ってみた

  • 2011-08-13 (土)
  • MIDI

前回の東京てら子で、いろいろと刺激を受けたらMIDIキーボードが欲しくなったので、衝動買いしちゃいました。

ちょっと遊んでみる程度なので、何か手ごろなものはないかな~? と探してみたら、割と良さそうなものが…

KORGのnanoKEY2

購入したのは、KORGのnanoKEY2ってヤツ。

コンパクトで持ち運び可能で、USBでPCに接続出来て、値段も手ごろ。

(iPad持ってないですけど)2からは、iPadにも対応しているみたい。

以前にピアノをやっていたのでmicroKEYにしようかな~? とも思ったのですが、こちらだと持ち運ぶのはちょっと無理そうだったので、nanoKEY2にしました。

nanoKEY2が届いて、まずやったこと

商品が届いて、ノートPCに接続し、鍵盤を押したら、直ぐに音が鳴る…なんてことはありません!

先のnanoKEY2のページの右下にある関連情報/ダウンロードから、以下をダウンロードしておきます。

  • USB-MIDI Driver
  • KORG KONTROL Editor
  • M1 Le

それぞれインストールして、キーボードをUSBでPCに接続、そしてM1 Leを起動すると、製品登録してくださいと言われます。

最初に躓いたのはここ。

認証番号?

製品の認証番号を聞かれるんですが、それがどれだが分からない…

製品内には、KORG Bundle Sofeware PINというカードが入っていて、そこにシリアル番号らしきものが書かれているんですが、これを入力してみても、駄目。

他にも製品の箱に書かれている数字などを試してみるものの、いずれも駄目。

認証番号って何だよ! と。

KORG KONTROL Editorが必要になる

そこで先にダウンロードした別アプリのKORG KONTROL Editorが必要になってきます。

シリアル番号を取得する

Get bundle software! を押します。

Bundle Keyを聞かれる

Bundle Keyを聞かれるので、製品に付属している黒いカードに書かれているKORG Bundle Sofeware PINの英数字を入力します。

製品の認証コードが生成される

すると製品ごとに認証コードが生成されるので、それをメモしておきます。

再び製品登録のページに戻り、メモしたコードを入力します。

無事認証され、新たにコードが生成されます。(このコードはメールでも送られてきます)

それを製品登録の箇所の、サーバー側で生成したコードを貼り付ける箇所に、ペーストします。

これで認証がようやく終了です。

これで無事、音が鳴ると思いきや

これで音が鳴りそうなんですが、まだなんです。

M1 Leを起動すると、環境設定の画面になります。

MIDIの設定は、nanoKEY2を選択すればいいんですが、オーディオの設定でまたしても躓くことに…

デバイスの種類でいくつか候補があるんですが、僕のPCはデフォルトではASIOのドライバがインストールされていませんでした。

説明書のPDFを見ると、ASIOドライバがない場合は、DirectSoundを選択してくださいと書かれていたんですが、そいつを選択してみても、(僕のやり方が悪かったのか)音は全く鳴りませんでした。

そこでASIOドライバを落としてきて、それをインストールしてから、デバイスの種類でASIOを選択。

その下の項目はデフォルトのままでOKを押して、キーボードを押してみると…

わ~い、音が鳴った!

KORG KONTROL EditorってHPでは、これを使うと細かなカスタマイズが出来ますって書かれているんですが、それ以前に製品の認証番号を生成する際に使います! ってことを記載した方が、絶対にいいと思うんですが…

次はFlashとの連携あたりをやってみようかと思ってます。

ホーム > MIDI

Search
Feeds
Meta

flashDevelopスポンサー

Return to page top