電音の歩み

電子楽器を中心とし、ものづくり関係も含めて紹介していきます。

ARM_Theremin_Live (光るアームテルミン) その4  音源モジュール

音源モジュールについて

機能としては、3pinのステレオミニジャックでコントローラと接続し、

 ・電源(5V)の供給

 ・制御情報を受け取り発音

することにします。

 f:id:hhh_yama:20200714002247j:plain

マイコンは、32bitのBluePill (STM32duino)に格上げし、

3個の POTは、

 (1) 音量調整(アナログ処理)

 (2) リバーブとディレイの調整

 (3) 未決定

で、スイッチも3個ありますが、

コントローラ側のPOT2個、スイッチ3個との使い分けをどうするかはまだ決まっておらず

実際の演奏に使ってもらって決めてゆきたいと思っています。

 

ディスプレイには、オシロと同じSPI接続の0.96" OLEDを使います。

 

さすがにAVRより一桁速いので、随分やりたいことができます。

まずは、サンプリング周波数を31KHzから70KHz、音源分解能を8bitから16bitに上げ、

波形間の連続モーフィングをインプリしました。

モーフィングについては、別に紹介しますが、各ハーモニクスも位相が回らず同じ比率で変化します。

 

波形は、とりあえず以前に作ったものを並べています。

(1) SINE (2) テルミン波形 (3) シャープなテルミン波形 (4) 二胡(Erhu)  (5) SAW

これらの波形は、コントローラのTone POT で連続変化させます。この仕様のみFIXです。

 

エフェクトとしては、

(1) 3音ディチューン・ユニゾン (2) 6音ディチューン・ユニゾン

があり、

検討用に

ディストーションとスケール・フィティング(クロマティク。メジャスケール、ペンタトニック)を試しています。

スケール・フィティングは、画像処理でのポスタリゼーションのような処理で、

せっかく連続ピッチが出せる「テルミン系の音」とは一線を画す方向ですが、

ディレイと併用すると他の楽器にはない面白い効果があります。

 

後日、デモを紹介します。 

 

また、OLEDには、各波形やバランスだけでなく、波形そのものも表示します。

波形は、音源波形とエフェクトのかかった出力波形を切り替えられます。

 

 

 

 





 

 

 

 

ARM_Theremin_Live (光るアームテルミン) その3  コントローラについて

コントローラについて

コントローラと音源モジュールに分離したシステムで、今回は「コントローラ」を紹介します。

コントローラ側の基本的な役割は、

音源側からパワーをもらう。

・発音はせず、演奏情報をデジタルで音源側に送る

・LEDイルミネーションはコントローラ単独で行う

 

具体的には

 ・トーンアーム 12bitADCで読み取り、キャリブレ・アンチログをかけ15bitCVに変換

 ・ベロシティ圧力センサ 非線形チューニング後、15bitCVに変換

 ・モジュレーション圧力センサ 非線形チューニング後、15bitCVに変換

 ・その他、POTとスイッチの一部を、15bitCVに変換 

 ・発光パターン処理は、コントローラで完結

 とします。

 

圧力センサ

 秋月のを使っています。

指での押す感覚と音量との関係が重要です。

ストロークを稼ぐため柔らかなシートの上に設置し、電気的にはリニアライズ関数を試行錯誤で決めています。

今後、さらにチーニングすることとし、現状はまあまあで妥協しています。

 

他には、POTを2個(Tone,Func)とプッシュスイッチ3個を設置しています。

 Toneは、今の実装では例えば5つの波形とその間の波形を連続的に作り出す波形モーフィングのコントロールです。

Funcには、色々なエフェクトを切り替えて実験する予定です。

どちらにらよ、これらの機能を決めるのは音源モジュール側の実装できまります。

プッシュスイッチは、オクターブシフト、ディチューンユニゾン、発光パターン変化の予定です。

 回路

f:id:hhh_yama:20200710212202p:plain

 

マイコンは、ATmega328、ADCとしてISP接続の12bit MCP3201を使用します。

マイクロチップのMCP3201は、AliExpressで購入したところ、偽物を掴まされました。中が空でした。12bitのADCは製品も少なく他に適当なものがないので貴重です。

https://twitter.com/hhh_yama/status/1169154156130648065/photo/1

 

音源モジュールから送る電源の大半はLED駆動に使われるので、大きなノイズが乗るので、マイコンやADCへの電圧供給のためにクリーン化が必要です。

当然ケーブルで送るので、5Vから電圧降下がありノイズも乗るので、低ドロップレギュレータで4Vを作ります。4Vの低ドロップ可変レギュレータで良いのを(NJM11100を)見つけたので使用しました。

 

マイコンにはブートローダを書き込みコネクタP4にUSBシリアル変換をつなぐと、直接ArduinoIDEから書き込めます。

 

 

 ・

ARM_Theremin_Live (光るアームテルミン) その2  本システムの検討

ARM_Theremin_Liv

前回のコンセプトモデルで方向は決まったので、具体的なシステム検討に移ります。

 ARM_Theremin_Liveは、最初から楽器として開発するので、

