Skip to content

fix midi-clock-stability#1

Open
plantssystem wants to merge 2 commits into
mainfrom
release/v2.0.2
Open

fix midi-clock-stability#1
plantssystem wants to merge 2 commits into
mainfrom
release/v2.0.2

Conversation

@plantssystem

Copy link
Copy Markdown
Owner

KOSMOS2 v2.0.2 — MIDI Clock 完全安定化アップデート

✨ 概要

v2.0.2 では、KOSMOS2 の内部構造を大幅に刷新し、
MIDI Clock を Core1 側へ完全移行しました。

これにより、UI 負荷や TouchOSC、LCD 描画の影響を一切受けない
ハードウェア級の超安定クロックを実現しています。


🚀 新機能

  • Core1 ベースの MIDI Clock エンジンを新規実装
    I2S と同じ高速ループで Clock を生成するため、揺れゼロの 24ppqn を出力。
  • 任意 BPM に完全追従
    80 / 100 / 140 / 240 など、stepBPM の変化にリアルタイムで同期。
  • Clock 間隔を stepBPM と連動
    UI 側のテンポ変更が即座に Clock に反映される構造に。

🛠 改良点

  • BPM が 20〜30 に落ち込む問題を完全解消
    Core0 の負荷で Clock が止まる現象を根本から排除。
  • フリーズ問題を解消
    USB MIDI バッファが詰まる原因を除去し、安定動作を実現。
  • Clock 二重送信のリスクを排除
    Core0 側の旧 Clock コードをすべて削除し、一本化。

🐛 バグ修正

  • UI 描画や乱数処理中に Clock が遅延する問題を修正。
  • TouchOSC 連打時に USB MIDI が詰まる問題を修正。
  • Clock が DAW 側で “揺れて見える” 現象を修正。

🔧 内部変更

  • getClockIntervalMicros() を Core0 に追加し、BPM 計算を安全に分離。
  • updateMidiClock_Core1() を Core1 に追加し、Clock を安定生成。
  • usb_midi をグローバル化し、両コアからアクセス可能に。
  • Core0 の loop() から旧 Clock 処理を完全削除。

🎹 結果

KOSMOS2 は “外部機材を正確にドライブできるシーケンサ” に進化しました。
DAW・ハードシンセ・リズムマシンとの同期が、これまで以上に強固で安定します。


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant