2023年02月07日

LaVoixski@オシレータの電源電圧について

現在、オシレータの電源電圧は3.3Vを供給しているのだが、ライヴ会場で頻発にオシレータが不安定になる現象から、低すぎる電源の仕様が耐ノイズ性能の低さの原因の一つである疑いが出てきた。

そこで、とりあえずは電源電圧を5Vまで昇圧しようと考えているのだが、問題となってくるのはDACのアナログ電源とオシレータの電源を共有している点で、現在展開している3.3Vの電源ラインをそのまま5Vに乗り換えることは出来ない。

簡易にリプレイスを行う方法として、オシレータの電源に展開しているLCフィルタのLを撤廃して、オシレータにMCU側の5Vを直接供給する案がある。

Screen Shot 2023-02-07 at 23.23.07.png

その際、分離された従来の3.3Vの電源ラインは、引き続きDACのVA専用として使用することが出来る。

Screen Shot 2023-02-07 at 23.25.52.png

ただし、MCUは3.3V入力なので、デモジュレータ・アウトの信号ラインには分圧抵抗を追加することが必須となる。

Screen Shot 2023-02-07 at 23.34.00.png
posted by Yasuski at 23:39| LaVoixski

2023年02月04日

LaVoixski@AN/PRC-6に部品の実装を開始する

まずは、オシレータを組み込んで、調整を行っていく。

IMG_9312.JPG

フロントパネルから飛び出しているヒゲっぽい配線は、リファレンスオシレータのアウトプットをオシロスコープでチェックするための工夫だが、

IMG_9303.JPG

ダミーの接続フィードは温度変化に対するオフセット調整器を兼ねている。 オシレータの発振周波数を調整した後も接続を外さず筐体内にケーブルを這わせることになるだろう。

今回扱う素材は、AN/PRC-6のバックパネル。

EpdD9GeUcAAZ42d.jpeg

オーディオ(緑)とMCU(赤)基板。 未実装な部品を残しているが、とりあえず「赤基板」はオシレータの周波数チェックを行う目的で筐体に仮実装している。

IMG_9306.JPG

今回の改装では、レベル調整回路とバイアス変更スイッチを全て時定数をもたせたFETによるディスクリート回路に転換する一方、余ったMaximのアナログスイッチICはレベル変換用のデバイスとして使用する。

スイッチの駆動パターンは、単純な組み合わせに設定する予定。

IMG_9311.JPG

ポップノイズを防止するために導入を行うディスクリート版FETスイッチをピッチ変換基盤に組んでいる。

IMG_9304.JPG

PchなJ-FETは正電圧入力でオフになる仕様だ。

IMG_20230131_120830030.jpg

基盤の配線を進めているが、、、

IMG_9313.JPG

結線に工夫が必要。

IMG_9315.JPG

FETスイッチのアドオンパーツを基板の裏面に貼り付ける。 配線の取り回しの影響を可能な限り避けるために、バイアスラインに太い線を使っている。 茶色の線はFETのゲートに接続する。

IMG_9316.JPG

追記:

オシレータのチューニングを行っていたが、周波数の合わせ込みが難しく、殊の外手間取ってしまった。

Screen Shot 2023-02-04 at 22.34.03.png

高hfeなMPQ6100Aは、発振周波数が400kHz台でも減衰が発生せず、余裕でゲインを稼げている。

Screen Shot 2023-02-04 at 22.47.59.png

その代わり、調整になると変化がピーキーで、10pF台の変更が周波数の設定に大きく作用する。

Screen Shot 2023-02-04 at 22.48.03.png

可変周波数のレンジが狭くなった結果、調整はクリティカルになってくる。

Screen Shot 2023-02-04 at 22.50.03.png

これは、「経時変化が心配になる」ということでもある。

Screen Shot 2023-02-04 at 22.50.08.png

出来れば、発振周波数を300kHz以下に設定したほうが良い感触があるので、実際にプログラムを走らせながら様子を見ることになりそう。
posted by Yasuski at 00:26| LaVoixski

2023年01月29日

LaVoixski@ChromaticModeの音程を微調整した際に発生するバグの解消を行う

ChromaticMode のルート音を微調整した際に不連続面が発生するバグを発見した。

原因は、低音域の音階にファインチューンが行われていない不手際にあったので、これをフィックスしたのだが、、、

Screen Shot 2023-01-29 at 0.31.58.png

必要とされる計算が増えた結果 RAM1 が破綻したので、音階の判定を行う高音側のレンジを1オクターヴ減らして対応することになった。

Screen Shot 2023-01-29 at 0.30.04.png

追記1:

