.. 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