ガジェット・キットからスタートした ARM_Thereminをゼロから見直します。

 

現時点で改善すべき必須の課題を優先度の高い順にあげると

(1) 光らせたことにより新たに発生した課題

 ・多数のLEDをPWM制御の影響で、アナログのノイズレベルがアップする

 ・バッテリー消費が増加し、演奏中にバッテリー残量に気を使う

(2) トーンアームのA/D分解能10bitでは精度不足

(3) Soundエンジンのパワー不足

 

以上を踏まえた仕様として、 構成を、「コントローラ」と「音源モジュール」に分離する

 ・「コントローラ」のバッテリをなくし、電源は「音源」→「コントローラ」

   バッテリー残量から開放!

 ・「コントローラ」の発音処理をなくし、サウンドデータは「コントローラ」→「音源」

   アナログノイズから開放!

 ★「コントローラ」は、AVR ただし12bitA/Dを追加

 ★「音源モジュール」は、8bitAVRに限定する意味もないので、同じArduinoIDEで開発できるBluePill(STM32マイコン)に移行する

 ★「コントローラ」「音源モジュール」間のインターフェースは、ステレオミニ互換とする

  3線で電源とサウンドデータを送受する。

  サウンドデータは、2msec周期で垂れ流し。

    CVは15bitシリアル(小数点以下8bit付きのMIDEのようなもの)

    他はPOTとスイッチの情報

 

 左がコントローラ   右が音源モジュール

 

ARM_Theremin_Live (光るアームテルミン) の方もまとめてみました その1

■ARM_Theremin_Live (光るアームテルミン)とは

従来のアームテルミンはガジェットから楽器に一歩前進したものなのに対し、

最初から、ステージでの演奏用に開発している楽器です。

こちらもスタートは2018年で、何段階化の進化を遂げていますので、忘れないようにまとめてみます。

 

ARM_Theremin_Live (光るアームテルミン)は、基本コンセプトとして、

・机に向かって演奏する従来のアームテルミンは、ステージ映えしない。 

 → 立って演奏できる形態とし、

   Euro Synthのパネルで行っていた、光るアクリルパネルの技術を用い

   暗い環境でもステージ映えする。

・ベロシティが自由につけられ表現力が増す。

 

からスタートしました。

 

■第1段 コンセプト開発モデル

 コンセプト検討用なので、機能評価が主眼です。発音システムは写真の右の基板(従来の8bitAVR構成)のままです。

 

 ●光るトーンサークル

ステージ映えを目指した少し大きめのトーンサークルを5mm厚のアクリルで作り、電飾看板の原理で光らせています。中央から外に向かって照明しています。

下の写真が中央でVRを保持する基板で、VRの周りを14個のマイコン内臓のサイド型フルカラーLEDが取り囲んでいます。データラインは一本のシリアル信号をデイジーチェーンで結んでいます。

ライブの曲調に合わせて発光パターンを変化させる目論見です。

f:id:hhh_yama:20200703220229j:plain

 

●ユーザーインタフェース

左手で持ち右手でアームを操作することを想定しています。

立って演奏することが可能なので、光るトーンサークルは両面から見えるので、暗いステージでは目立ちます。

人差し指と中指が押さえているのは、圧力センサーです。

人差し指のセンサーはベロシティーで、中指のセンサーはビブラートレベルです。当面は。

単なるスイッチと比べて、表現力が異次元に拡大します。(今までが乏しかったのですが)

他のスイッチの役割は仮ですが、

・オクターブシフト  ・音色  ・コーラス  ・リバーブ  ・発光パターン変更

などが考えれます。

 

●結果

圧力センサーのベロシティカーブをチューニングすることで、大幅に表現力が高まりましたので、このコンセプトは継続し、残留課題である、

・オーディオ的な音質の向上

・楽音波形の改善

・音色のコントロール方法

・コーラス、リバーブ

・その他、エフェクト

に向けてすすめる。

ARM_Theremin (アームテルミン) はその後どうなっているか その3

■電源スイッチの改良

表面実装のスライドスイッチは、いくら探しても極小サイズの華奢なものしか見つからず、

トグルスイッチなど他のスイッチはスペースを取りすぎるなどで使いづらい。

 

そこで比較的堅牢で設置が容易なタクトスイッチを使った電源の入切を検討しました。

具体的には、長押しをすることで入切するイメージです。

マイコン以外にボリューム他にも電源が供給されるので、電子スイッチによる方法を検討しました。私のメモです。

 動作としては、

・電源on PUSH ONでマイコンに電源が供給され、PUSH OFFでも入り続ける。入力ポートでスイッチの長押しを監視し、長押しでなければ自分でOFFする。

・電源off  PUSH ONの長押しを検出し、自分で電源を遮断する。

いくつか検討しました。

(A)はスイッチonでハード的に電源が供給され、スイッチの状態も検出でき、出力ポートからスイッチonの継続とoffも可能であるのですが、

マイコンに電源が入っていないときに、入力ポートの保護ダイオードを通じての電流リークがあるのでボツ。

 

