rnn noise supression#72
Conversation
|
@thinkter is attempting to deploy a commit to the Outreach - ACM Team on Vercel. A member of the Team first needs to authorize it. |
Greptile SummaryAdds RNNoise-based noise suppression to the meeting audio path using
Confidence Score: 5/5Safe to merge; the noise suppression integration is well-structured, cleanup paths are consistently guarded, and the only gaps are in the asset-serving route where certain edge-case requests return a 500 instead of a 404. The core session lifecycle in rnnoise.ts and all the hook integration sites handle both happy-path and error cases correctly. The two issues in route.ts are robustness nits that do not affect the audio pipeline at all. apps/web/src/app/api/rnnoise/[asset]/route.ts — the asset-name guard and the missing error catch are worth fixing before this route is exposed in production. Important Files Changed
Sequence DiagramsequenceDiagram
participant Hook as useMeetMedia/useMeetSocket
participant Lib as rnnoise.ts
participant API as /api/rnnoise/[asset]
participant AC as AudioContext (browser)
participant MS as mediasoup Transport
Hook->>Lib: createPublishedAudioSession(inputTrack)
Lib->>API: fetch rnnoiseWorklet.js + rnnoise.wasm
API-->>Lib: worklet JS / WASM binary
Lib->>AC: "new AudioContext({ sampleRate: 48000 })"
Lib->>AC: audioWorklet.addModule(workletURL)
Lib->>AC: createMediaStreamSource(inputTrack)
Lib->>AC: "new RnnoiseWorkletNode(ctx, { wasmBinary })"
Lib->>AC: createMediaStreamDestination()
AC-->>Lib: outputTrack (processed audio)
Lib-->>Hook: "PublishedAudioSession { inputTrack, outputTrack, cleanup }"
Hook->>MS: "transport.produce({ track: outputTrack })"
MS-->>Hook: audioProducer
Note over Hook,Lib: On cleanup / transport close
Hook->>Lib: cleanupPublishedAudioSession(session)
Lib->>AC: source.disconnect(), node.disconnect(), node.destroy()
Lib->>AC: outputTrack.stop(), audioContext.close()
Reviews (2): Last reviewed commit: "fixes" | Re-trigger Greptile |
No description provided.