# Graph Report - graphs/audio-fx-native  (2026-07-29)

## Corpus Check
- cluster-only mode — file stats not available

## Summary
- 1163 nodes · 2833 edges · 45 communities (44 shown, 1 thin omitted)
- Extraction: 88% EXTRACTED · 12% INFERRED · 0% AMBIGUOUS · INFERRED: 326 edges (avg confidence: 0.8)
- Token cost: 0 input · 0 output

## Community Hubs (Navigation)
- Community 0
- Community 1
- Community 2
- Community 3
- Community 4
- Community 5
- Community 6
- Community 7
- Community 8
- Community 9
- Community 10
- Community 11
- Community 12
- Community 13
- Community 14
- Community 15
- Community 16
- Community 17
- Community 18
- Community 19
- Community 20
- Community 21
- Community 22
- Community 23
- Community 24
- Community 25
- Community 26
- Community 27
- Community 28
- Community 29
- Community 30
- Community 31
- Community 32
- Community 33
- Community 34
- Community 35
- Community 36
- Community 37
- Community 38
- Community 39
- Community 40
- Community 41

## God Nodes (most connected - your core abstractions)
1. `InsertFX` - 37 edges
2. `MA_Divide()` - 27 edges
3. `__arm_smull_lshift()` - 24 edges
4. `FX_DynamicEQEdit()` - 23 edges
5. `RV_comb` - 21 edges
6. `AphexAuralExciterBigBottom` - 20 edges
7. `__arm_qadd()` - 20 edges
8. `APHEX_ProcessSamplex2()` - 19 edges
9. `RV_allpassmod` - 19 edges
10. `APHEX_ProcessSample()` - 17 edges

## Surprising Connections (you probably didn't know these)
- `ModTables_Init()` --calls--> `MA_Sin()`  [INFERRED]
  dl48-software/dsp-stack-ng/dsp/fx/ModTables.c → dl48-software/dsp-stack-ng/dsp/fx/math.c
- `FX_SpringReverb_init()` --calls--> `AllpassResamplerX4_HQ_Init()`  [INFERRED]
  dl48-software/dsp-stack-ng/dsp/fx/fx/FX_SpringReverb.c → dl48-software/dsp-stack-ng/dsp/fx/AllpassDecimators.c
- `FX_SpringReverb_render()` --calls--> `AllpassDecimatorX4_HQ_render()`  [INFERRED]
  dl48-software/dsp-stack-ng/dsp/fx/fx/FX_SpringReverb.c → dl48-software/dsp-stack-ng/dsp/fx/AllpassDecimators.c
- `FX_SpringReverb_render()` --calls--> `AllpassUpsamplerX4_HQ_render()`  [INFERRED]
  dl48-software/dsp-stack-ng/dsp/fx/fx/FX_SpringReverb.c → dl48-software/dsp-stack-ng/dsp/fx/AllpassDecimators.c
- `processNoBypass` --calls--> `APHEX_ProcessSample()`  [INFERRED]
  dl48-software/dsp-stack-ng/dsp/fx/Aphex/AphexAuralExciterBigBottom.h → dl48-software/dsp-stack-ng/dsp/fx/Aphex/AphexNew.cpp

## Import Cycles
- None detected.

## Communities (45 total, 1 thin omitted)

### Community 0 - "Community 0"
Cohesion: 0.06
Nodes (69): CompMeter, Compressor, AudioContext, float_t, Compressor_EditActiveMode(), Compressor_EditAttack(), Compressor_EditAttackMs(), Compressor_EditEnable() (+61 more)

### Community 1 - "Community 1"
Cohesion: 0.09
Nodes (77): AudioContext, InsertFXData, FX_ChorusEdit(), FX_ChorusInit(), FX_ChorusRender_m2m(), FX_ChorusRender_m2m_insert(), FX_ChorusRender_m2s(), FX_ChorusRender_m2s_insert() (+69 more)

