2018年07月23日

Open.Theremin@デジタルフィルターの復活

電池切れ対策を兼ねてAC駆動の多チャンネルアンプで演奏してみたら、コレが存外気持ちの良いものであった。



ただし、ここまで至るのには紆余曲折があって、当初は低域部のノイズが酷過ぎて、運用出来る状態ではなかった。

今回再確認したのは、このテルミンは通常のテルミンが周波数を扱うのとは逆の方向でセンシングを行っていることで、アンテナに手を近づけるほどゼロビートに近づいていく。 システム上の最低域の設定は、FTMカウンター上で測定可能限界の高い周波数を意味する。

このテルミンの妙な扱いにくさはここに原因があったわけだが、オシレーターの実験を行っていた段階で、ペアのうちどちらをリファレンスとして扱うかを選択する過程で、センシングの方向性が決定されていたことを失念していた。 現状行っているセンシングのベクトルを変更し、通常のテルミンと同じ方向でデータを扱えないかソフトウエア上でトライしてみたが、現時点でその試みは上手くいっていない。

低域が荒れるのは当たり前で、高い周波数のセンシングエラーがそのままノイズの発生につながっていた。センシングエリアのダイナミックレンジを狭めても、音域が狭まるだけであまり効果はなかった。 この問題を解決するには、やはりデータにフィルターを掛けるしか無い。

ということで、デジタルフィルターが復活した。使い様を間違えなければこれはかなり有効なノイズ排除の手段となった。

Screen Shot 2018-07-23 at 11.59.22.png

Screen Shot 2018-07-23 at 12.00.31.png

あとは、Arpeggiatorのポリフォニック化を行った。 これ以上タスクを増やしてどうするんだとも思ったが、とりあえず動作上の問題はあまり無さそう。

追記:

やはり、Pitchサイドの低域側が不安定なのが問題に感じたので、Pitchアンテナの接続をD-FFのデータ側接続されたオシレーターに変更した。これに伴い、調整用に取り付けていた66pFのコンデンサーをアンテナと同時に移設している。

ヴォリューム側は現状で安定しているので、回路はこのままにしておく。 D-FFのクロックで入力をクロップする構造は、DINがアンテナ、CLKがリファレンスとするのがオリジナルの回路だが、Volume側ではこれを入れ替えることで、アンテナに近接するポジションをゼロビート側に設定することが出来る。データが荒れないゼロビート側は、微妙な音量コントロールが必要な立ち上がり時の挙動を安定させる働きがあるので、今後はこの設定で回路を構成する。

追記2:

実際に楽器の運用を行って感触を試しているが、音のアラがよく見えるアンプはこの段階で重宝する。 電池駆動の弾薬箱アンプもJBLのカーステ用スピーカーを積んだ新版だったので、こちらもアラが見えるタイプのアンプだったが、AC駆動のアンプにはボロン製のコーンを持つスピーカーが積まれている。 これを鳴らすことで、今までに見えなかった問題点が浮き彫りになってきた。

低音域が不安定で音がフラフラする症状は、センシング時に取り込むデータの「ヒゲ」が原因と思われるが、ディテクターに細工を施した後も、程度の差こそあれ気持ちの悪い操作感はあまり改善されない。

ビットシフトでデータのLSBを削る方法がこの状態に対処する一番単純な方法だが、これをやってしまうとデータのレンジが狭まるために楽器の音域が狭くなってしまう。 Tootsの口笛のシミュレートがしたいのでこれは困る。

解決法として、結局は廃止していたデジタル方式の帰還型LPFを復活させるのだが、前回の作業でこれをディテクターの後のチューナー部に仕込んでみたところ、相応の効果は確認できた。

が、どうしても気になるレベルのフラフラが残ってしまう。 やはり、ゴミデータの元を断つには、ディテクターとして使っているFTMから差分データを取り込むその場所にフィルターを噛ますしかなさそうだ。

ディテクターは、PC_STATE1 / PC_STATE2 に入力されたオシレーターからのパルス5カウントを1ユニットとして、入力されたパルスの立ち上がる間隔を測り、その差分をデータとして出力している。 まずはこの差分出力にフィルターを掛けて、出来る限りデータの不連続ポイント=ヒゲを減らす。

データの中心値を設定するポイントでは、5カウント毎に地均しされたデータが送られてくるが、ここでさらにフィルターを掛けて異常値を取り除いている。

この作業は一度に行ったほうが良さそうだが、多段フィルター的な考え方で異なる係数を掛けるのが目的。最適値はまだ判明していないので、これから演奏に差し障りの無い範囲で、ヒゲを無くす方向にチューンを行っていくことになる。
posted by Yasuski at 19:17| open.Theremin