Cleanup pass: remove dead code, fix bugs, simplify
Dead code removed: - MusicAnalyzer.BuildWaveFrame (replaced by DrumDetector + BuildMelodyFrame) - MusicAnalyzer.ExtractFeatures simplified to melody-only (removed rhythm band) - MusicAnalyzer.RhythmLow/RhythmHigh constants, TickFeature.RhythmFlux - LiveCapture._liveMaxFlux + _prevRhythmMag (computed, never read) - State.ActualA/ActualB, State.LastSentA/LastSentB (set, never read) - Program.cs StrengthChanged handler (only wrote to dead fields) - Command.Mode property (never referenced) - DrumDetector.FreqKick/Snare/Brass/Silent static arrays (unused) Bugs fixed: - DrumDetector.BuildFrame: freqBytes was byte[16], now byte[4] - CoyoteDevice fallback: use nameFilter param instead of hardcoded string Refactoring: - Server.DoStatus calls BuildStatusPush(null) instead of duplicating - HeatMap: removed redundant colW assignment - Removed unused System.Numerics imports from LiveCapture, MusicAnalyzer
This commit is contained in:
+1
-8
@@ -1,4 +1,3 @@
|
||||
using System.Numerics;
|
||||
using FftSharp;
|
||||
using NAudio.CoreAudioApi;
|
||||
using NAudio.Wave;
|
||||
@@ -16,8 +15,6 @@ public class LiveCapture : IDisposable
|
||||
readonly Queue<double> _sampleBuffer = new();
|
||||
readonly object _bufferLock = new();
|
||||
|
||||
double[]? _prevRhythmMag;
|
||||
double _liveMaxFlux;
|
||||
double _liveMaxMelodyEnergy;
|
||||
int _sampleRate;
|
||||
int _fftsPerTick;
|
||||
@@ -131,13 +128,9 @@ public class LiveCapture : IDisposable
|
||||
var spectrum = FFT.Forward(windowData);
|
||||
var mag = FFT.Magnitude(spectrum);
|
||||
|
||||
var (rhythmEnergy, rhythmFlux, melodyEnergy, melodyFreq) =
|
||||
MusicAnalyzer.ExtractFeatures(mag, _prevRhythmMag, _sampleRate);
|
||||
|
||||
_prevRhythmMag = mag;
|
||||
var (melodyEnergy, melodyFreq) = MusicAnalyzer.ExtractFeatures(mag, _sampleRate);
|
||||
|
||||
// Adaptive normalization: running max with slow decay
|
||||
_liveMaxFlux = Math.Max(rhythmFlux, _liveMaxFlux * 0.999);
|
||||
_liveMaxMelodyEnergy = Math.Max(melodyEnergy, _liveMaxMelodyEnergy * 0.999);
|
||||
|
||||
// Drum detection: map this FFT window to a sub-tick (0-3)
|
||||
|
||||
Reference in New Issue
Block a user