### Community 2 - "Community 2"
Cohesion: 0.08
Nodes (64): AudioContext, float_dual_t, float_t, INTERNAL_CODE, DCBlock_render(), DCBlockStereo_render(), EQ_render(), EQDual_render() (+56 more)

### Community 3 - "Community 3"
Cohesion: 0.11
Nodes (59): APHEX_Context_t, APHEX_HF_DiodeFunctionx2_t, APHEX_HF_DriveControlx2_t, APHEX_HF_EnvelopeGenerationx2_t, APHEX_HF_HPFx2_t, APHEX_HFx2_t, APHEX_LF_APFx2_t, APHEX_LF_Compressorx2_t (+51 more)

### Community 4 - "Community 4"
Cohesion: 0.11
Nodes (62): BZTFilterCalcLocals, AudioContext, INTERNAL_CODE, EQ_EditEnable(), EQ_EditFreq(), EQ_EditGain(), EQ_EditInit(), EQ_EditOrder() (+54 more)

### Community 5 - "Community 5"
Cohesion: 0.09
Nodes (46): DEL_sDelay, DEL_sDelayLine, DEL_sDelaywithFeedback, DEL_sFxDelay, DEL_SFxDelayDual, AudioContext, float_t, DEL_Delay_EditDelay() (+38 more)

### Community 6 - "Community 6"
Cohesion: 0.08
Nodes (30): AudioSampleBuffer, AphexAuralExciterBigBottom, AEMix, AETune, AETuneMax, AETuneMin, AphexAuralExciterBigBottom::AphexAuralExciterBigBottom(), BBDrive (+22 more)

### Community 7 - "Community 7"
Cohesion: 0.07
Nodes (19): fv3_float_t, FV3_(), ::processreplace(), ::setdamp(), ::setdccutfreq(), ::setdiffusion1(), ::setdiffusion2(), ::setidiffusion1() (+11 more)

### Community 8 - "Community 8"
Cohesion: 0.10
Nodes (5): FV3_(), delay(), delaym(), MixerCrossMixDual, ProcList

### Community 9 - "Community 9"
Cohesion: 0.07
Nodes (11): fv3_float_t, ::f_(), FV3_(), ::limFs2(), ::p_(), ::setdry(), ::setdryr(), ::setPreDelay() (+3 more)

### Community 10 - "Community 10"
Cohesion: 0.16
Nodes (28): AudioProcessorParameter, AphexParameter, name, value, APHEX_Contextx2_t, AudioContext, float32_t, InsertFXData (+20 more)

### Community 11 - "Community 11"
Cohesion: 0.11
Nodes (24): fv3_float_t, ::getCutOnFreq(), ::process(), ::seta(), ::setCoefficients(), ::setCutOnFreq(), ::setHPF(), ::setHPF_A() (+16 more)

### Community 12 - "Community 12"
Cohesion: 0.12
Nodes (29): FilterCalculateCoefs(), SEQInit, Filter_4thOrder_New(), Filter_8thOrder_New(), Filter_EditBasicFilterEnable(), Filter_EditBasicFilterFrequency(), Filter_EditBasicFilterOrder(), Filter_EditBasicFilterResponse() (+21 more)

### Community 13 - "Community 13"
Cohesion: 0.17
Nodes (29): biquad_coefs_t, EQ_Basic_Data, float32_t, LOUD_cabsim_type, CabinetSimCalculateEQs(), EQ_Basic_Data, EQ_EditBasicEQBandEnable(), EQ_EditBasicEQBandFrequency() (+21 more)

### Community 14 - "Community 14"
Cohesion: 0.24
Nodes (27): AudioContext, float32_t, InsertFXData, FX_SpringReverb_DryLevel(), FX_SpringReverb_EditDelayTime(), FX_SpringReverb_EditEchoFrac(), FX_SpringReverb_EditEchoGain(), FX_SpringReverb_EditLowpassFreq() (+19 more)

