前の記事
バージョン
Version 8.1.5(9359645)(64-bit windows)
もっと直感的に音を鳴らしたい
プログラミングちっくなことをシコシコしていても演奏してる感じがあんまりしない…(´・ω・`)
ということで、MIDI鍵のドの鍵盤を押したらドの音が鳴る、レの鍵盤を押したらレの音が鳴る、というものを作ろう!
キーボードのパーツ
あ、なんかそれっぽいの発見!kslider
とりあえず設置して、MIDI鍵の信号をちゃんと受け取ってるかモニタリングしてみようジャマイカ。
………あれ?MIDI鍵押しても無反応なんだけど……(´・ω・`)
noteinとmtof、そして鍵盤数の設定
まず、MIDI信号を受け取るオブジェクトが必要と判明!
それが notein というオブジェクト。1番目の戻り値がPitch=音の高さとなっております。
もっと複雑な設定が必要なのかな?と思ってたけど、案外簡単に実現できそうジャマイカ^^
noteinを接続して、MIDI鍵押したら反応した!!!でも出てくる値に違和感……。60って何ぞ?
そう、ksliderの1番目の戻り値は周波数ではなく、 キーボードの番号 でした。
つまり、 キーボードの番号を周波数に変換する やつが必要ってこと!
それをやってくれるのが mtof というオブジェクト。
表示されている鍵盤数とMIDI鍵の鍵盤数が一致してなかったので、設定しました。
ここ!
最終的にはこんな感じ
ksliderは無くても動きました。(このサンプルの場合、noteinの第1戻り値をmtofの第1引数に繋いでも同じこと)
- 鍵盤を離しても音が出っぱなし(MIDI鍵はあくまで音の高さを変えることしかしていない)
- 鍵盤を離した時の信号も拾って音が出ちゃう
なんてまだまだダメな子な部分はあるけど、ひとまずやりたいことの第一段階は達成!ということにするっ!