<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Davinci Leonhard</title>
    <description>The latest articles on DEV Community by Davinci Leonhard (@davincileonhard).</description>
    <link>https://dev.to/davincileonhard</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3807814%2Fec83d772-6efb-4080-ab8e-4140c96a0ce3.png</url>
      <title>DEV Community: Davinci Leonhard</title>
      <link>https://dev.to/davincileonhard</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/davincileonhard"/>
    <language>en</language>
    <item>
      <title>We Tried to Find a "Future Signal" in Bearing Failure Data. It Was Just Structured Degradation.</title>
      <dc:creator>Davinci Leonhard</dc:creator>
      <pubDate>Thu, 09 Jul 2026 10:08:32 +0000</pubDate>
      <link>https://dev.to/davincileonhard/we-tried-to-find-a-future-signal-in-bearing-failure-data-it-was-just-structured-degradation-2ign</link>
      <guid>https://dev.to/davincileonhard/we-tried-to-find-a-future-signal-in-bearing-failure-data-it-was-just-structured-degradation-2ign</guid>
      <description>&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; Pre-failure noise in degrading mechanical bearings is famously predictive of time-to-failure. We asked a stricter question: is that structure &lt;em&gt;directionally tied&lt;/em&gt; to the true future failure event, in a way present-state structure alone couldn't explain? We ran five falsification tests against six public bearing-degradation datasets to check. Every test failed to support directionality. What looked like a "signal from the future" was just the present being highly structured. This is independent research, not peer-reviewed — treat it accordingly.&lt;/p&gt;

&lt;h2&gt;
  
  
  The question
&lt;/h2&gt;

&lt;p&gt;Rotating machinery gives off a lot of warning before it dies. Spectral entropy shifts, resonance patterns change, noise gets structured in ways that correlate strongly with time-to-failure. That correlation is well documented in the predictive-maintenance literature and isn't controversial.&lt;/p&gt;

&lt;p&gt;What &lt;em&gt;is&lt;/em&gt; a stricter question: is that structure oriented — does it point specifically at the true, upcoming failure event, in a way that couldn't be explained by the present state alone?&lt;/p&gt;

&lt;p&gt;If the answer were yes, it would imply something stronger than "structured degradation." It would imply the current noise is carrying information &lt;em&gt;specific to a boundary condition that hasn't happened yet&lt;/em&gt;. We named this the &lt;strong&gt;Dead Future Hypothesis&lt;/strong&gt;, mostly as a label for the null we wanted to knock down — formally:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Pre-failure mechanical noise acts as a carrier for information flowing from the future terminal failure boundary. The adhesion cascade exhibits unique alignment with the true terminal state — alignment that should degrade under time-reversal, false terminal assignment, or cross-terminal label swaps.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If that's true, five specific things should happen. If any of them don't, the directionality claim collapses back into "the present is just really well structured" — no future-facing signal required.&lt;/p&gt;

&lt;h2&gt;
  
  
  The setup
&lt;/h2&gt;

&lt;p&gt;We used six public bearing-degradation datasets:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;PASS runs&lt;/strong&gt; (clean, ordered degradation cascade confirmed): NASA IMS Run 3, PRONOSTIA Bearing 1_1, PRONOSTIA Bearing 3_2&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;FAIL runs&lt;/strong&gt; (transient collapse only, no ordered cascade): NASA IMS Run 2, PRONOSTIA Bearing 1_2, PRONOSTIA Bearing 2_2&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Earlier passes (v0.3–v0.5) had already established that PASS runs contain a reproducible &lt;strong&gt;adhesion cascade&lt;/strong&gt;: a low-frequency band (the "Vanguard Band") lights up first, then the cascade climbs through broader frequency bands as failure approaches. That structure is real — it survives null-boundary controls and drift-matched virtual controls. The open question was whether it's &lt;em&gt;directional&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Every test below scores structure using AUC (area under the ROC curve) from a simple decoder trained to separate a target window from the safe/early-life zone. &lt;strong&gt;0.5 = indistinguishable from random, 1.0 = perfect separation.&lt;/strong&gt; High AUC just means "this window is statistically distinguishable from normal" — it says nothing on its own about &lt;em&gt;why&lt;/em&gt;. That's exactly the ambiguity the five tests below are designed to resolve.&lt;/p&gt;

&lt;h2&gt;
  
  
  The verification — five falsification tests
&lt;/h2&gt;

&lt;p&gt;Each test predicts a specific, falsifiable signature that a truly directional signal &lt;em&gt;must&lt;/em&gt; show. We ran all five (&lt;code&gt;v0.6&lt;/code&gt;, the "Directional Adhesion Stress Test").&lt;/p&gt;

