2025年12月02日

LaVoixski@-1nnのオフセットが発覚したChromaticModeの判定を修正する

外部 midi 機器との間で整合性を取ったつもりだった ChromaticMode と、基音設定チューナーの間に 1nn のズレが生じている不具合が発覚した。

原因は nn 判定のオフセット値がマイナス側に作用した結果生じた不整合なので、判定の条件分岐と

Screen Shot 2025-12-02 at 11.38.07.png

midi 出力に付加していたオフセット値を修正することで

Screen Shot 2025-12-02 at 11.52.28.png

不具合に対応した。

表示系にも不具合が生じていたが、何故か直接扱っていなかった USB_MIDI への出力値を基音判定の条件分岐に割り当てて、正常な表示が行えるようになった。

Screen Shot 2025-12-02 at 11.52.55.png

外部の USB 音源に接続して、正常な運用を確認した。

Screen Shot 2025-12-02 at 11.44.49.png

その他、マニュアルを改定する過程で発覚した機能操作の不整合(タスクを配分したスイッチのミスマッチ)を解決している。

Screen Shot 2025-12-02 at 12.08.14.png
posted by Yasuski at 21:35| LaVoixski

2025年12月01日

LaVoixski@バグの修正とフィルターの音質を調整

リモコンのマニュアルを執筆する過程で、

Screen Shot 2025-11-27 at 19.13.19.png

機能の実装を怠っていた物理スイッチ群とバグに対する手当を行った。

先ず、マニュアルを執筆する過程でこの場所にコードの重複を発見した。

Screen Shot 2025-11-30 at 23.12.34.png

物理スイッチには機能のアサイン漏れが多かったが、これは使用時に困惑する原因となるので、ライヴでの使用頻度を考慮して機能を割り当てていく。

Screen Shot 2025-11-30 at 23.12.52.png

Screen Shot 2025-11-30 at 23.13.09.png

長押し系のアサインにも怪し気な箇所があったので、修正を行っている。

Screen Shot 2025-11-30 at 23.16.46.png

本体側は、まず Voice2 の #15 に設定している ChordSequence のアドレス送りスイッチが i2c に未登録だったのでこれを追加、、、

Screen Shot 2025-11-30 at 21.50.34.png

次に、効きが極端に悪化していた WaveShaper の係数を修正している。

Screen Shot 2025-12-01 at 19.58.07.png

ついでに、紛らわしい命名を行っていたレジスタ群の名称を変更しつつ、遊んでいた Env1 の出力を VCF 専用に割振った他、CombFilter 系のモジュレータに直結していた Env2 にフィルターを挿入した。

Screen Shot 2025-12-01 at 19.58.43.png

モジュレータの調整は理屈で行うことが出来ず、出音の反応を聞きながら試行錯誤を繰り返すことになった。



WaveShaper は、しきい値を超えると波形が反転するという乱暴な機能だが、

Screen Shot 2025-12-03 at 17.43.59.png

フィルターを通すことで破綻が無くなる。

posted by Yasuski at 21:18| LaVoixski

2025年11月26日

LaVoixski@Ritardandoの開始点をVolumeLevelから設定する

Ritardandoを開始するポイントをレジスタに登録する機能は既に実装済みではあったが、

Screen Shot 2025-11-26 at 16.30.29.png

より容易に直感的な操作でそれが行えるようにVolumeLevelを直接キャプチャするスイッチ&リモコンの設定を追加した。



従来は、起動最低値 3300 を境目に、ロータリーエンコーダ(他のレジスタとデータを共用)の操作によって Ritardando の開始点を設定していたのが、今回行った改訂によりリモコン

Screen Shot 2025-11-26 at 1.22.46.png

及びトップスイッチ左のダブルクリックで起点を登録した時点で

Screen Shot 2025-11-26 at 0.10.45.png

Ritardando の起動準備ができる = 任意に設定した音量から、Ritardando の操作が可能になった。

Ritardando の設定値は、トップスイッチ左の長押しで 3300 の初期値にリセットされる。

追記:

Seq08のTempoレジスタのメモリ回路に記述をミスったバグを発見したので、これに対処した。

同様に、ロータリーエンコーダの操作時にSequencerのTempo設定レジスタ周りに認められたデータの極性反転に追従できない不具合を解消した。
posted by Yasuski at 16:43| LaVoixski

LaVoixski@TopSwitchにmode4準拠の機能切換機構を組み込む