(B)は入力ポートの惚れ電流は改善されたが、PNPのベース電流をこの値よりかなり増やす必要があり、電源on時の消費電流が増加します。

 

(C)は仕様を満たすもので、PchMOSを使いもれ電流を減らしています。NPNのベース電圧の検出にA/Dを使います。

 

実際、これで基板設計をしていたのですが、

AVRのDeepSleepを利用すればソフト的に数uAまで消費電流を抑えられる(はず)であることを思い出し、少し難易度が高い方向の検討に入りました。これに成功すればこのようなハードは無しで済ませます。

実は、大学のイベント用に開発したLEDバッジでATtiny85のソフトで実現しています。(このソフトはikkei氏の作のものです)

このソフトを参考にすれば、ATmega328でも実現できそう。ネットで調べると、いろいろなI/O,A/DをすべてoffにしてDeepSleepに入れば数uAが実現できることがわかりました。

 

ただ、アームテルミンのソフト構成はすでに相当複雑になっている。ところが、DeepSleepからの復帰で行うべきシステム初期化処理はメインループ内の処理になるのに対し、同じ処理のはずのパワーon時の処理はループ外になり、構成を大きく変えねばならず避けたいところです。

そこで、出力ポートから自分自身にリセットかける接続を追加し、DeepSleepから復帰したとき自分をリセットすることで回避しました。

また、ボリュームなどの外部機器へのVDDの供給はAVRの強力な出力ポートから行うことで解決。



 

ARM_Theremin (アームテルミン) はその後どうなっているか その2

■完成品への課題

電子工作ガジェットのキットから完成した楽器に近づけるには課題がいっぱいあります。

(a) 楽器としての完成度

 当たり前のことですが、回路がむき出しや、ケース中の基板のスイッチを触るなどの仕様はNGでしょう。また強度が弱く壊れやすいなども。

(b) 製造の手間(コスト)を下げる

 今までのキットを製作するには、手作業で優に2時間/台くらいはかかります。

 いくら部品代を抑えてもこの工数では成り立ちません。

(c)部品の入手性

(d) 演奏しやすい

 演奏してもらうための完成品なので、UIが実際に使えるものにならないといけない

 

■ぼちぼち取り組んできたこと

ケースの製造も手間が多いのですが、レトロな感じで評判が良いのでとりあえずこの方向は継続するとして、この形態で、

・回路基板をケース内に収めつつ、UIはケース外に出す

・表面実装部品に変更する。このメリットは4つあって、

  ・将来基板発注と同時の部品実装サービスを使いやすくなる。

  ・部品の入手が容易

  ・実装面積が小さくなる

  ・基板の片面だけで実装できるので、頑張れば基板の裏を外装のパネルにできる。

   こうすると、パネルと回路基板が共用できさらに相互の接続も省略できるので、

   このメリットは大きい。

 

■開発中の実例1

なんとか試作にこぎつけたのがこれです。

 

基板の表面がパネルで裏面だけで回路を構成していることがわかると思います。

また、このような面積で実装できるのも表面実装の威力です。

スピーカーとボリュームへのケーブルは、AliExpressで圧着済みのものが購入できます。

 

回路そのものは、ほぼ従来と同じです。

ARM Theremin

AVRマイコン ATmega328のソフトで62.5KHzの高速PWMポートから直接スピーカーを駆動しています。十分大きな音を出すために必要な、32オームの特殊なスピーカーは、デジット以外に入手困難なので、まとめて在庫を確保しました。

 

まだ課題はあります。

電源スイッチは、パネルの左横にあるスライドスイッチですが、

表面実装で似右手できるものは、小型で華奢であるので、無理な扱いをすると壊れやすそうです。他に使えそうな良いスイッチがないのが課題です。

 

これについては次回に。


 

 

ARM_Theremin (アームテルミン) はその後どうなっているか その1

■ARM_Thereminとは

アームテルミンは2015年ごろから開発を始めたオリジナル楽器です。鍵盤状のトーンサークルの上にアームを回転させ「テルミン」のようにポルタメントを主とした演奏ができる楽器です。

私のWebサイト( ARM Theremin )の方で、コンセプトや技術の紹介・デモなどをしていますのでご存じない方は見てください。

 

元々は、教育系の電子工作キットとして開発を開始したものですが、いつの間にかテルミン系の電子楽器として認識されてきました。

2017年くらいから色々なイベントで紹介し、マニア向けのキットを少量頒布(作るのに技術が必要なので)し、2019年、初心者でも作れる簡単バージョンキットを作り、今まで数10人の方が作られています。

      

  2019年にMakerFairなどのイベントで頒布しているキットの写真

 

ただ、興味を持たれる層が電子工作系のかたから、演奏サイドの方に広がりつつあり、

「作らないといけないの」という声が増え、完成品を検討しています。

 

実は、電子工作系の方は、「キット制作をされたあとそこで満足しておしまい」という傾向があり、「実際に楽器として演奏する」方はごく少数なので、

なんとかキットではなく完成して楽器に進化させる取り組みをしています。

 

続きは次回に