&lt;h3&gt;
  
  
  Test 1 — Time Reversal
&lt;/h3&gt;

&lt;p&gt;Reverse the temporal order of each run, recompute every adhesion metric. A directional signal should collapse under reversal — AUC should fall toward the ~0.50 null baseline.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Forward AUC (avg):   0.940
Reversed AUC (avg):  0.940
Δ(t):                0.000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The reversed-time cascade was statistically indistinguishable from the forward one. In two of three PASS runs, the reversed score was marginally &lt;em&gt;higher&lt;/em&gt; than forward — within noise, but the opposite of what directionality predicts.&lt;/p&gt;

&lt;h3&gt;
  
  
  Test 2 — False Terminal Assignment
&lt;/h3&gt;

&lt;p&gt;Assign artificial "terminal" boundaries at 30% and 50% of bearing life, using the same drift-matched null controls as the true terminal. A directional signal should score the true terminal far above these fakes.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;True Terminal AUC:        0.940
False Terminal AUC (max): 0.923
Specificity percentile:   ~50th
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Fake failure points scored essentially as well as the real one. The cascade aligns with any structurally compatible boundary — it doesn't discriminate the true future event from an arbitrary mid-life one.&lt;/p&gt;

&lt;h3&gt;
  
  
  Test 3 — Cross-Terminal Specificity
&lt;/h3&gt;

&lt;p&gt;Swap terminal labels across runs — apply NASA IMS Run 3's failure boundary to PRONOSTIA 1_1's data, and vice versa. A signal tied to one specific physical failure event should collapse badly under the wrong label.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;True Label AUC (avg):    0.910
Swapped Label AUC (avg): 0.873
Cross-Terminal Δ:        0.037
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A 0.037 drop is noise-level. The cascade is a general property of bearing degradation in PASS runs, not something wired to any individual physical failure event.&lt;/p&gt;

&lt;h3&gt;
  
  
  Test 4 — Vanguard Band Stability
&lt;/h3&gt;

&lt;p&gt;Stress-test the Vanguard Band under random seeds, resampled windows, ±5% boundary shifts, and alternative null controls, to check whether it's a real physical structure or an artifact.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Forward stability:  0.96
Reversed stability: 0.94
Seed variance:       ±0.02
FAIL-run stability:  0.31
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The Vanguard Band &lt;em&gt;is&lt;/em&gt; real — it's stable and clearly separates PASS from FAIL runs. But it's equally stable under time reversal (0.94 vs 0.96), which confirms it's a genuine physical structure while simultaneously confirming it has &lt;strong&gt;no temporal orientation&lt;/strong&gt;. This is the one test we call PARTIAL rather than a clean fail: the structure itself checks out, it just isn't directional.&lt;/p&gt;

&lt;h3&gt;
  
  
  Test 5 — Cascade Order Robustness
&lt;/h3&gt;

&lt;p&gt;Represent the ordered band-activation sequence as a vector, compare forward / reversed / false-terminal / cross-terminal conditions against the canonical forward cascade using cosine similarity. Only the real forward condition should score high; everything else should be scrambled.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Forward / Reversed / False-terminal / Cross-terminal:  0.85–0.92
Null-shuffled baseline:                                 ~0.51
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;All four "real" conditions cluster together. Only literally random shuffling produces a different signature. The cascade order is an intrinsic property of how the degradation unfolds — not a fingerprint of a specific future event.&lt;/p&gt;

&lt;h2&gt;
  
  
  The result
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Criterion&lt;/th&gt;
&lt;th&gt;Required for directionality&lt;/th&gt;
&lt;th&gt;Result&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Forward &amp;gt; Reversed&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Δ = 0.000 — &lt;strong&gt;FAILED&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;True terminal &amp;gt; False terminals&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;~50th percentile — &lt;strong&gt;FAILED&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;True labels &amp;gt; Swapped labels&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Δ = 0.037 (noise) — &lt;strong&gt;FAILED&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vanguard Band stable only in PASS, not under reversal&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Stable in both — &lt;strong&gt;PARTIAL&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;FAIL runs show no ordered cascade&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Confirmed, but doesn't establish directionality — &lt;strong&gt;FAILED&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Across the directional criteria, every test failed to support temporal orientation. The Dead Future Hypothesis is empirically rejected.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this actually means
&lt;/h2&gt;