TopSwitch 周りに設定した機能の切換を mode4 に配したパラメータに準拠する形に整理した。

この手当を行った結果、mode4 = 5 を選択した時に、Ritardando が開始するポイントを Volume Level のキャプチャで設定することが可能になった。

Screen Shot 2025-11-26 at 0.10.45.png

リモコン受け側では、受信したフラグの状態変化に反応してキャプチャを行う仕様とした。

Screen Shot 2025-11-26 at 1.22.46.png

こちらは送信側のコード。

Screen Shot 2025-11-26 at 2.56.48.png

スイッチに配分する機能を切り分けた結果、Single / Double Click の選択肢が広がって、アクションに無理がある Triple Click の使用を制限することが出来た。
posted by Yasuski at 01:28| LaVoixski

2025年11月23日

LaVoixski@EnvelopeFollowerの信号ラインにスイッチを追加する

忘却の彼方にあった EnvelopeFollower の存在を思い出し、改めて モジュレータにエントリイを行うスイッチを組み込むことにした。

Env のエントリイ=アクティベーションは、トップスイッチ中央で行うが、

Screen Shot 2025-11-24 at 7.56.24.png

スイッチのアサインに悩んでいる際に、トップスイッチの機能を mode4 によって切換えることを思いついたので、スイッチ類の配置を今一度考え直すことになった。

Screen Shot 2025-11-24 at 7.56.54.png

Envelope 出力は uint16_t なので、EG (float) との乗り換えを行う場合にデータ型を一致させなければならない。 現状はフィルター周りの制御を uint16_t で行っているので、実験段階では EG 出力の float 型を uint 型に近い形に整形していたが、

Screen Shot 2025-11-23 at 14.03.04.png

度重なるデータ型の変換は無駄な作業の繰り返しなので、最終的にはフィルター周りの計算を float 型に置換するところに落ち着いた。

Screen Shot 2025-11-23 at 16.48.17.png

Screen Shot 2025-11-23 at 16.48.50.png

接続を確認する表示機構は、シンプルに UpperEncoder の LED を選んだ。

Screen Shot 2025-11-23 at 14.24.14.png

まだ操作がこなれていないが、EF を EG と絡めて運用する様子を記録した。



EF を切換えるのではなく「エントリイ」させるところがミソで、モジュレーターの位階として「より上位の存在」に設定された EG は、LFO を含めた制御信号全体のレベル管理を統括している。

Screen Shot 2025-11-24 at 10.40.18.png

LFO は用法上常時繋ぎっぱなしの設定となっているが、EG と機能の性格が近い EnvelopeFollwer は、その扱いが難しい。

エンヴェロープを操作するモジュレータが "EG Only" となった場合、SustainLevel の設定値は直接的に LFO の Depth に影響する。 加算の結果 base value を底上げする EF のエントリーによって SustainLevel の影響がマイルドになるが、トレードオフとしてモジュレータの効きが悪くなる。

追記:

EG と ENV の接続状態を microSD に記憶する機能を実装した。

まず、EG のパラメータは VoiceMode の CH 別に設定せず、グローバルコントローラとした。

Screen Shot 2025-11-24 at 2.38.14.png

ただし、EnvelopeFollwer の接続は VoiceMode 毎にレジスタをリザーヴしている。

Screen Shot 2025-11-24 at 2.38.56.png

SceneMemory 用のバッファを確保。

Screen Shot 2025-11-24 at 2.39.24.png

checkParameter への登録を忘れると、レジスタが反応しなくなる。

Screen Shot 2025-11-24 at 2.39.50.png

トップスイッチ側に条件分岐を設定して、VoiceMode 毎にスイッチをアサインした。

Screen Shot 2025-11-24 at 3.36.02.png

リモコンからの信号を受ける i2c の受信 CH の設定を忘れてはいけない。

ADSR は個別のアドレスで通信を行う。

Screen Shot 2025-11-24 at 2.36.34.png

リモコン側で操作する EnvelopeFollwer の接続スイッチは、グローバルコントローラとした。

Screen Shot 2025-11-24 at 2.36.54.png

追記2:

接続スイッチのメモリ読み出しが行えなかったバグが発覚したが、原因は単純な変数の記述漏れだった、、、。

Screen Shot 2025-11-24 at 9.26.18.png

あと、コード#35 の不調の原因として voiceMap( ) 上に add_val+d と記述された謎のタイプミスを発見、こちらもすぐに解決することができた。 不運にも、+ された "d" が変数として認識されてしまったが故の珍事だった。

