電音の歩み

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

OLEDに張り付く、 切手サイズのArduino 互換Tiny board その1

安価な中華製で極小OLEDに張り付く、極小Tiny Arduinoを開発しています。
■当初の目的
当初の目的は、表示用の処理をここで行い表示用のコマンドをシリアルで送るだけで、汎用的に使える簡インテリジェントディスプレイを作ることでした。こうするとホストマイコンはコマンドを送るだけの小変更でリッチなディスプレイを付加できます。

■ピン配置
その後、これのGPIOが開放されていれば、極小のarduinoとして使えることに気づき、
OLEDサイズのままUNOと同じくATmega328の全ピン開放するように再設計しました。 

■現在の意味
インテリジェントディスプレイだけでなくOLEDを使ったアプリケーションがこれだけで作れる、OLEDコンパチのTiny Arduino互換ボードになりました。
OLED実装しないときはUnoと同様全ピン使えます。
書き込みは、ProMiniと同様にUSB-Serialで行えます。
OLEDは、Arduinoのライブラリで簡単に使えます。
■使用形態
 使用形態としては、ピンソケットの付け方によって、
(1) OLEDに貼り付けて使用する (当初予定の形態)
  コネクタJ1以外は自由に使えます。
(2) 極小Arduinoとして使う
UNOと同様に、全ピン コネクタJ1,J2,J3 を自由に使えます。
  この形態でも、写真のようにOLEDを使用することもできます。
f:id:hhh_yama:20210822110339p:plain
さらには、コネクタJ4はUSBシリアルに接続して書き込む用途ですが、
少し工夫すれば、書き込み終了後は別用途に使えますので、
UNOでは困難だったハードウエアシリアルを使うアプリケーション(MIDI関係など)にも使えるメリットがあります。
 
 
 
 
 
 
 
 

 

EuroRack版 少構成用のミニ電源モジュールの試作

 ■作りたいもののイメージ

Euroモジュールの中には、Frequency Shifterの様に、単独のモジュールをエフェクタの様に独立して使いたいものがあります。下の写真は今回の完成形で、ミニラックに単一モジュールとミニ電源をセットして単独で使えるようにしたものです。

 

        

この少容量のミニ電源モジュールは、USB電源、モバイル電源、ACアダプタなどが使えれば便利です。使ったDCDCコンバータはデジットで在庫限り500円のもので、5V入力で出力が±12V(各125mA)という手頃なものです。

基板とパネルの両方をPCBで構成することにしたのですが、この構成の課題は、パネルと基板の接続方法です。通常のモジュールならVRやジャックなどで固定する方法がありますが、電源ではその方法は使えない。

今回は、シリコンハウス2階で1cm角のアルミスペーサを見つけたことが発端です。

          

 

 

 

 

EuroRack版 少構成用のミニ電源モジュールの試作

 ■作りたいもののイメージ

Euroモジュールの中には、Frequency Shifterの様に、単独のモジュールをエフェクタの用に独立して使いたいものがあります。下の写真は今回の完成形で、ミニラックに単一モジュールとミニ電源をセットして単独で使えるようにしたものです。

 

        

この少容量のミニ電源モジュールは、USB電源、モバイル電源、ACアダプタなどが使えれば便利です。使ったDCDCコンバータはデジットで在庫限り500円のもので、5V入力で出力が±12V(各125mA)という手頃なものです。

基板とパネルの両方をPCBで構成することにしたのですが、この構成の課題は、パネルと基板の接続方法です。通常のモジュールならVRやジャックなどで固定する方法がありますが、電源ではその方法は使えない。

今回は、シリコンハウス2階で1cm角のアルミスペーサを見つけたことが発端です。

          

 

 

 

 

Synth Scope その4 設計完了しました。

大分間が空きましたが、やっと作り直した基板とソフトのデバッグが終了しました。

日々の進捗がとても遅いです。

■ 進歩したのは

・パネルがブルーに光る(明るさも変化)ようになりました。

・OLED Adafruit_SSD1306ライブラリのフォントが極小で見ずらい(私にとって)。サイズを2倍にすると大きすぎて汚いので、ほぼ1.5倍サイズ(6*11とドット)のフォントを作りました。

・性能的には、割り込みを最適化しサンプリングレートを70.3KHzから140.6KHzに上げた。

 波形の鈍りとジッタ減少

・UIも改善

 

■ 先行キット(少数)を用意

一部の人の間では、期待されている向きもあるので、

一度量産を考えたいと思います。

ただ、実装の難易度の高い表面実装(SMD)のパーツとスルーホール(足のある部品)のパーツが混在しているので、製品形態として、

  (a) SMDもスルーホール・パーツもはんだ付けするフルキット

  (b) SMDのみ実装済みで、スルーホール・パーツのみはんだ付けする簡易キット

  (c) 完成品

が考えられる。

ここで、半田付けの難易度が高いのでフルキット(a)は製品形態とし無いだろう。

かといって、形態(b)は、SMDパーツのみを事前に実装した状態では基板テストができないので、こちらの実装不良という不安がある。

というと、いきなり(c)しかないことになる。

 

まずは、この仕様でよいのかというリサーチが必要なので、

ごく少数になるが(a)の形態でテストしようと思います。

 

このブログ、FBとTwitterで作ろうと思う方を募集します。(用意できる数は数点ですが)

リサーチなので頒布価格は、7000円とします。

希望の方は、twitter : @hhh_yama      FB : /hhh.yama

で連絡願います。

 

youtu.be

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

コントローラのケースについて

コントローラの裏側は、左手で握り支える部位(ケース)が必要で、演奏のUIを担う重要なものです。

写真は、実際の演奏で使ってもらうためのサンプル用にikkei氏の協力で3Dプリンタで開発しているものです。(実際は、ikkei氏100%ですが)

 ケース側面には、ベロシティとビブラート用の圧力センサ(人差し指、中指)と、3個のスイッチ(薬指、小指)があります。

2回目の試作で一気に完成度が上がり、ほぼ演奏に使えるレベルに近づきました。

 

下の写真は、パネル裏の基板の様子です。

 

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から書き込めます。

 

 

 ・