昨日からテルミンのテスト運用を繰り返しているが、ピッチシフトの初期化を行うための発動条件として設定していたトップスイッチの3クリックは、トリガの入力を取りこぼす傾向にあることが判明した。



トリガの判定を確実に行うために、トリガが発動する条件をスイッチの LongPush に変更する一方で、3クリックには新たにスケール選択をクロマティック・スケール=初期状態に戻す機能を持たせた。

Screen Shot 2023-01-29 at 11.32.20.png

追記2:

GUIの改良を行う作業の一環として、ChromaticMode のパラメータの状態を表示するフォントを1サイズ大きくした。

IMG_9302.JPG

デザインのバランスよりも視認性を優先した結果だが、これでもまだ小さく感じる。

「事前の仕込み」を前提に構築していたGUIのデザインに根本的な発想の転換が必要になってきた。

追記3:

ChromaticMode選択時の表示切替を簡素化した結果、

Screen Shot 2023-01-31 at 19.02.20.png

Chromaticの判定領域を従来の7オクターヴに戻すことが出来た。

追記4:

ライヴ直前に機材をいじるのはご法度なので、しばらくソフトウエアを含めた変更は行わないことにしているが、期日前の最後の調整として、スケールのシフトパターンを±5nnに増やすことにした。

Screen Shot 2023-02-04 at 8.46.09.png

結果、11nn分のヴァリエーションが確保されたのだが、この変更によって新たに分散和音っぽい効果が得られるようになった。
posted by Yasuski at 00:11| LaVoixski

2023年01月27日

LaVoixski@ScaleのrootKeyを選択するパラメータの追加を行う

実用上、Scale の Key を変更できないと話にならないことに気付き、rootKey を変更するパラメータを PitchTune の裏側に仕込むことにした。

Screen Shot 2023-01-27 at 1.36.14.png

これで、ダイアトニックやマイナー・スケールを選択した時の辻褄合わせが完了したのだが、

Screen Shot 2023-01-27 at 2.03.06.png

ライヴでキーを切り替えるのは至難の業で、実用性を考えた場合は別に UI を開発する必要があるだろう。

パラメータの追加に合わせて、VolumeTune に Scale セレクタを配分し、スレッショルド設定は 2Voice(赤)で行う。

IMG_9299.JPG

今回はロータリーエンコーダ分の変数の追加で RAM の使用量に限界が出てしまったので、立ち上げ冒頭に表示される白猫イラストの登録を抹消してgfxの消費を抑えた。

幸いにも、黒猫(ジョバやんは黒猫)は問題なく表示出来たので、これを残して今宵の作業は終了。

IMG_9298.JPG

追記:

夢の中でピッチシフトをトップスイッチにアサインする案を思いついたので、目が覚めてから早速実行に移す。

が、相変わらずRAM1が破綻したので、スタートアップで行っていたアイコンパレードを廃止することにした。尚、黒猫ロゴは温存している。

トップスイッチのシングルクリックで+1nn、ダブルで-1nn、

Screen Shot 2023-01-27 at 9.18.04.png

トリプルでゼロに復帰する。

Screen Shot 2023-01-27 at 9.54.21.png

実際に演奏してみた。



自由な演奏を行うためには、フットスイッチによるリモコン機構の導入が急務。

追記2:

ChromaticMode選択時に各パラメータを一度で視認出来るように、GUIを改良した。

IMG_9301.JPG
posted by Yasuski at 02:04| LaVoixski

2023年01月24日

LaVoixski@ChromaticModeの改装を行う

遣い勝手を悪く感じていた Chromatic Mode の初期設定を"HOLD"に変更した。

Screen Shot 2023-01-24 at 12.42.50.png

ノブを回すと最小値に設定される。

Screen Shot 2023-01-24 at 12.44.02.png

多項目にパラメータが分散していたので、設定の変更に予想外の手間が掛かってしまった。

Screen Shot 2023-01-24 at 12.39.01.png

Chromatic スケール変換時に変換誤差によって生じるノイズを軽減する手段として、pitchNoteにEMAを掛ける項目を追加しているが、、、

Screen Shot 2023-01-24 at 12.42.21.png

完全なノイズの抑制には至っていない。

追記:

その後、ChromaticModeにスケールの切替機構を導入した。

Screen Shot 2023-01-24 at 18.55.18.png

パラメータは、TRES mode で MUTE を選択したときにUpperEncoderにアサインされる。

Screen Shot 2023-01-24 at 19.09.58.png

