2023年01月13日

LaVoixski@PORTSET/CLEARを復活させる

Teensy3.6で動作していたpin直打ち命令が、Teensy4.1から動作不良を起こしていた件の続報。

digitalWriteFastのライブラリを検討した結果、CORE_PINx_PORTSET(CLEAR) = CORE_PINx_BITMASK; と記述することで、pinを判定する条件分岐

Screen Shot 2023-01-13 at 12.46.46.png

をスキップして直打ちが可能なことが判明した。

Screen Shot 2023-01-13 at 10.07.44.png

同様に、digitalReadFastの場合は (CORE_PIN19_PINREG & CORE_PIN19_BITMASK) ? 1 : 0; と記述することで、こちらもpinを判定する条件分岐をスキップすることができた。

Screen Shot 2023-01-13 at 10.06.52.png

結果としてdacHandlerへのデータ転送ルーティンが高速化されるために、データがピックアップ出来るか心配だったが、いまのところ問題は発生していない。

追記:

InputCaptureに割振った端子の設定を、22K Ohm Pull Up & Hyst に変えたが、シャックリ現象の発生頻度に関しては若干の改善が見られる程度だった。

Screen Shot 2023-01-13 at 19.28.24.png

Screen Shot 2023-01-13 at 19.46.05.png

Screen Shot 2023-01-13 at 19.49.48.png

追記2:

動作がもどかしかったロータリーエンコーダのシングル/ダブルクリックの設定を400msに変更した。

Screen Shot 2023-01-14 at 0.01.54.png
posted by Yasuski at 10:49| LaVoixski

2023年01月12日

LaVoixski@コルピッツ・オシレータの設定を再考する

今回行ったシミュレーションは、低めの周波数に設定することを前提にC2/C3の値を470pFから1nFのほぼ倍に設定している。

Screen Shot 2023-01-12 at 22.02.35.png

実際の回路ではVariCapに印加する電圧の最大値を3.3Vから5Vに引上げているので、高い周波数方向のカヴァー領域が増えている筈だ。

Screen Shot 2023-01-13 at 3.38.50.png

オシレータにアンテナを繋ぐと「シミュレーションの結果」よりも発振周波数が激落ちするので、これはあくまでも参考値に過ぎないのだが、、、

Screen Shot 2023-01-12 at 22.34.28.png

周波数が低下するアンテナ接続側オシレータの補正幅を、高い周波数側に引き上げることで対処している。

Screen Shot 2023-01-12 at 22.39.05.png

アンテナ接続分のドリフトを想定して予めこのような数値のペアを組むことになるのだが、VariCapの可変レンジを超えた場合はさらに微調整を行うことになる。
posted by Yasuski at 22:06| LaVoixski

LaVoixski@新しく設計した基板にFPGAの実装を行った

新しく設計した基板3種に

IMG_9262.JPG

FPGAを実装し、ファームウエアを書き込んだ。

IMG_9272.JPG

dacHandler基板は、JTAGポートを取付ける前に基板配線用のpinを取付けたほうが良いか。XtalとPLL分周ICの全部載せを行うかは微妙なところ。

マットブラックなフロントパネルを新調したのだが、

IMG_9265.JPG

左に実装したUSB-MicroB端子の位置を左にオフセットした分だけボディー側のザグリを削り増す必要があった。

IMG_9275.JPG

削りを最小限にした結果、オフセットを解消しきれず塗装を行って誤魔化すことにした。

追記:

結局、dacHandler基板にオプション・パーツを全部載せすることになった。 

IMG_9276.JPG

XtalとPLL分周ICを実装しているので、このユニット単体でオーディオクロックを生成することができる。

IMG_9277.JPG

あとは、欠品している脚の手配をしなければならない。
posted by Yasuski at 00:10| LaVoixski

2023年01月09日

2023年01月08日

LaVoixski@InputCaptureのリザルトに掛けるweightの設定項目を追加する

Demodulatorから取り込んだValueに掛けるWeightを切り替えられるように設定パラメータ・3パターンを切り替える項目 DMOD を mode2/case 9: に追加した。

IMG_9252.JPG

NormalMode 選択時に3種類の設定、1: Normal  2: Fast  3: Slow をトップ・ノブで選択する。

Screen Shot 2023-01-08 at 11.28.34.png

Weight の状態は、LCDの上部エリア右に表示される。