追記3:

画面がロックして一切の操作を受け付けない重篤なバグが発覚した。

TopSwitch を操作した時に描画にジャンプする命令がカチ合って、何故か無限ループが発生していたらしく、メイン側からの無駄な描画の命令を減らして対策を講じた。 

本来、描画ルーチンは Loop 内で発動させる設計なのだが、今回のようにやってはいけない筈のメインからの指定を見落としているケースがないか、音声処理系のサブルーチンを含めて「不穏な描画系サブルーチン」の介入を調査したところ、該当する箇所は無かった。

リモコンの方は漸く形になってきた感触だが、年内/年始共にライヴに参加する機会は無く、実質的な運用試験は来年春まで行えないことが確定している。
posted by Yasuski at 16:59| LaVoixski

2025年11月22日

LaVoixski@ADSRの導入にトライする

今回行う作業は、Deepseek に以前組み込んだ LFO に準じた構造の EnvelopeGenerator の生成を依頼することから始めた。 制御系信号のハンドリングに関しては LFO の製作でハードルを超えた感があり、EG はその応用編となる。 

パラメータの構成はシンプルな ADSR とした。 後々、GateDelay を組み込んでもよいが、取り敢えずはまともに動く EG の導入を目指す。 

Deepseek とのやり取りはほんの数分で終わり、あとは自力でシステムに EG を導入するだけとなったが、その作業は想像していたよりも厳しいものだった。

パラメータの増設それ自体は、既存のシステムを参考にすれば良いのだが、最大の問題はロータリーエンコーダで構成された巨大な制御系への組み込みだ。 頁の配分は CombFilter の直後、ArpSpd との間に行った。 導入を行う前に、Sequencer の Tempo 設定頁を ArpSpd と統合し、

Screen Shot 2025-11-22 at 4.23.14.png

一段回深い階層に Sequencer で取り扱う Arpeggiator の Spd 設定パラメータを移設した。

Screen Shot 2025-11-22 at 4.24.54.png

階層の切り換えは、TopSwitch 右のシングルクリックに配分した。 同じスイッチに配分している事故が起きやすい LoopRec は、mode4 == 4 / PlaybackMode のみで発動するように制限を掛けた。

Screen Shot 2025-11-22 at 2.48.48.png

これで空き番地 #10 番を確保出来たので、この場所に ADSR を設定する EG 用の頁を組んでいく。

EG の構造は、LFO のそれを踏襲しているので、、、

Screen Shot 2025-11-22 at 4.30.49.png

LFO を導入した際の経験を活かすことが出来る。

EG は主にフィルターの制御に使用する前提で、回路を組んでいく。

Screen Shot 2025-11-22 at 2.39.57.png

問題となったのはロータリーエンコーダの構成で、こちらは CombFilter のそれを踏襲しているのだが、この時点で「掛かりの深さ」等のチューニングを行う余裕は無く、「まずはとにかく動けばよい」ということで、動作の確認を行う GUI の設定を詰めることにした。GUI の構造と制御信号を処理する回路を近似させれば、GUI の動きが表層的には動作の確認となる筈だ。

Screen Shot 2025-11-22 at 2.41.28.png

EG は2系統で構成されているので、これを切換えるパラメータが必要だ。 今回は、これをトップスイッチ右に配分した。 先の Sequencer 用の ArpSpd パラメータの呼び出しも、同じスイッチに配分している。

VoiceMode 7 個分の(ADSR2 系統 = 8 × 7 個と結構な数になる)パラメータを追加するのは諦めて、システム全体を統合する8個分のレジスタを先ず実装する。

レジスタの切り替えを行うのは UpperEncoder で、コードに内包される mode2 切り換え機構の上位に ADSR のレジスタを選択する条件分岐を設定している。

Screen Shot 2025-11-22 at 2.44.45.png

EG は実用性の検証が未了なので、ひとまずはグローバルコントローラに設定している。 今後用法が確立して EG の機能を使いこなせることが判った時点で、再度全 VoiceMode 分の導入を検討する。

EG の起動は、Volume に設けた閾値を判定するフラグによって行われる。

EG1 のトリガは固定された閾値で、

Screen Shot 2025-11-22 at 13.21.41.png

EG2 のトリガはレジスタによって設定された閾値で起動される。

Screen Shot 2025-11-22 at 13.21.52.png

EG の設定は、Main プログラム側の Loop 内からブリッジ関数を呼び出して行う。

