2019年10月25日

チューニング・モードにアウトレンジ表示機能を追加する

オシレーターのチューニング機構に、LEDによるレンジ表示機能を追加した。



筐体右側上下側面に設置した”ヴォリュームポット”を使って、手を体に近づけたニュートラルの位置に赤い表示が緑に変化するポイントを設定する。

Screen Shot 2019-10-24 at 20.52.13.png

オシレーターのボトム・レンジは、変数 tunerP / tunerV で指定する。 オシレーターの発振周波数がこの値を下回ると、追加したフラグ inRange の状態が High に設定される。

Screen Shot 2019-10-24 at 20.48.52.png

一方、ロータリーエンコーダー(Upper) の点灯機構に inRange の状態を判定する条件分岐を追加し、ここにアウトレンジで「赤」が点灯する仕掛けを組み込んでチューニングを行う際の指標とした。 

チューニングモードは目玉スイッチの長押し1回目で Pitch、2回目で Volume の調整モードに切り替わる。 長押し3回目はシーケンサのルート音のチューニングを行うモードが選択される。 どのモードからも短いクリック1発で通常の演奏モードに復帰する。

いまのところ、設定した閾値は暫定だが、この値で問題は無さそうだ。

Screen Shot 2019-10-24 at 21.32.53.png

ついでに、Volume側のオフセット値を変更していて、こちらも暫定値を3600に設定している。

Screen Shot 2019-10-25 at 1.35.50.png

実験の結果、4096が過大だったことから、適正値は3800程度と思われる。
posted by Yasuski at 01:55| LaVoixski

2019年10月22日

1455Mサイズ筐体の製作を再開する。

赤い1455M1601ケースに、基板及び部品の実装を始めた。

IMG_9470.JPG

ケースがタイトなために、部品の配置が難しい。 最終的にこれ以下のサイズは受注生産になるかもしれない。

IMG_9472.JPG

一方、昨晩から行っていた1455L1601ヴァージョンの通電試験は、安定した動作を確認出来たため通電開始後12時間を経過した時点で終了した。

IMG_9468.JPG

RGBロータリーエンコーダーの発色にまだ不満が残るが、ひとまずここで作業を終了する。

IMG_9469.JPG
posted by Yasuski at 16:03| LaVoixski

2019年10月21日

Lサイズ/160mm筐体の調整を行う

まず、発色がイマイチだった目玉LEDスイッチをリプレイスした。

IMG_9458.JPG

新しく採用した構造は、タクトスイッチにSMDタイプのRGB-LEDを接着した後、LEDの発光面に半球にバラした目玉を取付けている。

Pitchオシレーターの調整は、リファレンス側に実装されていた220pF(多分)を183pFにリプレイスして中心周波数を上げているが、これが適正値かどうかは微妙なところだ。

Screen Shot 2019-10-20 at 13.07.13.png

その後、Cをリプレイスした基板を組み上げて測定を行ったが、残念ながら結果は散々たるものでリファレンス側の発振周波数が上方に40kHzもズレてしまった。  周波数を合わせ込む作業の経過からオリジナルの設定値は330pFだったと結論しているが、このパーツの持つ「誤差」が、若干低めにドリフトした発振周波数に反映されていたようだ。

試行錯誤の結果得られた数値は、220+100+22pF=342pF となった。

Screen Shot 2019-10-21 at 16.04.56.png

チューニングが決まったので実際に音を出してみると、変なノイズがオーディオ・ラインに乗っている。しかも、モノ出力の#3chから音が出てこない。 

原因の特定は難しそうだが、SDカードのデータが更新されていない可能性や、リボンケーブルの断線、ポートの結線ミス等、それらしい原因を一つ一つ潰していくしかない。 100mm幅のDAC基板はなにかとトラブルが多いものの、いまのところこれといった誤配線を確認できていない。 

ノイズを気にせずに一連の操作を行ってみたが、出音の選択やLEDの点滅等のソフトウエアによる制御データの処理は正常に行われている雰囲気だ。 一方、ポートのアサインを間違えた結果発生する種類の不具合は「物理側の問題」なので、原因を探る過程でこれを切り分けていかなければならない。

不思議なことに、Threshold設定モードを選択した時だけ何故かノイズが消えるのだが、この現象が問題を解決するためのヒントになるかもしれない。

演奏を行いながらノイズが発生する状況を観察したところ、VolumeAnt側の操作によってノイズが生じるポイントが変化する一方、Muteの機能はきっちりと動作しているようだ。 ソフトウエアによるミュートが効いているので、これはハードウエアに起因する問題では無さそうだ。 以上の状況から機種別に書き換えているプログラムの複写をミスっている可能性が大きくなったので、試しに稼働実績があるLサイズ/220mm用のプログラムを160mm仕様に出力ポートを書き換えて走らせてみたところ、一発でノイズを取り除くことが出来た。

プログラムを書換えたついでにポートの配線を確認すると、これが結構いい加減な仕事で不要な接続を2ポートも発見、オープンにした場合の事故を避けるためにフローティング処理を行っておいた。 他にもオーディオ基板に至る信号ラインにコンフリクトが発見されたため、接続をシンプルな形に修正しておいた。

