code wiki / (root) / nx_audio_dred.nx

nx_audio_dred.nx

buildroot/runtime/nx_audio_dred.nx

2132 B40 linesdepth 0pulls 0 transitivereach 1 importersview sourcekind librarytopic audio
docsdependenciesstructsconstsfunctions

about

nx_audio_dred.nx -- DEEP REDUNDANCY for voice, the keystone for surviving bursty mobile packet loss WITHOUT a retransmit (at 150ms RTT a retransmit is a dead frame). The Opus-1.5 DRED idea, classical first: every packet carries a heavily-quantised "redundancy tail" = coarse copies of the previous K frames (just the LPC reflection envelope + energy, enough to resynthesise an intelligible frame). When a burst loses B<=K consecutive frames, the first packet that arrives after the burst carries coarse copies of the whole gap -> the receiver reconstructs every lost frame with no retransmit. K sets the recoverable burst length (~1s of audio at K=50 @ 20ms frames). Pure integer; the neural codebook (true DRED's 12-32kb/s for 1s) is the phone-CPU moonshot on top of this scheduler. license_tier: ORIGINAL

dependencies 0 imports · 1 importers

nx_audio_dred.nx nx_audio_dred_gate.nx

imports: none

imported by: nx_audio_dred_gate.nx

structs

none

consts

none

functions

11func dred_coarse_q(k_q15: i64) -> i64 { return k_q15 >> 8 }
called by 1: main
12func dred_coarse_dq(k_q7: i64) -> i64 { return k_q7 << 8 }
called by 1: main
17func dred_gaps(lost: *i64, n: i64, K: i64) -> i64
called by 2: dred_recoveredmain
35func dred_recovered(lost: *i64, n: i64, K: i64) -> i64
called by 1: main calls 1: dred_gaps