Screen Shot 2025-11-22 at 2.48.28.png

受け渡されたレジスタの値は、EG のサブルーチンで処理される。

Screen Shot 2025-11-22 at 4.30.49.png

この辺りの処理の流れは LFO と同じなので、新たなモジュレータとして組み込むのに最適な場所を考慮するだけでよかった。

LED と LCD の色味の調整を行って、、、

Screen Shot 2025-11-22 at 14.34.35.png

Screen Shot 2025-11-22 at 14.35.19.png

動作を確認したが、ADSR の選択には int を使っていた所為で発生した「周期的に発現するロータリーエンコーダの無反応」というバグに困惑することになった。 基本、スイッチ系の素子は uint で組むべきということか。

VCF 的な用法は可能だが、フィルターの効き自体がまろやかなので、鮮烈な効果は薄い。

残る作業は、現時点では暫定的に readBuffer(); 内で数値を書き込んでいる新規に登録した ADSR のレジスタ群を microSD に登録する機能の実装となる。



追記:

実験の結果、Decay のリリース時にノイズが発生していたので、EG の出力値をメイン側でさらに平滑化することにした。

Screen Shot 2025-11-23 at 0.02.37.png

ノイズを除去しつつ、動作に違和感を感じない設定値はこのあたりになるだろうか。

これからリモコン側に ADSR のパラメータを組み込んでいくが、ADSR 分のパラメータをリザーヴするには階層を深くせざるを得ず、予想していたよりもコーディングに手間が掛かるかもしれない。 特に、LFO のDepth との相関性が深い Sustain の扱いを検討することになるだろう。
posted by Yasuski at 04:43| LaVoixski

2025年11月20日

SolenoidBell@配線に苦労する

電源の選定に迷って完成が遅れているSolenoidBellの組み立てに着手しているのだが、、、

IMG_8268.JPG

トリッキーな基盤配置の所為で配線が難しく、ケースに取り付けた部品とのクリアランスチェックが大変なことになっている。

IMG_8275.JPG

まずは電源ラインから配線を始めていて、もっと手間の掛かりそうな信号ラインの取り回しは明日以降に着手する。

IMG_8276.JPG

基盤を挿入する際にスイッチ類の配線が引っかかってブチ切れる事案が発生したので、保護処置を行ったあと、クリアランスの確保を確認した。

IMG_8277.JPG

配線を引っ掛けて端子類が破壊されるケースもあったので、基盤をスロットインする時に部品を引っ掛けないような配線の取り回しを考えなければならない。

IMG_8280.JPG

実際の運用形態はリモコンを使用することになるかもしれないが、かといって物理なスイッチを端折ることは出来ないのだ。
posted by Yasuski at 22:31| SolenoidBell

LaVoixski@フィルタ周りにバグを発見する

リモコンと楽器の整合性を突き詰めていったら、結果として本体側の設定ミスが見つかるケースが相次いでいる。

今日は、フィルターを切換えるスイッチの不整合を発見、そりゃいくらレベルを調整しても結果が出ないのは当前なのだった、、、。

Screen Shot 2025-11-19 at 22.04.54.png

この失敗が発生した原因は「九龍城的に建増しを繰り返したバラック状の回路構成」にあって、その都度行われるべき制御ロジックの統合に失敗した結果、スイッチによる選択対象が場所によって反転している状態に気付けなかった。 リモコンによる統合制御を導入する過程で、本体側の制御ロジックの不整合が表面化するケースは今後も続く公算が高い。

さて、そのリモコンの開発の状況だが、気になっていた「空き地」が埋まってひとまずは完成といったところか。 

Screen Shot 2025-11-20 at 1.43.23.png

EMA の値の切り換えや、スレッショルド値の調整や、出力をアクティヴェイトするスイッチなど、IMU の出力調整を行う機能を暫定的に設定しているが、

Screen Shot 2025-11-20 at 11.32.17.png

楽器側の対応は未了。 というか、使い途を思い付けない。

Screen Shot 2025-11-20 at 12.48.44.png

VoiceMode の切替時に望まないコードの音が出る「仕様」は運用を重ねるにつれて使い辛く感じてきたので、目的のコードを指定したあとに「タッチパネルを長押し」した段階で結果が反映されるように、リモコンの構造を変更した。 

Screen Shot 2025-11-19 at 22.10.47.png

タッチパネルの長押しに関しては反応がイマイチなので、この機能を機械スイッチに割り振る事も考えている。