この筐体のオーディオボードは緑色の旧式だが、最新のボードと比べて基本的な配線は変わっていない。

IMG_9461.JPG

造りが頼りないミニジャックの評判が悪かったので、DCインレットの代わりにHiroseの6pinコネクター配置して音声出力と電源ラインを確保している。 オリジナルのミニジャックはモニター用に温存しているが、音声ラインが並列状態で直結しているのが問題。 ミニジャックに至るラインには抵抗を追加した方が良いかもしれない。。

IMG_9464.JPG

新しい目玉の発色は良好で、以前と比べて視認性が格段に向上した。

IMG_9466.JPG

追記:


稼働試験中に再発した LED2lav_ON が固定されてしまう案件に対応するため、消灯を促す fEG = LOW; を以下のポイントに再配置した。 

Screen Shot 2019-10-22 at 6.40.16.png

シーンメモリーをコールする場合。

Screen Shot 2019-10-22 at 6.39.56.png

Voiceモードを移行する場合。

Screen Shot 2019-10-22 at 6.39.49.png

機能モードを移行する場合。

Screen Shot 2019-10-22 at 6.39.39.png
posted by Yasuski at 10:26| LaVoixski

2019年10月20日

Mサイズ筐体モデルの調整を完了する

Screen Shot 2019-10-20 at 13.07.13.png

まずは、ズレの大きなPitch側の調整から始める。 該当するリファレンス側のコンデンサーを調整して(この場合は値を減らす)発振周波数を上げる方向にズレの修正を行った。

IMG_9453.JPG

一方、Volume側にも問題が発生していて、現状ではヴォリューム・ポットの変化域がチューニングに必要な帯域をカヴァーしておらず、調整を行うためのマージンが殆ど得られない状態だった。

IMG_9454.JPG

更に、プログラムを変更した際に設定した「不感帯」の分だけ実行域がドリフトしており、これに合わせてオシレーターの発振周波数を調整しなければならない。

今回は22pFをAntenna側に追加して、リファレンスに対する不感帯のマージンを中心周波数の下方向に稼いだ形になるが、これでひとまずMサイズ筐体を稼働させることが出来た。

作業の過程で行った測定から、Pitch側オシレーターの周波数変動はエクステンションの電気的な特性の違いによって大きく左右される事が判っている。 アンテナにバラストを追加する物理チューン法に期待していたのだが、kHzレベルのドリフトを発生させるためには予想よりも大きな質量が必要とされる。 こちらの調整法は、実用面を考えると微調整のレベルをカヴァーするのが精一杯かもしれない。

追記:

続いて、Lサイズ・160mm筐体の方のチューニング作業を開始した。 旧タイプのオシレーター基板は調整箇所が基板表側にあるために全バラシが必要。

IMG_9455.JPG

Pitch側オシレーターの周波数自体は修正なしでもギリギリで合わせ込めそうだが、可動域のマージンが殆ど無いのが不安要因。 なので、リファレンス側の周波数を若干下げることを目指す。

IMG_9456.JPG

該当するCの値を220から150pに減らしたが、これは多分減らし過ぎ。 大凡180〜200pF辺りが適正値と思われるが、基板が旧タイプのために組み直しに手間が掛かってしまう。 最終的に33pFを追加してトータル値を183pFとした。 

明日は配線と音声出力&電源コネクタのリプレイスを行う。
posted by Yasuski at 20:36| LaVoixski

2019年10月19日

試作機の調整を行うもオシレーターの周波数レンジが逸脱し過ぎて調整不能となる

今日は昼から手持ちの試作テルミンの調整を行っているのだが、Pitchアンテナに行ったアングル付きコネクタの補強によってアンテナの電気的な特性が変わった結果、オシレーターの周波数レンジが激変して調整不能となっていることが発覚した。

IMG_9430.JPG

うちMサイズのテルミンは演奏が不可能な状態にある。

Lサイズ(赤)の220mmモデルについては、アングル付きのSMAコネクタを使用したPitchアンテナを接続して、なんとか周波数のレンジを合わせることが出来た。

Lサイズ(青)の160mm幅のモデルは、音声端子の交換を行っていないため、テストは未了。

オシレーターの周波数ドリフトが許容値を超えた機体は、トリム用のコンデンサーを追加した後にスペアナを使って調整を行うことになる。

他の案件としては旧型のDACボードの出力電圧が新型に比べて低いことが判明している。 原因は出力コンデンサーの値の差にありそうだが、この件はアンプ側のレベル調整で避けられるので問題はないだろう。

その他に、対応するハードウエアによって微妙に仕様が異なるソフトウエアの動作が心配だったが、こちらは正常に動作している模様。

毎度々調整に苦労しているのが滑稽だが、予め周波数レンジを高く設定したアンテナに、バラストをくっつけて物理的にチューンを行う方法が現実的な調整法かもしれない。
posted by Yasuski at 17:39| LaVoixski

