.. raw:: html
===================================
自作MIDIキーボード
===================================
.. figure:: ./images/IMG_0065.JPG
:width: 80%
3オクターブ、36キーのキーボード
| 自作キーボードキットのファームウェアを書き換えて、midiキーボードを作ってみた。
| 当初、`qmk_firmware `_ のmidi拡張機能を使おうとしたが、ソースコードが巨大なのでどこから読めばよいかわからず、解説している情報を見つけられなかった。
| そこで、MIDIプログラムの勉強を兼ねて、Arduino IDE上でプログラムを作成し、lum47のファームウェアを書き換えた。Arduinoは、MIDI関連ライブラリが充実しており、情報が多かったので比較的簡単に構築できた。
ハードウェア
===================================
使用機材
------------------------------------
* Keyboard: Plum47 (`遊舎工房で購入 `_)
* Switch:Zilent 62g
* Keycap:白と黒の無刻印キーキャップ
Plum47の情報
* https://github.com/takagi/plum47_buildguide
* https://github.com/takagi/qmk_firmware/tree/plum47/keyboards
キーレイアウト
------------------------------------
DTMの `ピアノロール `_ を模した配列とし、1行12個のキーに白鍵と黒鍵をそのまま割り当てた。
.. figure:: ./images/key_layout.png
:width: 100%
キーレイアウト
| 最上段の行より、国際式 5オクターブ、4オクターブ、3オクターブに割り当てた。
| 最下段の行はオクターブシフト用に割り当てた。
* 中央のスペースは、オクターブシフトなし。
* 中央のスペースから、右へ、1,2, 3オクターブ高音へシフト
* 中央のスペースから、左へ、1,2, 3オクターブ低音へシフト
* 両端の2個は、未割り当て
ソフトウェア
===================================
開発環境 arduino-1.8.13
設定
Plum47 で使用されているのは、sparkfun Pro Micro の互換品なので、開発用のアドオンをArduino IDEにインストールする必要がある。また、MIDIを扱うためのライブラリもインストールする必要がある。
アドオンの導入方法
------------------------------------
1. ファイル -- 環境設定を選択
2. 以下のURLを「Additional Boards Manager URL」に設定して、OKボタンを押す。
https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json
3. ツール -- ボード -- ボードマネージャーを開き、上部にテキストエリアに「sparkfun」を入力する。
4. 検索された一覧表から「SparkFun AVR Boards by SparkFun Electronics」を選択してインストールする。
MIDIライブラリの導入方法
------------------------------------
1. ツール -- ライブラリを管理を選択し、ライブラリマネージャを開く。
2. 検索ボックスに「MIDIUSB」を入力して、最新バージョンを探し、インストールする。
ボードの設定
----------------------------------
* ボード:SparkFun Pro Micro
* プロセッサ:ATmega32U4(5V, 16MHz)
ソースコード
----------------------------------
このソースコードは、Beer-Ware License のもとで、公開しています。
同意いただける方は、以下のZipファイルをダウンロードして下さい。
:download:`mkbd20210314.zip <./download/mkbd20210314.zip>`
使い方
===================================
| Arduino IDE で上記ソースコードをコンパイルし、キーボードのマイコンに書き込む。
https://webaudiodemos.appspot.com/midi-synth/
| Web MIDI APIに対応したブラウザで、上記のサイトを開き、このMIDIキーボードを接続してMIDI IN に、SPARKFUN PRO MICRO が表示されれば正常に動作している。後は、キーを押して、PCから音が再生すれば無問題。
| 後は、自由に音楽をお楽しみください。
.. figure:: ./images/midi-synth_sparkfun_pro_micro.png
:width: 80%
midi-synthの画面
.. figure:: ./images/IMG_0083_trimming.jpg
:width: 80%
PCに接続した様子
ライセンス
===================================
このページで公開しているソフトウェアは、Beer-Ware License で配布しています。
以下の条件に同意していただける方のみ、ご利用下さい。
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* @triring wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return @triring
* ----------------------------------------------------------------------------
*/
"THE BEER-WARE LICENSE" (Revision 42)]: https://people.freebsd.org/~phk/
* このプログラムを使ってあらゆることができる。
* いつか原作者に会った時に、原作者にビールをおごることができる。
.. raw:: html