楽器本体の側では、対応可能なパラメータを増やした。 

Screen Shot 2025-11-19 at 22.09.22.png

Screen Shot 2025-11-20 at 0.10.09.png

これで表に出ているパラメータはほぼ網羅出来た筈。

追記:

Voicingの決定を機械スイッチに振り替えた。 

Screen Shot 2025-11-20 at 3.44.37.png

なんやかんやで、物理は安心出来る。

追記2:

リモコンの長押し設定を整理した。

基本は、パラメータのリセットを行う機能を持たせているが、

Screen Shot 2025-11-20 at 13.05.22.png

VoiceModeの選択時のみChromaticModeの起動を行う。

Screen Shot 2025-11-20 at 11.29.39.png

Screen Shot 2025-11-20 at 13.30.26.png

機械スイッチも同様にパラメータの切り替えを行ってもよいが、操作の混乱の原因ともなるので、程々にしなければならない。

追記3:

リモコンがレジスタの上書きを行った後に、SceneMemoryで状態が復帰できないバグを発見した。

原因は、新規に増設すべきだったレジスタをケチったという間抜けな理由だったので、

Screen Shot 2025-11-21 at 2.06.53.png

状態保存が行えるようにレジスタを追加した結果、バグは解消された。
posted by Yasuski at 02:44| LaVoixski

2025年11月17日

LaVoixski@新設したスイッチ類をSceneMemoryに登録する

新設した LPFmod = combFilter の前段に配置した LPF のアクティベーション と LPFの切り換えを行うスイッチのレジスタを SceneMemory に登録した。

何れも、音色に対する影響が大きなパラメータが故に、楽器の立ち上げ時に設定が記憶されていない状態に不便を感じていた。

今回、操作系やファイル記録システムに大きな改変を行う手間を掛けずに増設したパラメータを記録する手法として、bitSet/Clear/Read を使って関連するパラメータの MSB に状態を反映する方法を考えついた。

セレクタ・スイッチの値で、フラグとなる MSB を操作している。

Screen Shot 2025-11-17 at 19.54.27.png

読み出し側は、逆の手順で MSB の状態を拾えばよいのだが、、、

Screen Shot 2025-11-17 at 19.52.11.png

既存のパラメータの数値には MSB の状態が影響しないように、上位ビットにマスクを掛ける必要がある。

Screen Shot 2025-11-17 at 19.52.48.png

レジスタの仕様によって、マスクを掛ける場所が変わってくる。

Screen Shot 2025-11-17 at 19.52.34.png

既存のパラメータとレジスタを共有した影響で「ファイルの可読性」が犠牲になってしまうが、この項目に直接記述を行う可能性は低く、実用上の問題は殆どないだろう。

追記:

i2cのアドレスに増設したレジスタを追加で登録した。

Screen Shot 2025-11-19 at 1.26.51.png

本体側の仕様変更に伴って、リモコン側のデザインにも修正を行っている。
posted by Yasuski at 21:42| LaVoixski

LaVoixski@Looper使用時に発生するノイズへの対処について

今日は、ChromaticMode と Looper を併用した場合に、処理能力の限界から出力にノイズが混入する事案に対する手当を行っていた。

例の如く、コードを精査する過程で別のバグ( combFilter 周辺の信号ラインの混乱)を発見したので、まずはこれに対処することになった。

Screen Shot 2025-11-17 at 1.16.14.png

これは、バグというよりも構造(関数のネーミング)の問題で、ノイズに対処する過程で行っていた試行錯誤の後遺症と思われる。 最初はネーミングの混乱に端を発していたのが、何時の間にかそれが忘れ去られて、砂上の楼閣を組んでいった結果の大混乱で、前提を間違えた上で現物合わせを繰り返したことが、更なる混乱を招いていたという間抜けなケースであった。

このような凡ミスへの対処は愚直に行うのが正解で、信号ラインを素直な形に組み直し接続を整理して、取敢えずこの問題は解決できた。

Screen Shot 2025-11-17 at 1.11.47.png

Screen Shot 2025-11-17 at 1.12.55.png

さて、Looper 由来と思われるノイズの発生は以前から認識されていた現象で、combFilter の配線が混乱した件は「Looper のノイズ対策への一環」としての試行錯誤の産物なのだった。 現物合わせで対策を行う時に発生する問題は、経験上記述ミスや配置のミスが多く、今回行った改修ではミスを事前に防ぐ目論見として「処理過程のサブルーチン化」を進めていった。

