/keromin

Primary LanguagePython

keromin

オタマミンをMIDIファイルで演奏します。

明和電機さんの光操作テルミンOTAMAMINをMIDIファイルで自動演奏します。
動いているところ
MIDIのNote番号をLEDの明度に変換しNeoPixel(WS2812)を光らせて、その光でオタマミンを演奏しています。
明度を調整すると音をチューニングすることができます。
チューニングしていないサンプルはこんな感じです。

つなぎ方

つなぎ方
NeoPixelのGNDをPicoのGNDに、5VをVBUSに、dinをGP28につなぎます。

設定のしかた

1.PicoにCircuit Python をいれます。私は7.3.3を使いました。
2.NeoPixelのライブラリをPicoのlibフォルダ以下に配置します。
画面中段の青いアイコン「Download project bundle」より圧縮ファイルをダウンロードし、下位フォルダのlib以下のmpyを使います。
3.Adafruit MidiのライブラリをPicoのlibフォルダ以下に配置します。
画面中段の青いアイコン「Download project bundle」より圧縮ファイルをダウンロードし、下位フォルダの「adafruit_midi」フォルダをフォルダごと使います。
4.code.pyを修正し、Picoに保存します。
接続するPico側のPinに合わせて、pixel_pin = board.GP28の「GP28」部分を変更します。
お使いになるNeoPixelのLED数に合わせてnum_pixels = 28の「28」部分を修正します。20個より少ないLED数のNeoPixelで動かす場合は改造が必要です。

使い方

設定を行ったPicoをUSBでPC(Windows)に接続すると、USB MIDIデバイスとして「Circuit Python Audio」が現れます。
デバイスの見え方
お好きなMIDIプレイヤーでMIDIファイルを演奏してください。私はmid radioを使っています。(デバイスが表示されないときは管理者モードで起動します。)
点灯するNeoPixelの上に最大4か所(12時、3時、6時、9時の場所に)オタマミンを並べてください。歌います。

制限

  • LEDの特性上、G3以下の音には対応していません。(高い音が適当に出ます。)
  • すべてのMIDIファイルには対応していません。
  • LEDを点灯させるMIDIのChは1~4チャネルです。変更したい場合はin_channel=(0,1,2,3)を修正してください。
  • 本記事内容及びプログラムを使用したことにより発生する、いかなる損害も補償しません。

Thanks to

ライセンス

Apache License v2.0に基づいてご利用ください。ご連絡はlayer8までお願いします。