&lt;p&gt;The interesting part isn't "retrocausality is fake" — nobody serious expected otherwise. The interesting part is that the thing we &lt;em&gt;did&lt;/em&gt; find is still real: bearings exhibit a highly ordered, reproducible, statistically significant structural cascade before they fail. It's just &lt;strong&gt;undirected&lt;/strong&gt; — a non-stationary spectral critical transition, not a message from the terminal event.&lt;/p&gt;

&lt;p&gt;In other words: the present state of a degrading system is &lt;em&gt;already&lt;/em&gt; so deeply structured that it deterministically constrains its own likely futures. That looks like prediction. It even looks a little like the future reaching back. But the arrow isn't there — you can run the tape backward and the structure holds just as well. The predictability was fully present in the current moment all along.&lt;/p&gt;

&lt;h2&gt;
  
  
  Caveats
&lt;/h2&gt;

&lt;p&gt;This is independent research, not peer-reviewed. The datasets (NASA IMS, PRONOSTIA/FEMTO) are public bearing-degradation benchmarks commonly used in predictive-maintenance literature — full credit to those projects. Treat the falsification result as a solid negative result on a fun hypothesis, not a physics paper.&lt;/p&gt;

&lt;h2&gt;
  
  
  Methodology / reproducibility
&lt;/h2&gt;

&lt;p&gt;The core scoring approach is a standard AUC-based decoder (separating a target window from the early-life safe zone) run per frequency band, cross-checked against drift-matched virtual null boundaries so the score can't be explained by generic drift alone. Each of the five tests above just changes what gets fed into that same scorer — reversed time order, a relabeled terminal, a swapped terminal, a perturbed band definition, or a shuffled order vector.&lt;/p&gt;

&lt;p&gt;Code cleanup for public release is still pending — the current implementation is entangled with unrelated internal tooling. Full report and figures: &lt;a href="https://dim.productions/pinching_index/" rel="noopener noreferrer"&gt;Pinching Index — DIMProductions Research Archive&lt;/a&gt;&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>machinelearning</category>
      <category>python</category>
      <category>research</category>
    </item>
    <item>
      <title>LinkinDAW: Connecting FL Studio to Browser-Based Web Audio Apps with WebRTC</title>
      <dc:creator>Davinci Leonhard</dc:creator>
      <pubDate>Mon, 06 Jul 2026 12:38:38 +0000</pubDate>
      <link>https://dev.to/davincileonhard/linkindaw-connecting-fl-studio-to-browser-based-web-audio-apps-with-webrtc-48kf</link>
      <guid>https://dev.to/davincileonhard/linkindaw-connecting-fl-studio-to-browser-based-web-audio-apps-with-webrtc-48kf</guid>
      <description>&lt;h1&gt;
  
  
  LinkinDAW: Connecting FL Studio to Browser-Based Web Audio Apps with WebRTC
&lt;/h1&gt;

&lt;p&gt;I’ve been building &lt;strong&gt;LinkinDAW&lt;/strong&gt;, an experimental Windows VST3 connector that links FL Studio with browser-based Web Audio apps through WebRTC.&lt;/p&gt;

&lt;p&gt;The idea is simple:&lt;/p&gt;

&lt;p&gt;A DAW should be able to talk to a web app like an instrument.&lt;/p&gt;

&lt;p&gt;In the current public alpha demo, FL Studio loads LinkinDAW as a VST3 plug-in. From there, LinkinDAW opens a browser launcher, starts a WebRTC room, and connects to &lt;strong&gt;Axion&lt;/strong&gt;, a browser-based Web Audio instrument.&lt;/p&gt;

&lt;p&gt;Once connected, FL Studio can drive the web app with transport, tempo, and note messages.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo Flow
&lt;/h2&gt;

&lt;p&gt;The current demo shows:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Loading LinkinDAW inside FL Studio&lt;/li&gt;
&lt;li&gt;Opening the web app launcher&lt;/li&gt;
&lt;li&gt;Choosing Axion&lt;/li&gt;
&lt;li&gt;Connecting the browser app through WebRTC&lt;/li&gt;
&lt;li&gt;Pressing play in FL Studio&lt;/li&gt;
&lt;li&gt;Hearing Axion respond in sync&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is still experimental, but the core concept is already visible: FL Studio can become the host, and the browser can become the instrument surface.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Browser Audio?
&lt;/h2&gt;

&lt;p&gt;Web Audio has a different kind of creative energy.&lt;/p&gt;

&lt;p&gt;It is fast to prototype, easy to share, visual by default, and open to unusual interfaces. But DAWs are still where many producers arrange, mix, and finish music.&lt;/p&gt;

&lt;p&gt;LinkinDAW is an attempt to connect those worlds.&lt;/p&gt;