### Community 15 - "Community 15"
Cohesion: 0.24
Nodes (26): AllpassResamplerX2, AllpassResamplerX4_HQ, AllpassResamplerX4_MQ, AllpassResamplerX8_HQ, AllpassResamplerX8_MQ, AllpassDecimatorX2_Order1_render(), AllpassDecimatorX2_Order2_render(), AllpassDecimatorX2_Order3_render() (+18 more)

### Community 16 - "Community 16"
Cohesion: 0.12
Nodes (24): EQ_4Band_New(), EQ_8Band_New(), EQ_Init12BandData(), EQ_Init1BandData(), EQ_Init2BandData(), EQ_Init3BandData(), EQ_Init4BandData(), EQ_Init5BandData() (+16 more)

### Community 17 - "Community 17"
Cohesion: 0.15
Nodes (20): ::setsize(), FV3_(), ahdsr(), dccut(), _fv3_float_t, iir_1st(), lfo(), mute() (+12 more)

### Community 18 - "Community 18"
Cohesion: 0.13
Nodes (11): float_t, RV_comb, damping, delay, delayline, delaylinesize, feedback, oneminusdamping (+3 more)

### Community 19 - "Community 19"
Cohesion: 0.24
Nodes (20): AudioContext, InsertFXData, FX_Phaser(), FX_PhaserEdit(), FX_PhaserEditCentreFrequency(), FX_PhaserEditDepth(), FX_PhaserEditOrder(), FX_PhaserEditRegen() (+12 more)

### Community 20 - "Community 20"
Cohesion: 0.17
Nodes (17): describeEffect(), describeParam(), effectName(), getBufferParam(), getParam(), getParam01(), getVUParam(), HashedIdentifier (+9 more)

### Community 21 - "Community 21"
Cohesion: 0.13
Nodes (10): float_t, RV_allpassmod, coef, delay, delayline, delaylinesize, lastinterp, moddepth (+2 more)

### Community 22 - "Community 22"
Cohesion: 0.25
Nodes (17): AudioContext, InsertFXData, FX_TremoloDualEdit(), FX_TremoloDualInit(), FX_TremoloEdit(), FX_TremoloInit(), FX_TremoloRender_m2m(), FX_TremoloRender_m2m_insert() (+9 more)

### Community 23 - "Community 23"
Cohesion: 0.11
Nodes (17): AudioContext, HashedIdentifier, InsertFXData, InsertFX, bUseMaxDataSizes, Data, EditParameter, iChannel (+9 more)

### Community 24 - "Community 24"
Cohesion: 0.16
Nodes (17): AudioContext, SEQInit, EQ_InitBasic13BandData(), EQ_InitBasic4BandData(), EQ_InitBasic8BandData(), EQ_InitNBandBasicData(), EQ_InitQuad4BandData(), EQ_nBandContextUpdate() (+9 more)

### Community 25 - "Community 25"
Cohesion: 0.16
Nodes (10): fv3_float_t, ::set_90degfq(), ::setdecay(), ::setdecay1(), ::setdecay2(), ::setdecay3(), ::setfeedback(), ::setfeedback1() (+2 more)

### Community 26 - "Community 26"
Cohesion: 0.15
Nodes (6): revbase(), ::alloc(), ::free(), FV3_(), ::mute(), slot()

### Community 27 - "Community 27"
Cohesion: 0.14
Nodes (7): aligned_malloc(), fv3_float_t, ::dB2R(), ::getMXCSR_MASK(), ::ms2sample(), ::mute(), ::R2dB()

### Community 28 - "Community 28"
Cohesion: 0.26
Nodes (16): AudioContext, InsertFXLoadErrorType, GetID, Init, Kill, Load, LoadContinue, MFrameInterpolate (+8 more)

### Community 29 - "Community 29"
Cohesion: 0.32
Nodes (15): AudioContext, float32_t, InsertFXData, LOUD_cabsim_type, FX_Overdrive_render(), FX_OverdriveEdit(), FX_OverdriveInit(), FX_OverdriveRender_m2m() (+7 more)

