1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MaxでMIDIキーボードを使ってドレミファ

Last updated at Posted at 2020-09-11

前の記事

Maxでどの音を鳴らすかをマウスクリックで切り替える

バージョン

Version 8.1.5(9359645)(64-bit windows)

もっと直感的に音を鳴らしたい

プログラミングちっくなことをシコシコしていても演奏してる感じがあんまりしない…(´・ω・`)
ということで、MIDI鍵のドの鍵盤を押したらドの音が鳴る、レの鍵盤を押したらレの音が鳴る、というものを作ろう!

キーボードのパーツ

あ、なんかそれっぽいの発見!kslider
image.png
とりあえず設置して、MIDI鍵の信号をちゃんと受け取ってるかモニタリングしてみようジャマイカ。
image.png
………あれ?MIDI鍵押しても無反応なんだけど……(´・ω・`)

noteinとmtof、そして鍵盤数の設定

まず、MIDI信号を受け取るオブジェクトが必要と判明!
それが notein というオブジェクト。1番目の戻り値がPitch=音の高さとなっております。
image.png
もっと複雑な設定が必要なのかな?と思ってたけど、案外簡単に実現できそうジャマイカ^^
noteinを接続して、MIDI鍵押したら反応した!!!でも出てくる値に違和感……。60って何ぞ?
image.png
そう、ksliderの1番目の戻り値は周波数ではなく、 キーボードの番号 でした。
つまり、 キーボードの番号を周波数に変換する やつが必要ってこと!
それをやってくれるのが mtof というオブジェクト。
image.png
表示されている鍵盤数とMIDI鍵の鍵盤数が一致してなかったので、設定しました。
image.png
ここ!
image.png

最終的にはこんな感じ

ksliderは無くても動きました。(このサンプルの場合、noteinの第1戻り値をmtofの第1引数に繋いでも同じこと)
image.png

  • 鍵盤を離しても音が出っぱなし(MIDI鍵はあくまで音の高さを変えることしかしていない)
  • 鍵盤を離した時の信号も拾って音が出ちゃう

なんてまだまだダメな子な部分はあるけど、ひとまずやりたいことの第一段階は達成!ということにするっ!

次の記事

MaxでMIDI鍵を離した時の信号(ノートオフ信号)をカット

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?