&lt;p&gt;Instead of rebuilding everything as a native plug-in, the browser can stay the creative environment, while the DAW handles timing, transport, and production workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Current Status
&lt;/h2&gt;

&lt;p&gt;LinkinDAW is currently a public alpha.&lt;/p&gt;

&lt;p&gt;What exists now:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Windows VST3 source code&lt;/li&gt;
&lt;li&gt;FL Studio-focused workflow&lt;/li&gt;
&lt;li&gt;WebRTC signaling prototype&lt;/li&gt;
&lt;li&gt;Axion staging demo&lt;/li&gt;
&lt;li&gt;Browser-based Web Audio integration&lt;/li&gt;
&lt;li&gt;Experimental audio and export paths&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What does not exist yet:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Installer&lt;/li&gt;
&lt;li&gt;Signed binary release&lt;/li&gt;
&lt;li&gt;General DAW support&lt;/li&gt;
&lt;li&gt;Production-ready packaging&lt;/li&gt;
&lt;li&gt;Finalized API for arbitrary Web Audio apps&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So this is not a finished product announcement.&lt;/p&gt;

&lt;p&gt;It is a working development milestone.&lt;/p&gt;

&lt;h2&gt;
  
  
  Axion as the First Target
&lt;/h2&gt;

&lt;p&gt;The first serious demo target is &lt;strong&gt;Axion&lt;/strong&gt;, a browser-based Web Audio app.&lt;/p&gt;

&lt;p&gt;Axion is useful for testing because it has a real musical surface: drums, native 808 behavior, parameter controls, and browser-side export experiments.&lt;/p&gt;

&lt;p&gt;The current direction is not to force every detail through MIDI piano-roll behavior. For example, 808 slides are better preserved inside Axion’s own playback/export logic than by pretending standard VST MIDI can represent every FL Studio slide behavior exactly.&lt;/p&gt;

&lt;p&gt;That distinction matters.&lt;/p&gt;

&lt;p&gt;The goal is not to fake a web app into becoming a traditional plug-in.&lt;/p&gt;

&lt;p&gt;The goal is to make the DAW and the browser cooperate.&lt;/p&gt;

&lt;h2&gt;
  
  
  Repository
&lt;/h2&gt;

&lt;p&gt;The source code is now public here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/DIMProductions/LinkinDAW" rel="noopener noreferrer"&gt;https://github.com/DIMProductions/LinkinDAW&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project is experimental, Windows/FL Studio-focused, and currently source-first. There is no installer or binary release yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I’m Looking For
&lt;/h2&gt;

&lt;p&gt;I’m interested in feedback from people who care about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Web Audio&lt;/li&gt;
&lt;li&gt;DAW plug-in development&lt;/li&gt;
&lt;li&gt;FL Studio workflows&lt;/li&gt;
&lt;li&gt;WebRTC&lt;/li&gt;
&lt;li&gt;experimental music tools&lt;/li&gt;
&lt;li&gt;browser-native instruments&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is early, rough, and still changing.&lt;/p&gt;

&lt;p&gt;But the door is open now.&lt;/p&gt;

&lt;p&gt;If you are into DAWs, Web Audio, plug-ins, or strange music tools, come build this with me.&lt;/p&gt;

</description>
      <category>webaudio</category>
      <category>musicproduction</category>
      <category>webrtc</category>
      <category>cpp</category>
    </item>
    <item>
      <title>I Built a Piano Trainer That Measures Stability, Not Just Speed</title>
      <dc:creator>Davinci Leonhard</dc:creator>
      <pubDate>Sun, 29 Mar 2026 23:23:17 +0000</pubDate>
      <link>https://dev.to/davincileonhard/i-built-a-piano-trainer-that-measures-stability-not-just-speed-387c</link>
      <guid>https://dev.to/davincileonhard/i-built-a-piano-trainer-that-measures-stability-not-just-speed-387c</guid>
      <description>&lt;p&gt;Most piano practice tools measure speed.&lt;/p&gt;

&lt;p&gt;Some measure note accuracy.&lt;br&gt;
Some turn practice into a game.&lt;br&gt;
Some help beginners learn what key to press next.&lt;/p&gt;

&lt;p&gt;But there is a problem hidden underneath all of that:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;speed is not the same as control.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A pianist can play fast and still sound unstable.&lt;br&gt;
A trill can be quick but uneven.&lt;br&gt;
A repeated-note passage can look impressive on paper, while the actual timing is wobbling underneath.&lt;/p&gt;

&lt;p&gt;And that wobble matters.&lt;/p&gt;

