LocalVQE v1.4-AEC
Cette page Soniqo documente LocalVQE v1.4-AEC tel qu'il est implémenté dans speech-swift. Les liens Hugging Face sont placés après les notes d'intégration.
Page interne d'abord
Les cartes et menus pointent d'abord ici; les liens vers le modèle source et les bundles restent disponibles sur cette page.
Aperçu
| Modèle | LocalVQE v1.4-AEC |
|---|---|
| Rôle | Explicit-reference acoustic echo cancellation |
| Backend | Native C++ adaptive filter plus stateful Core ML residual mask |
| Sortie | 16 kHz mono Float32 clean-microphone PCM |
| Langues | Language-independent acoustic processing |
| Licence | Apache-2.0 code and weights |
| État | Streaming and complete-clip speech-swift runtime |
| Source | LocalVQE |
| Produit Swift | SpeechEnhancement |
| CLI / runtime | Programmatic LocalVQEEchoCanceller runtime |
Utilisation
L'extrait ci-dessous suit l'API ou la commande actuellement exposée par speech-swift.
import SpeechEnhancement
let aec = try await LocalVQEEchoCanceller.fromPretrained()
let cleanMicrophone = try aec.processFrame(
microphone: microphoneFrame,
reference: playbackReferenceFrame
)
Liens du modèle
Notes d'implémentation
- Microphone and playback reference are separate, synchronized inputs; a mixed system-audio transcript is not a valid reference.
- Streaming accepts exactly 256 mono samples per input at 16 kHz and adds one 16 ms spectral hop of algorithmic latency.
- Reset after dropped frames, device changes, capture restarts, or recording boundaries so stale filter and neural state cannot cross discontinuities.
- A silent reference preserves microphone-only speech; the runtime never falls back to subtracting a mix or muting the microphone.
- Do not blindly cascade this path with Apple Voice Processing I/O because two adaptive cancellers can distort near-end speech.