Screen Shot 2025-11-16 at 23.31.13.png

これは、Deepseek 的価値観からすると「唾棄すべき外法」と思われるが、プログラムの構造を視覚的に把握出来るこの方法は侮り難く、特に配置換えパズルを行う際に混乱が生じない点が大きな長所である。

Screen Shot 2025-11-17 at 1.07.34.png

Screen Shot 2025-11-17 at 1.08.14.png

Screen Shot 2025-11-17 at 1.07.55.png

各処理過程をサブルーチン化する過程で、可能な限り「処理の単純化」を行っているが、Looper の重い処理の対価としては焼け石に水で、例えば描画を停止する手法は思った程に効果はなかった。

Screen Shot 2025-11-16 at 21.00.12.png

効果があったのは処理ルーチンの洗い直しで、処理を行う時系列を整理した結果、Looper の配置はL/Rの処理を切換えるオーディオクロックのアップ/ダウン・エッジの近辺、「2番目のタスク」に行うのが正解だったようだ。

Screen Shot 2025-11-16 at 23.31.55.png

Screen Shot 2025-11-16 at 23.33.43.png

改修後にノイズの発生は極力抑えられ、ChromaticMode を稼働させながら Looper の録音/再生を行うことが出来るようになった。

流石に 5voiceMode で複雑なヴォイシングの切り替えを行うタスクと ChromaticMode の並立は無理だったようだが、以前は 5voiceMode 単体の使用で発生していたノイズが抑えられているので、ここら辺りを取敢えずの妥協点とする。

ちなみに、MCU のクロックアップが簡単&最良の選択肢であったが、

Screen Shot 2025-11-17 at 1.03.32.png

MCU の個体差によって LCD の描画が行えなくなってしまうようで、この対処法には「MCU の選別」といった別のハードルの存在が明らかになった。 クロックアップには諸々の弊害が発現してしまう傾向があるので、これは最後の手段と認識すべきだろう。

追記:

ディレイラインの構成が変った影響で、レベルの設定やモジュレータの配置が怪しくなっていた箇所の修正を行った。

Screen Shot 2025-11-17 at 8.43.13.png

Looperの稼働状態。



MCUの処理能力を保全するために、録音が開始されると同時に描画を停止している。

メモリの管理状態が怪しかったときは再生時に稼働するはずのサンプルのフェードが上手く行っていなかったが、メモリの残量に余裕が出来てからは正常に動作しているようだ。

追記2:

Looper の起動に反応して波形表示がいきなり停止する仕様に戸惑うことが多かった(入力のレベル管理が出来なくなる)ので、表示する内容をダウングレードしてMCUの負荷を軽くする仕様に設計を変更した。

Screen Shot 2025-11-17 at 23.39.12.png

モジュレータの「効き」は入力信号のレベルに左右されるが、これは歪の発生と表裏一体で、演奏中に微妙なレベルの推移を監視する必要がある。 Looperを起動した場合には、さらにLooperと演奏のレベルのバランスに注視しなければならず、波形の表示は可能な限り行うべきだろう。

追記3:

ノイズサプレッションの目的で DAC の Mute 端子と楽器側の VoiceMode 切り換えスイッチを連携していたのだが、どうやらこれが逆効果だったようなので、関係を解消した。

Screen Shot 2025-11-18 at 15.22.31.png

それと、Looper の停止スイッチに、ソフトミュート機能を追加している。

Screen Shot 2025-11-18 at 15.22.50.png

こちらの効果も「それなりな感」が強いので、LFO の導入に準ずる形になるが本格的な EG を組み込むべきかもしれない。

追記4:

RAM1の free for local variables に余裕があると、不調だったLooper に仕込んだ自動 Fade In/Out 機能は、、、

Screen Shot 2025-11-18 at 22.08.12.png

設計通りに働いているようだ、、、。

Screen Shot 2025-11-18 at 22.08.27.png

x1/2 再生の場合はフェードを掛けておらず、録音された状態がそのまま再生される。

Screen Shot 2025-11-18 at 22.08.43.png

Loop 再生の記録。 何れの再生モードでも継ぎ目のノイズは認められない。



Loop の先頭は、録音の立ち上がり時にフェードを掛けている。

Screen Shot 2025-11-18 at 22.14.49.png

録音の終了を予測して、ソフトミュートを行っている(つもり)。

Screen Shot 2025-11-18 at 22.16.34.png
posted by Yasuski at 01:19| LaVoixski