&lt;p&gt;Especially in repeated notes, trills, and high-pressure fast passages, the real issue is often not whether you can move your fingers fast enough.&lt;br&gt;&lt;br&gt;
It is whether you can stay &lt;strong&gt;stable while moving fast&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That question led me to build &lt;strong&gt;Piano Virtuoso 18&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Piano Virtuoso 18 is a browser-based piano trainer focused on something that most tools do not treat as the main event:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;timing stability.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of rewarding raw speed alone, it evaluates whether the player can maintain control, consistency, and evenness during short high-speed bursts.&lt;/p&gt;

&lt;p&gt;You can try it here:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/DIMProductions/pv18" rel="noopener noreferrer"&gt;Piano Virtuoso 18 on GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dimproductions.itch.io/pianovirtuoso18" rel="noopener noreferrer"&gt;Piano Virtuoso 18 on itch.io&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The problem: fast is visible, instability is not
&lt;/h2&gt;

&lt;p&gt;Traditional practice makes it easy to notice obvious mistakes.&lt;/p&gt;

&lt;p&gt;You can hear missed notes.&lt;br&gt;
You can hear when the rhythm collapses completely.&lt;br&gt;
You can tell when you simply cannot keep up.&lt;/p&gt;

&lt;p&gt;But many technical weaknesses live in a more subtle zone.&lt;/p&gt;

&lt;p&gt;A player may think:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“I can do this trill.”&lt;/li&gt;
&lt;li&gt;“I can repeat this note fast enough.”&lt;/li&gt;
&lt;li&gt;“My right hand is getting faster.”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But when you actually examine the timing at a finer level, a different picture can appear:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;one note is consistently late&lt;/li&gt;
&lt;li&gt;alternation becomes uneven under pressure&lt;/li&gt;
&lt;li&gt;bursts accelerate and then decay&lt;/li&gt;
&lt;li&gt;intervals drift away from the intended spacing&lt;/li&gt;
&lt;li&gt;speed rises, but control falls apart&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is the zone I wanted to expose.&lt;/p&gt;

&lt;p&gt;Because in real playing, especially in advanced piano technique, &lt;strong&gt;fast and unstable is not mastery&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fast and stable is technique.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Why repeated notes and trills matter so much
&lt;/h2&gt;

&lt;p&gt;Repeated notes and trills are not just “small exercises.”&lt;/p&gt;

&lt;p&gt;They reveal the truth about control.&lt;/p&gt;

&lt;p&gt;If your motion is unstable, these patterns expose it immediately.&lt;br&gt;
If your timing is uneven, they punish it immediately.&lt;br&gt;
If your hands can generate speed but cannot regulate it, they make that weakness obvious.&lt;/p&gt;

&lt;p&gt;That makes them perfect for measurement.&lt;/p&gt;

&lt;p&gt;So instead of building a general piano-learning platform, I focused on a narrower and sharper question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can timing stability be measured directly during short, fast piano actions?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That became the design center of Piano Virtuoso 18.&lt;/p&gt;




&lt;h2&gt;
  
  
  The idea behind Piano Virtuoso 18
&lt;/h2&gt;

&lt;p&gt;Piano Virtuoso 18 is not designed as a generic tapping game.&lt;/p&gt;

&lt;p&gt;It is not mainly about “how many presses can you do.”&lt;br&gt;
It is not mainly about “did you hit the correct note.”&lt;br&gt;
And it is not trying to behave like a full AI piano teacher.&lt;/p&gt;

&lt;p&gt;Its core idea is much more specific:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;measure the quality of high-speed timing behavior, not just the quantity of taps.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That means the system cares about things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;micro-timing deviation&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;interval consistency&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;stability score&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;burst-control behavior&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;alternation evenness&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is to convert invisible technique problems into visible data.&lt;/p&gt;




&lt;h2&gt;
  
  
  What the trainer actually does
&lt;/h2&gt;

&lt;p&gt;Piano Virtuoso 18 runs in the browser and works with MIDI input.&lt;/p&gt;

&lt;p&gt;Its current design centers on short, measurable performance windows — especially &lt;strong&gt;10-second sprints&lt;/strong&gt; — because they create a clean situation for observing speed under pressure.&lt;/p&gt;

&lt;p&gt;The current core modes are:&lt;/p&gt;

&lt;h3&gt;
  
  
  Erlkönig Mode
&lt;/h3&gt;

&lt;p&gt;A repeated-note stability challenge centered on &lt;strong&gt;C4&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This mode is built for the kind of rapid single-note repetition that appears in advanced piano technique, especially where the issue is not merely speed, but maintaining uniform control.&lt;/p&gt;

&lt;h3&gt;
  
  
  Trill Mode
&lt;/h3&gt;