単純にSwitchで設定したスケールを切り替える方式がメモリの破綻で頓挫したので、変則技としてクロマチックスケールの特定の音列配分にオフセットを付加する形で音程の関係にヴァリエーションを持たせることにした。
ただし、配列にはチューニングの必要があり、今後は効率的な切替機構の検討を行っていくことになる。

1nn を±シフトした場合は Cmaj スケールに、2nn の場合は音階が上下する妙な効果が得られる。 

RAMの使用量を抑えつつ、それなりの処理速度が担保される手法として、16bitのバイナリに音階操作のデータを仕込んで、bitReadで音階をシフトするパターンを切り替える仕掛けを思い付いたのだが、実用になるかは判らない。 

実際にコンパイルが通るコードを組めてはいるが、残念ながらRAM1のマネージメントが破綻して、実行は不可能だった。

Screen Shot 2023-01-25 at 0.06.56.png

RAM1の破綻はGUIの項目量との関連が強く、経験上GUI側にダイエットを行えばなんとかRAM1の使用量を抑えることが出来るのだが、オマケ的な立ち位置の ChromaticMode にそこまでの優先順位は無いのが微妙なところではある。

追記2:

クロマチック音階を付与する際に発生していた変換ノイズの問題を解決することができた。

Screen Shot 2023-01-25 at 7.03.02.png

ノイズが発生していた原因は、通常モードに於いて「データの不連続面」を補完する機構とクロマチックモードとのミスマッチにあったので、スケール化された出力を補完機構には入力せず、出力側とリプレイスすることで問題は回避された。



追記3:

オフセットを追加する関数を減算から加算に変更することで、スケールにヴァリエーションを持たせることが出来た。

Screen Shot 2023-01-25 at 16.53.20.png

なんとなく、ホールズワースっぽいフレーズ生成器になってしまった。



今回行った改変では、速いパッセージの演奏に対応するためにフィルタの設定を軽めにチューンしている。

Screen Shot 2023-01-25 at 22.53.35.png

撮影の過程で感じた遣い辛さから、結局 4Voiceと THRES 選択時に HoldTime にアクセスするようにパラメータの配分を変更し、他のケースには従来通り ScaleSelector の機能を持たせることにした。

Screen Shot 2023-01-25 at 22.55.01.png

画面中右位置の ChromaticMode 系の表示は、機能に準じてパラメータが切り替わるようにコードを書き換えている。

Screen Shot 2023-01-25 at 22.53.58.png

IMG_9288.JPG

IMG_9294.JPG

現状では新たに表示系を追加した途端に即RAMが破綻するのだが、今回は起動時に行っていたモデルのヴァージョンと製作者の表示を削除することでなんとか辻褄を合わせることが出来た

追記4:

ChromaticModeの起動時間をHoldにすると、THRESで設定した作動条件が無効になるバグをフィックスした。

Screen Shot 2023-01-26 at 9.27.41.png

追記5:

VolumeTune の頁に、パラメータ "ChromOn" を配分した。

Screen Shot 2023-01-26 at 11.26.35.png

IMG_9296.JPG

これで、"ChromOn" の操作が可能な頁を、4 Voice を含めて2つに増やすことが出来た。

Screen Shot 2023-01-26 at 11.27.18.png

VolumeTune は実質 2 Voice mode の領域なので、

IMG_9295.JPG

操作に混乱は生じなさそうだが、念の為にLEDの発色を機能の変更と連動させておいた。

Screen Shot 2023-01-26 at 12.23.23.png
posted by Yasuski at 12:51| LaVoixski

2023年01月22日

LaVoixski@OverDrivenWaveformによる歪み系GuitarSoundのシミュレート

ギターアンプによるフィードバック奏法っぽい音色をシミュレートした。



基音に5度や12度を足すことで、フィードバックのニュアンスを変えている。

ソフトウエア上では、予めレベル超過が発生するようにMixLevelを調整しつつ、、、

Screen Shot 2023-01-22 at 22.54.24.png

非線形処理を行うリミッターによって、マイルドなクリップが発生するように工夫を行っている。

Screen Shot 2023-01-23 at 7.40.13.png

一方、アナログ的な手当として、通常1/2VCCに設定されているOpAmpのBIAS電圧をGND電位に落とすことで

Screen Shot 2023-01-22 at 23.00.05.png

出力波形に半波整流のような効果を与えている。 

Screen Shot 2023-01-22 at 23.20.18.png

実際の回路では回路図に示したダイオードを抵抗に置き換えているが、最新の回路では急激な電位の変化によってポップノイズが発生する欠点をカヴァーするために、スイッチ動作に時定数を持たせたFETで構成したアナログスイッチを導入することになった。

Screen Shot 2023-01-23 at 7.52.51.png
posted by Yasuski at 22:03| LaVoixski

