電気と磁石が複雑に絡み合い、電磁的な音色で演奏する。
今回からはそんな夢のような思いを実現させた、EleMag Harmonyという企画についてご説明していきます。
みなさんこんにちは、Jinです。すっかり春の気配も深まり、暖かくなってきましたが、皆さんいかがお過ごしでしょうか。
ついにMusicRelayの企画が進化し、この企画を進めることになりました。MusicRelayについては以下の記事をご覧ください!
EleMag Harmonyは4月29日・30日にけいはんなイノベーションセンターにて開催される、Maker Faire Kyoto 2023に出展することになりました。詳細は以下のリンクよりご確認ください!
https://makezine.jp/event/mft2023/
この企画では、毎度おなじみのJLCPCBにご協賛いただいております。あわせてご確認ください!
目次
原理
まずは使用する電磁部品の紹介と、その原理についてお話していこうと思います。
ソレノイド
ソレノイドとは単なる電磁石のことを言いますが、電子部品でのソレノイドはこの電磁石に鉄心を入れ、磁化の力によって鉄心を押したり引いたりする部品のことを言います。
鉄心を押し出すソレノイドをプッシュソレノイド、引き込むソレノイドをプルソレノイドとそれぞれ言います。
このソレノイド、押し/引きするときにリレー同様に「カチッ」という音がします。もうお分かりですね!
はい、この押し引きをPWMで繰り返し、音を奏でようというのが今回の企画になります。ソレノイドは割とどの周波数でも音を奏でることができました。
ソレノイドを響かせるために、ある工夫を施しています。内部で鉄心を使用しているため、この鉄心を別の永久磁石で固定しました。
この一本足の様相がチンアナゴみたいなので、個人的には「チンアノイド」という愛称で呼んでいます(笑)
リリース版では、もう少しましな様相になる(予定)です…
ソレノイドはメロディを担当することになりました。
ステッピングモーター
ステッピングモータは普通のモータとは違い、正確な回転角度の指定ができます。
ステッピングモータの構造は簡易的には下図のようになっており、4つのコイルの磁場をそれぞれ制御することによって回転子の永久磁石の角度を調節することが可能です。
制御にも様々な種類があり、今回は2相励磁というものを使用してモータを振動させ、その振動音を用いて演奏をしています。
ステッピングモータについての詳細な説明は別の記事で掲載予定ですので、個々では割愛させていただきます。
ステッピングモータはソレノイドと同じくメロディを担当します。
フロッピーディスクドライブ
フロッピーディスクというのはもう大昔前に流行したディスクですが、そのドライブを使用して演奏をする、Music Floppy、略してMoppyという巷で話題のオープンソースプロジェクトがあります。
実はMusicRelayもこのMoppyにインスパイアされて作成しました。
Moppy自体は専用のソフト等用意されていたりするのですが、今回はMoppyの原理を拝借し、EleMag Harmonyの全く新しいシステムにて音を奏でております。
フロッピードライブはその響く低音から、ベースを担当します。
リレー
MusicRelayは私の代表的な企画であり、リレー等は様々な記事で再三ご説明させていただきましたのでここでは割愛。
MusicRelayからの変更点としては、連続的なパルスによるメロディを奏でていたのが、トグルする音を使用したドラムになっています。
なので、担当するものも全く変わりますし制御方式も、音の鳴らし方も大幅に変更となっています。
仕様
ライブラリは以下のリンクになります。
ソフトウェア
Music Relayのプレイヤーから大幅に進化し、プレイヤー機能が充実したり、今まで出来なかった一時停止や時間制御が可能になりました。
またUIもスリムになり、見やすいデザインとなっています。
再生方法は今までと同じで、midiファイルまたはプレイリストのm3uファイルをファイルメニューから開き、再生します。
今までデバッグはテキストで確認していましたが、今回の大幅アップデートではmidiプレイヤーも兼ねており、プレイヤーから音が流れる仕組みになっています。(尚ハードの音とはずれる模様)
midiは演奏するチャネルは設定メニューにて変更が可能ですが、デフォルトのch1にメロディ、ch2にギター、ch3にベース、ch9にドラムを入れておくのがお勧めです。(プレイリストでの再生はチャネルが個々別々に設定ができないため)
midiプレイヤー等の再生システムの話は次回、させて頂こうかと思います。
マイコンシステム(ファームウェア)
Music Relayの時と同様シリアル通信で周波数情報を送信しています。
しかし今回は非常に速度を要するため、シリアル通信を従来の文字列送信の方式からバイナリ送信に変更し、コードもコンパクトにしつつコマンドも分かりやすいものになりました。
速度もそれなりに早いですが、やはりポーレートの速度は限界まで上げないと厳しいです。
ファームウェアについてはハードウェアの説明と同じ記事で詳しく解説していこうかと思います。
ハードウェア
ハードウェアはマイコン入力の信号を増幅する回路が必要で、また増幅信号をそれぞれのハードに送るためのコネクタを付ける必要があります。
リレーやソレノイドの増幅にはこれまでトランジスタを使用する方法を採用していましたが、今回はD-MOSトランジスタアレイを使用したコンパクトな回路に仕上げています。
また、モータはステッピングモータドライバで制御しています。
ピン配置等は以下のようになっています。
基板はJLCPCBに発注します。ハードウェアとファームウェアの詳細は後日掲載しますので、併せてご覧ください。
演奏方法
設計したハードウェアをEleMagDriver(開発中)と名付け、このDriverをまずは製作します。EleMagDriverにnucleo-f303k8マイコンを接続し、各演奏部品(ソレノイド、ステッピングモータ、フロッピーディスクドライブ、リレー)を各コネクタで接続します。
次に、F303K8にソフトウェアを書き込みます。ソフトウェアは先ほどのリンクのgithubに掲載されています。
マイコンに書き込んだら、EleMag PlayerアプリをPCにインストールします。こちらもインストーラが以下のリンクにリリースされているので、ダウンロードしてインストールします。
https://github.com/Jin-314/EleMagHarmony/releases/tag/v2.0
ここまで来れば準備完了です!アプリからファイルを開き、マイコンのシリアルポートを選択し、EleMag Harmonyを演奏させましょう!
電源コネクタはDCジャック12Vで電流は3A程度で駆動します!
まとめ
いかがでしたか?今回は導入ということで、Ele Mag Harmonyのご説明と、その演奏方法についてお話ししました。
Music Relayのプロジェクトを始めてから5年、ついにこの段階まで来ました。midi解析の技術を付けたり、プログラミングの腕を高めながら、ようやくEle Mag Harmonyのプロトタイプがリリース出来ました。
改善点はたくさんあります。改善しながら、またここに新しいデバイスも追加して、最終段階へと向かうことができそうです。
ご協賛いただいているJLCPCBも併せてご覧ください!それではまた!GoodBye!