&lt;p&gt;An alternation stability challenge using &lt;strong&gt;C4 ↔ D4&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This mode evaluates how evenly the player alternates between two notes, and how stable the timing remains during the burst.&lt;/p&gt;

&lt;p&gt;These are simple exercises on the surface.&lt;/p&gt;

&lt;p&gt;But that simplicity is exactly what makes them useful as a technical lens.&lt;/p&gt;

&lt;p&gt;When the task is stripped down, instability has nowhere to hide.&lt;/p&gt;




&lt;h2&gt;
  
  
  The central metric: stability over time
&lt;/h2&gt;

&lt;p&gt;The most important idea in the project is this:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;raw speed is not enough as a score.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A player who produces more taps is not necessarily demonstrating better technique.&lt;br&gt;
They may simply be generating more chaotic motion.&lt;/p&gt;

&lt;p&gt;So Piano Virtuoso 18 treats stability as a first-class signal.&lt;/p&gt;

&lt;p&gt;That means the score is influenced not only by how fast the notes arrive, but by how evenly they are spaced and how well the performer sustains timing quality across the entire attempt.&lt;/p&gt;

&lt;p&gt;This is the real difference between a speed toy and a technique analyzer.&lt;/p&gt;




&lt;h2&gt;
  
  
  Visualizing the problem
&lt;/h2&gt;

&lt;p&gt;Here is the kind of timing structure the system is built around.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4cb5qdpis9xgra7k55b2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4cb5qdpis9xgra7k55b2.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This image represents an idealized view of alternation over time.&lt;/p&gt;

&lt;p&gt;The horizontal axis is time.&lt;br&gt;
The vertical structure separates note events in a repeating pattern.&lt;br&gt;
In trill-style alternation, the important question is not only whether the player hits both notes, but whether those events remain evenly spaced and structurally consistent over the full burst.&lt;/p&gt;

&lt;p&gt;That is where the interesting information lives.&lt;/p&gt;

&lt;p&gt;Not in “did the note happen?”&lt;br&gt;
But in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;when&lt;/strong&gt; it happened&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;how evenly&lt;/strong&gt; it happened&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;how much the spacing drifted&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;whether the player stayed under control&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once you look at performance this way, many familiar practice tools start to feel incomplete.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why I built it in the browser
&lt;/h2&gt;

&lt;p&gt;I wanted the system to be immediate, lightweight, and accessible.&lt;/p&gt;

&lt;p&gt;That is why Piano Virtuoso 18 runs directly in the browser rather than requiring a heavy native installation.&lt;/p&gt;

&lt;p&gt;For this kind of prototype and training system, the browser offers several advantages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;instant access&lt;/li&gt;
&lt;li&gt;simple distribution&lt;/li&gt;
&lt;li&gt;easy iteration&lt;/li&gt;
&lt;li&gt;direct MIDI integration&lt;/li&gt;
&lt;li&gt;no-friction testing across devices&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That makes it easier to experiment with measurement ideas quickly.&lt;/p&gt;

&lt;p&gt;And more importantly, it keeps the focus on the analysis itself, instead of burying the project under installation friction.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why this is not just another rhythm game
&lt;/h2&gt;

&lt;p&gt;At a glance, some people might think:&lt;br&gt;
“Isn’t this just a tapping challenge for pianists?”&lt;/p&gt;

&lt;p&gt;No.&lt;/p&gt;

&lt;p&gt;That interpretation misses the point.&lt;/p&gt;

&lt;p&gt;A tapping game usually rewards output volume:&lt;br&gt;
more presses, more points, end of story.&lt;/p&gt;

&lt;p&gt;Piano Virtuoso 18 is built around a different assumption:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;bad speed should not be rewarded the same way as controlled speed.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That changes the meaning of the entire system.&lt;/p&gt;

&lt;p&gt;If a player produces a lot of presses but their interval spacing is collapsing, that is not the same as true control.&lt;br&gt;
If a trill becomes rhythmically unbalanced, that is not a clean success.&lt;br&gt;
If the player’s burst profile shows instability, the score should reflect that.&lt;/p&gt;

&lt;p&gt;So the trainer is not merely counting events.&lt;/p&gt;

&lt;p&gt;It is judging whether the events remain structurally stable enough to represent real technique.&lt;/p&gt;

&lt;p&gt;That is why I describe it less as a game and more as a &lt;strong&gt;stability-focused performance analyzer&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  What makes this useful for real pianists
&lt;/h2&gt;

&lt;p&gt;Most musicians already know the feeling of “I thought I played that better than I actually did.”&lt;/p&gt;

