arch: extract cf_voice to standalone cf-voice repo (do not build inside cf-core) #35
Labels
No labels
architecture
backlog
enhancement
module:documents
module:hardware
module:manage
module:pipeline
module:voice
priority:backlog
priority:high
priority:medium
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Circuit-Forge/circuitforge-core#35
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Decision
Linnet (real-time tone annotation) and Osprey (hold-line IVR) both need a shared audio processing layer. After scoping Linnet, the right architecture is a standalone
cf-voicerepo rather than a module inside circuitforge-core.Rationale
Scope for new
cf-voicerepocf_voice.io-- VAD (Voice Activity Detection), noise gate, ring buffercf_voice.context-- YAMNet AME (Acoustic Mood Estimation), wav2vec2 paralinguistic, pyannote.audio speaker diarizationcf_voice.telephony-- FreeSWITCH/SIP/PSTN bridge (optional, for Osprey path)VoiceFrameoutput type -- the only integration surface Linnet touchesAction items
module:voicelabel concept from cf-core (no voice module will live here)Circuit-Forge/cf-voicerepoVoiceFrametype as the primary API surfaceBlocking
Linnet issue
Circuit-Forge/linnet#3is blocked on this work.Done — cf_voice extracted to Circuit-Forge/cf-voice (standalone repo, v0.1.0, shipped 2026-04-06). Install: pip install -e ../cf-voice.
Status update (2026-04-12): All action items from this issue are now complete.
Circuit-Forge/cf-voicerepo is live with a full implementation:io(VAD, noise gate, ring buffer),context(YAMNet acoustic classifier, diarize, classify),stt(faster-whisper STT),events(VoiceFrame SSE wire format),capture,cli,prefs,telephonystubVoiceFrametype defined and stable — first consumer is Linnet (Circuit-Forge/linnet)Related: Circuit-Forge/cf-voice#2 (YAMNet classifier), #3 (acoustic fingerprinting), #4 (negotiation discourse analysis)