2019年10月18日

LFOでTotalVolumeとTransitionを制御する

LFOのRateSpeedを2倍(実は等倍)に設定したArpeggiatorのTransitionコントロールが、より効果的になった。



LFOの周波数がフレーズと同期した結果、Arpeggiatorのアタック感が薄れてより伴奏っぽくなりつつ、Transitionの推移によるフィルター効果がキッチリと出ている。
posted by Yasuski at 22:54| LaVoixski

2019年10月17日

ArpeggiatorのChoppingMode仕様時に発生するLED表示のバグ

最新版のファームウエア上でArpeggiatorの動作を確認したところ、ChoppingModeを選択した後に通常のモードに移行するタイミングによってLavender色のLEDが消灯不能となるBugが発覚した。



Bugは、Arpeggiatorのアドレスを移行してモードが切り替わるときに fEG == HIGH が固定されて、LED2lav_ON; の状態がそのまま継続される場合に発生するようだ。

Screen Shot 2019-10-17 at 14.39.36.png

この問題を解消するには条件分岐に用いているフラグ fEG をクリアすることで対処できそうなので、ChoppingModeが実装されているアドレス#17から#20に隣接する#16と#21に fEG == LOW を追加することにした。

Screen Shot 2019-10-17 at 12.03.56.png

追試の結果、LEDの状態が固定してしまう現象を回避することが出来た。

posted by Yasuski at 12:40| LaVoixski

2019年10月16日

LFO/Speedの倍率をVoiceModeに展開したDepthパラメータで切替える

Thresholdのスイッチ長押しで切替えていたLFOの周波数を、各VoiceModeのシーンメモリー毎に行った方が便利なことに気付いた。

Screen Shot 2019-10-16 at 7.01.08.png

具体的には、PitchBendModeと同様にbitReadを使って各VoiceModeに配置したLFO depthを設定するデータのMSBを監視して、

Screen Shot 2019-10-16 at 5.37.13.png

MSB == HIGH の場合にSpeedの倍率を下げる判定を行う。

ただし、このままでは数値がゼロを超えて負の領域に入った瞬間、0x0000 から 0xffff と最大値にデータが振り切れてしまう。 

流石にこれは使い勝手が悪いので、MSB以外のbitにExORを掛けてバイナリーデータを反転させ、数値のジャンプを防いでいる。 

この際、データを二の補数化してもよいのだが、今回は仕上げの+1は行わず、中心値でゼロが被る仕様とした。

Screen Shot 2019-10-16 at 6.22.12.png

データを格納した時に状態が保持・再現されない問題が発生したため、新たにメモリーをハンドリングする符号付き変数をリザーヴしている。

Screen Shot 2019-10-16 at 6.44.47.png

Screen Shot 2019-10-16 at 8.03.03.png

正負の判定は、メモリーを呼び出すタイミングとロータリーエンコーダーのデータを取得するタイミングで行う。

セレクターの改変に伴い、Theresholdのスイッチ長押しでの切り替え機構は廃止となった。

Screen Shot 2019-10-16 at 5.54.17.png



追記:

目玉LED(赤)の状態がDistortionMode(LowerKnob)以外のModeで反映されないバグが発覚したため、全てのModeでポートのオン・オフが表示出来るようにコードを追加した。

Screen Shot 2019-10-16 at 10.59.09.png
posted by Yasuski at 08:35| LaVoixski

2019年10月15日

DistortionControl端子の極性を修正する

Distortionコントロール端子の極性が逆になっていたRGBロータリーエンコーダーの表示を修正した。

Screen Shot 2019-10-15 at 13.14.38.png

ただし、このままではDistortionの表示を行う目玉LEDの極性が逆になってしまうので、新たにD26(M size MCU boad)

Screen Shot 2019-10-15 at 13.46.12.png

D50(L size MCU board) にLED(Red)の出力端子を追加している。 (試作型の1455N1601を使用したモデルはbuttonPin06にアサイン)

Screen Shot 2019-10-15 at 13.19.43.png

ID-292用の基板では、混乱を避けるためにadat系の出力はオプションのミュート端子(現時点では不使用)を接続しているLATCH02ポートを除き、全て無効とした。 

Screen Shot 2019-10-15 at 16.38.37.png

端子に余裕があるMCU基板では、buttonPin05(D05) にミュート端子をアサインしている。(こちらも現時点では使用していない)

Screen Shot 2019-10-15 at 16.36.11.png

Setup時の出力設定を忘れないこと。

Screen Shot 2019-10-15 at 16.39.40.png

Screen Shot 2019-10-15 at 16.39.56.png

追記:


DACの接続が怪しい問題が再発していて、これはTeensyのピンとコネクタ間の接触不良、もしくは、ボード上でMCUのBGAピンが外れ掛けている可能性がある。 後者の場合はより重篤な症状で、オートクレーブのない環境では対処が難しい。
posted by Yasuski at 16:54| LaVoixski

LFOのSpeedRateを切替える機能のデモ

posted by Yasuski at 10:59| LaVoixski