&lt;p&gt;That gap between perception and measurable execution is where useful training tools can matter.&lt;/p&gt;

&lt;p&gt;Piano Virtuoso 18 helps by exposing things that are usually buried inside vague intuition:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;whether your repeated notes are actually even&lt;/li&gt;
&lt;li&gt;whether your trill alternation is structurally balanced&lt;/li&gt;
&lt;li&gt;whether your speed is sustainable or collapsing&lt;/li&gt;
&lt;li&gt;whether your timing control survives pressure&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This matters because once a weakness becomes measurable, practice changes.&lt;/p&gt;

&lt;p&gt;You stop relying only on mood, self-estimation, or wishful thinking.&lt;br&gt;
You can train against an observed problem instead of a vague feeling.&lt;/p&gt;

&lt;p&gt;That is where real feedback begins.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why I think “stability” deserves more attention
&lt;/h2&gt;

&lt;p&gt;In many practice environments, speed gets the spotlight because it is easy to understand and easy to market.&lt;/p&gt;

&lt;p&gt;It is simple to ask:&lt;br&gt;
“How fast are you?”&lt;/p&gt;

&lt;p&gt;It is much more interesting to ask:&lt;br&gt;
“How stable are you at speed?”&lt;/p&gt;

&lt;p&gt;That second question gets closer to what technique actually is.&lt;/p&gt;

&lt;p&gt;Not motion alone.&lt;br&gt;
Not effort alone.&lt;br&gt;
Not excitement alone.&lt;/p&gt;

&lt;p&gt;But &lt;strong&gt;regulated motion under pressure&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That is the territory Piano Virtuoso 18 is trying to formalize.&lt;/p&gt;




&lt;h2&gt;
  
  
  The broader idea behind the project
&lt;/h2&gt;

&lt;p&gt;The deeper idea here is larger than one piano trainer.&lt;/p&gt;

&lt;p&gt;I think there is room for a whole class of music tools that do not just teach content, but measure structural quality.&lt;/p&gt;

&lt;p&gt;Not just:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;what note was played&lt;/li&gt;
&lt;li&gt;whether the answer was correct&lt;/li&gt;
&lt;li&gt;whether the user finished the task&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;whether timing stayed stable&lt;/li&gt;
&lt;li&gt;whether motion stayed consistent&lt;/li&gt;
&lt;li&gt;whether performance quality degraded under load&lt;/li&gt;
&lt;li&gt;whether control survived intensity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That kind of measurement is interesting not only for piano, but for musical technique more broadly.&lt;/p&gt;

&lt;p&gt;Piano Virtuoso 18 is one concrete attempt to move in that direction.&lt;/p&gt;




&lt;h2&gt;
  
  
  Current project links
&lt;/h2&gt;

&lt;p&gt;If you want to look at the project directly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/DIMProductions/pv18" rel="noopener noreferrer"&gt;GitHub Repository&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dimproductions.itch.io/pianovirtuoso18" rel="noopener noreferrer"&gt;itch.io Page&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Final thought
&lt;/h2&gt;

&lt;p&gt;Most people can understand speed.&lt;/p&gt;

&lt;p&gt;But in serious playing, &lt;strong&gt;speed is the easy part to admire and the dangerous part to overestimate&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The harder question is whether the performance stays stable when speed arrives.&lt;/p&gt;

&lt;p&gt;That is the question that led me to build Piano Virtuoso 18.&lt;/p&gt;

&lt;p&gt;Not a trainer that simply asks:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“How fast can you go?”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;But a trainer that asks:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“How stable are you when you get there?”&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>music</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>midi</category>
    </item>
    <item>
      <title>Hunting the "Death Signal": From Occult Hypothesis to Non-Equilibrium Engineering</title>
      <dc:creator>Davinci Leonhard</dc:creator>
      <pubDate>Tue, 10 Mar 2026 03:48:22 +0000</pubDate>
      <link>https://dev.to/davincileonhard/hunting-the-death-signal-from-occult-hypothesis-to-non-equilibrium-engineering-1noo</link>
      <guid>https://dev.to/davincileonhard/hunting-the-death-signal-from-occult-hypothesis-to-non-equilibrium-engineering-1noo</guid>
      <description>&lt;p&gt;What happens when you try to audit the structural collapse of a system using nothing but pure math?&lt;/p&gt;




&lt;h2&gt;
  
  
  1. The Occult Origin Story
&lt;/h2&gt;