### Community 30 - "Community 30"
Cohesion: 0.24
Nodes (10): FV3_(), allpass(), allpass2(), allpass3(), allpassm(), FV3_(), comb(), combm() (+2 more)

### Community 31 - "Community 31"
Cohesion: 0.13
Nodes (14): FXMemType, InsertFXMem, freeMemory, getMemory, iExternalDataAvailable, iInternalDataAvailable, nExternalDataSize, nInternalDataSize (+6 more)

### Community 32 - "Community 32"
Cohesion: 0.14
Nodes (10): InsertFXMemData, InsertFXDescriptorList, bMaxesCalculated, bUseMaxDataSizes, iMaxFXExtData, iMaxFXIntData, nFXListSize, pFX (+2 more)

### Community 33 - "Community 33"
Cohesion: 0.16
Nodes (10): RV_lfo, a1, freq, index, phase, sign, theta, z1 (+2 more)

### Community 34 - "Community 34"
Cohesion: 0.19
Nodes (5): fv3_float_t, ::getdamp(), ::getfeedback(), ::setdamp(), ::setfeedback()

### Community 36 - "Community 36"
Cohesion: 0.17
Nodes (12): InsertFXData, MemoryType, InsertFXDescriptor, iExternalDataSize, iInternalDataSize, nExternalDataMemType, nID, nInternalDataMemType (+4 more)

### Community 37 - "Community 37"
Cohesion: 0.15
Nodes (7): RV_allpass, coef, delay, delayline, delaylinesize, readindex, writeindex

### Community 38 - "Community 38"
Cohesion: 0.17
Nodes (6): RV_delay, delay, delayline, delaylinesize, readindex, writeindex

### Community 39 - "Community 39"
Cohesion: 0.36
Nodes (6): InsertFXLoadErrorType, FXMemType, InsertFXMemData, MemoryType, InsertFX_FreeMemory(), InsertFX_GetMemory()

### Community 40 - "Community 40"
Cohesion: 0.38
Nodes (7): EQ_InitStereo1BandData(), EQ_InitStereo3BandData(), localInitStereoNBandData(), EQ_3Band_DMData, EQStereo_1Band_PMData, EQStereo_3Band_PMData, EQStereo_Data

### Community 41 - "Community 41"
Cohesion: 0.48
Nodes (5): AudioContext, InsertFXData, FX_None(), FX_None_m2m(), FX_None_s2s()

## Knowledge Gaps
- **86 isolated node(s):** `name`, `value`, `AETuneMin`, `AETuneMax`, `BBTuneMin` (+81 more)
  These have ≤1 connection - possible missing edges or undocumented components.
- **1 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.

## Suggested Questions
_Questions this graph is uniquely positioned to answer:_

- **Why does `delay()` connect `Community 8` to `Community 1`, `Community 35`, `Community 5`, `Community 26`, `Community 30`?**
  _High betweenness centrality (0.284) - this node is a cross-community bridge._
- **Why does `InsertFX` connect `Community 23` to `Community 32`, `Community 36`, `Community 39`, `Community 42`, `Community 28`?**
  _High betweenness centrality (0.089) - this node is a cross-community bridge._
- **Why does `_FV3_()` connect `Community 30` to `Community 8`, `Community 17`, `Community 26`?**
  _High betweenness centrality (0.071) - this node is a cross-community bridge._
- **Are the 24 inferred relationships involving `MA_Divide()` (e.g. with `localInitNBandData()` and `localInitQuadNBandData()`) actually correct?**
  _`MA_Divide()` has 24 INFERRED edges - model-reasoned connections that need verification._
- **What connects `name`, `value`, `AETuneMin` to the rest of the system?**
  _86 weakly-connected nodes found - possible documentation gaps or missing edges._
- **Should `Community 0` be split into smaller, more focused modules?**
  _Cohesion score 0.06234177215189873 - nodes in this community are weakly interconnected._
- **Should `Community 1` be split into smaller, more focused modules?**
  _Cohesion score 0.08924050632911393 - nodes in this community are weakly interconnected._