Screen Shot 2023-01-08 at 11.28.49.png

準備しているケースは3つだが、必要に応じて追加することが可能。

Screen Shot 2023-01-08 at 11.36.36.png

ドローンをバックに演奏を行うケース等、ピッチの揺れを極力少なくしたいときは Slow を選択する。

いまのところWeightの設定にはメモリ機能を持たせていないが、シーン・メモリに追加するのはRAMの容量と用法を考えると微妙なところか。
posted by Yasuski at 12:13| LaVoixski

2023年01月07日

LaVoixski@FreezModeの起動を3clickから2clickに変更する

微妙なピッチの変化をキャプチャするのに 3 click は煩雑過ぎたので、取り敢えずアクションを 2 click に変更した。



シングルクリックでも良い感じがするので、一度仮に実装してみよう。

Screen Shot 2023-01-07 at 12.10.31.png

追記:

やはり、シングルクリックが正解で、正確なタイミングでキャプチャが行える。 

Screen Shot 2023-01-07 at 19.25.38.png

アルペジエータ・シーケンサの起動はダブルクリックに割り振っている。

posted by Yasuski at 19:22| LaVoixski

2023年01月06日

LaVoixski@FreezModeについて

Pitchをキャプチャする時にクオンタイズをクロマチックスケールで行う理由は、Pitchの分解能に由来する値のミスマッチの解消が目的で、音程の関係を可能な限り整数倍に落とし込むことを目指している。

Screen Shot 2023-01-06 at 18.54.24.png

チューニングに誤差が発生するケースは、特に低音の領域で顕著になってくるのだが、、、

Screen Shot 2023-01-06 at 19.20.16.png

Pitchの値を予めクロマチックスケールに丸めることで、誤差の発生を最小限に抑えることが出来る。

この問題に対処する別の手段として、WaveTableのサンプル長を増やす選択肢があるのだが、、、

Screen Shot 2023-01-06 at 19.11.04.png

メモリの消費=波形のライブラリ数とのトレードオフが発生してしまう。
posted by Yasuski at 20:12| LaVoixski

2023年01月04日

LaVoixski@Pitchを固定したコードをバックに演奏を行う

これは、iPhoneで記録した映像。



iPhone のマイクは音が良いのだが、カメラの調整機能がトンチキで露出補正が効かない。 一方、ドロケーはある程度補正が効くものの、音が壊滅的に悪い。 

その分撮影に手間がかかるのだが、ライン録音+ドロケーの映像で演奏を再録した。



ホワイトバランスを合わせなかったので色味が緑掛かっているが、露出をミスってLCDがサチってしまうよりはマシだろう。

映像を見て判るが、ドローンをバックに演奏を行う場合には固定された音階に対して安定したピッチコントロールが望まれるのだが、センシングの問題から発生するピッチの予期せぬ揺れを防ぐようにEMAを調整すると、どうしてもレスポンスとのトレードオフが生じてしまう。

Screen Shot 2023-01-05 at 16.20.49.png

「揺れ」の原因としては、オシレータに近接するLCDディスプレイから放射されるノイズが影響している可能性が考えられるので、対策として電磁シールドを追加する予定。

一方、キャプチャしたPitchよりも低い音程を演奏して綺麗な和声を構成しようとした場合、どうやってもピッチが合わない問題が発生する。 これはPitchを取り込む際の分解能によるものだが、この問題を回避するために、予め設定したチューニングに沿ったクロマチック音階でピッチをキャプチャする機能を実装した。

Screen Shot 2023-01-06 at 11.01.18.png

Screen Shot 2023-01-06 at 11.03.29.png

Screen Shot 2023-01-06 at 7.46.50.png

若干の誤差が出てしまうものの、固定した音階以下でもそれなりにハーモナイズを行うことが出来るようになったようだ。



その後、クオンタイズの実行を決定する部分に不備が発見されたので、修正を行った後に再度記録を行った。

posted by Yasuski at 17:24| LaVoixski

2023年01月03日

LaVoixski@PhaseShifterの仕様を変更する

オシレータの Pitch に依存していた PhaseShifter の Rate を LFO と共通の Pitch に依存しない方式に変更した。

Screen Shot 2023-01-03 at 3.55.48.png

以降、PhaseShifter の Rate は Arpeggiator の Spd と共通の数値にセットされる。
posted by Yasuski at 02:41| LaVoixski