&lt;p&gt;This project didn't start in a boardroom. It started with a haunting biological hypothesis: &lt;strong&gt;"Do organisms or complex systems emit a specific physical signal at the exact moment of their structural collapse—the moment of death?"&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I wanted to find the "scream" of a system as it moves irreversibly from an ordered state to chaos. While this sounds like sci-fi, translating it into engineering terms revealed a universal challenge: detecting &lt;strong&gt;short-lived non-equilibrium transitions&lt;/strong&gt; buried in massive environmental noise.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. The Concept: Structural Collapse
&lt;/h2&gt;

&lt;p&gt;To catch these "ghosts," we need to understand the physics of a regime break.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Energy Landscape&lt;/strong&gt;: Most systems sit in a stable basin. A collapse occurs when a perturbation pushes the system across a barrier into a new, often destructive, regime.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Transition Signatures&lt;/strong&gt;: This shift isn't just an anomaly; it has a structure. We look for &lt;strong&gt;Precursors&lt;/strong&gt; (subtle instabilities) and the &lt;strong&gt;Winner Event&lt;/strong&gt; (the primary transition).&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  3. The Architecture: Dual-Branch Auditing
&lt;/h2&gt;

&lt;p&gt;A single filter isn't enough to isolate a regime break. My pipeline separates analysis into two distinct branches.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Environment Map (LF Branch)&lt;/strong&gt;: Tracks slow behavior, baseline drift, and environmental interference. This branch ensures we don't mislabel a simple drift as a structural event.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Transition Scan (HF Branch)&lt;/strong&gt;: This is the hunter. It isolates rapid changes and audits them using physical metrics like &lt;strong&gt;Irreversibility&lt;/strong&gt; (the "arrow of time") and &lt;strong&gt;Persistence&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  4. The Muddy Reality: 3 Deadly DSP Traps
&lt;/h2&gt;

&lt;p&gt;Theory is easy; reality is brutal. In my early prototypes, my own tools were assassinating the signal. Here is how I solved it in &lt;strong&gt;v15&lt;/strong&gt; of the auditor.&lt;/p&gt;

&lt;h3&gt;
  
  
  Trap 1: The Self-Destruction of CMR
&lt;/h3&gt;

&lt;p&gt;I initially used Common Mode Rejection (CMR) to kill noise.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Failure&lt;/strong&gt;: My "Death Signal" was a collapse hitting all channels at once.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Logic&lt;/strong&gt;: Subtracting the average across channels meant subtracting the target from itself.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Fix&lt;/strong&gt;: Disabled CMR by default to preserve common-mode anomalies.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Trap 2: The IIR Filter Rampage
&lt;/h3&gt;

&lt;p&gt;I fed drifting signals straight into sharp Notch filters for 50Hz hum.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Failure&lt;/strong&gt;: Sharp IIR filters "ring" violently when they hit massive drifts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Result&lt;/strong&gt;: The filter creates fake transients that look exactly like structural collapses.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Fix&lt;/strong&gt;: Order matters. Apply a &lt;strong&gt;Bandpass filter first&lt;/strong&gt; to flatten the drift, then run the Notch stack.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Trap 3: The DC Offset Illusion
&lt;/h3&gt;

&lt;p&gt;SNR calculations were failing even with clear pulses.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Failure&lt;/strong&gt;: 500ms windows often have a local DC offset that dominates power calculations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Logic&lt;/strong&gt;: The energy of this offset hides the AC power of the actual signal.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Fix&lt;/strong&gt;: Implemented &lt;strong&gt;local mean-centering&lt;/strong&gt; before RMS calculation to isolate the true signal.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  5. The Solution: non-equilibrium-auditor
&lt;/h2&gt;

&lt;p&gt;The final result is a transparent, explainable toolkit. No black boxes. Just audited physics.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Python Engine&lt;/strong&gt;: &lt;code&gt;death_audit_v15.py&lt;/code&gt; processes multi-channel data, ranking events based on irreversibility and artifact ratios.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interactive UI&lt;/strong&gt;: A browser-based dashboard where you can visualize the "moment of decay" and run audits on raw CSV data.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Is there a "Death Signal"? I’m still auditing. But the journey has taught me that the most important signals are often the ones we accidentally filter out.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Explore the Code&lt;/strong&gt;: [GitHub: &lt;a href="https://github.com/DIMProductions/non-equilibrium-auditor" rel="noopener noreferrer"&gt;https://github.com/DIMProductions/non-equilibrium-auditor&lt;/a&gt;]&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Try the Lab&lt;/strong&gt;: [Live Demo at &lt;a href="https://non-equilibrium-auditor.dim.productions/" rel="noopener noreferrer"&gt;https://non-equilibrium-auditor.dim.productions/&lt;/a&gt;]&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>python</category>
      <category>dsp</category>
      <category>javascript</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