2023年01月21日

LaVoixski@Op3Selector/EXCITERの操作法

Exciterのページは、異なる機能の寄せ集め的なところがあり、構造を理解することが難しい。

まず、最も使用頻度が高そうなのが、Op3 (OutputThree) の切替スイッチで、その機能は LowerEncoder に集約されている。



セレクタは、5オシレータの単独出力を、Transition、Normal、Exciter の3モードに切り替える。

単独出力のうち、ExciterMode では、Chebyshv Transfer を使った倍音構成を変更する形式の波形変換を行う。

倍音の構成は Fundamental から 5th までの5つで、UpperEncoder によって配分をプリセットする。



変換に使用する関数は、任意(3アドレス)の Wavetable に保存される。 ExciterMode を選択したときの UpperEncoder はデフォルトの状態でこの Wavetable のセレクタにアサインされている。

Wavetable Selector の次の項目からは、LPF 関連のパラメータが配分されている。



LPF には Cut Off Frequency が固定状態の FIx Mode とモジュレータが稼働する Mdulated Mode が設定されている。 この Modulator の LFO は Wavetable 方式で、変調を行う波形を準備された8種類の中から選択することが出来る。

追記:

使い勝手を改善するために並列化された LPF1/2 の UI。



追記2:

モードの切替に伴って GUI を LED の表示を連携させる改良を行った。



Screen Shot 2023-01-22 at 17.23.31.png
posted by Yasuski at 15:56| LaVoixski

2023年01月20日

LaVoixski@waveMixModeの操作法



波形表示の詳細を解説していないので、イマイチ解り難いかもしれない。Waveformについては別撮りで整理すべきか。

白く見えているのは左右の合成出力の波形で、モノラルの場合は白に、左右で差分が出る場合はCYANとMAGENTAに分かれる。

Screen Shot 2023-01-20 at 20.49.28.png

赤と青は、Transitionを掛けない状態の合成波形を左右別に表示している。オシレータの分配を左右に振っている場合には異なる波形が表示される。

Screen Shot 2023-01-20 at 20.52.16.png

緑はOP3(3番目の出力)で、選択されたオシレータ出力が表示される。出力モードはNormalとTransitionに加えて、ChebyshevTransferを選択できる。

目玉スイッチをダブルクリックで、右チャンネルを逆位相に設定=表示が反転したりと結構ややこしい。
posted by Yasuski at 18:07| LaVoixski

2023年01月19日

LaVoixski@ChromaticModeの操作法



動作ポイントを設定するスレッショルドにヒステリシスを持たせることで、低レベル領域に不感帯を設けた方が遣い勝手が良いかもしれない。

IMG_9216.JPG

何れにしてもオマケ要素の高い機能だが、いまのところ気になる「音荒れ」の原因は究明出来ていない。

追記:

稼働時間(この場合は4.75秒、6秒以上はHOLDとなる)を決定するタイマーの制限時間を超えてChromaticModeがINACTIVEになった状態を表示できるようにした。

IMG_9287.JPG
posted by Yasuski at 10:47| LaVoixski

2023年01月18日

LaVoixski@PitchBend/LPFの操作法

VolumeLevelをトリガーとして作動するエフェクト群のうち、PitchBendとLFOの操作法を解説した映像をアップロードした。



各エフェクトのトリガーは、UpperEncoderで mode2/case 9: を選択して、LowerEncoder の mode4/case x: に該当するエフェクトのトリガーが作動するスレッショルド・ポイントを UpperEncoder で設定する。

Screen Shot 2023-01-19 at 8.12.48.png

NORMAL MODEでは、Pitch/Volumeに掛けるEMA(フィルター)パターンの選択を行う。 
現時点では、MUTE MODE にパラメータはアサインされていない。

PITCHBEND MODE 選択時のUIはこのような表示になり、UpperEncoder で波形表示部左下の AtkEnv: の数値を設定する。 画像はゼロ・ポイントよりも左側に回した状態で、BencUp が選択されている。

Screen Shot 2023-01-19 at 2.01.13.png

BendUp/Downの切替は、AtkEnv: のゼロ・ポイントを境目に行うが、値が”ゼロ”の時には PHASER MODE が発動する。

Screen Shot 2023-01-19 at 2.01.47.png

LFOのSpeedRateの切替も、同様に LfoDep のゼロポイントで行うが、

Screen Shot 2023-01-19 at 2.02.51.png

Speed は PHASER MODE と同じく、Arpeggiator の設定に依存する。

IMG_9242 2.JPG
posted by Yasuski at 19:53| LaVoixski