Skip to main content

Crate zk_audio

Crate zk_audio 

Source
Expand description

§zk-audio

A Rust library for real-time audio capture, voice enhancement, and microphone simulation.

§Features

  • Native Audio Capture - CPAL-based cross-platform audio input
  • Voice Enhancement Pipeline - 19 DSP processor stages for professional voice quality
  • Microphone Simulation - Emulate classic microphones (Neumann U87, Shure SM7B, etc.)
  • Profile-Based Processing - Pre-configured profiles for different environments
  • WAV Output - Built-in WAV encoding

§Quick Start

use zk_audio::{AudioProfile, NativeCaptureBackend, CaptureBackend};
use std::path::PathBuf;

let config = zk_audio::NativeCaptureConfig::new(
    PathBuf::from("recording.wav"),
    AudioProfile::VoiceClean,
);

let backend = NativeCaptureBackend::new();
let mut recording = backend.start(config).unwrap();
// ... recording happens here ...
let diagnostics = recording.stop().unwrap();

§Audio Profiles

§Platform Support

Currently supports Linux via PipeWire/PulseAudio. macOS and Windows are planned.

§Feature Flags

  • native-capture (default) - Enables CPAL-based native audio capture

Re-exports§

pub use builder::NativePipelineBuilder;
pub use builder::PipelineBuildRequest;
pub use contracts::AudioProcessor;
pub use contracts::AudioSink;
pub use contracts::CaptureBackend;
pub use contracts::DeviceEnumerator;
pub use contracts::MetricsCollector;
pub use contracts::ProcessorBuildRequest;
pub use contracts::ProcessorFactory;
pub use core::ActiveListening;
pub use core::ActiveRecording;
pub use core::AudioProfile;
pub use core::CaptureDiagnostics;
pub use core::DelayEffectConfig;
pub use core::DelayEffectPreset;
pub use core::NativeCaptureConfig;
pub use core::ProcessorOverrideMode;
pub use core::SUPPORTED_AUDIO_PROFILES;
pub use core::SUPPORTED_DELAY_EFFECT_PRESETS;
pub use factory::ProfileProcessorFactory;
pub use mic_sim::MicrophoneSimConfig;
pub use mic_sim::MicrophoneSimModel;
pub use mic_sim::MicrophoneSimulatorFactory;
pub use mic_sim::SUPPORTED_MICROPHONE_SIM_MODELS;
pub use native::NativeCaptureBackend;
pub use native::list_input_devices;
pub use native::set_default_input_device;
pub use profiles::ProcessorStage;
pub use profiles::SUPPORTED_PROCESSOR_STAGES;
pub use types::AudioBlock;
pub use types::ProcessContext;
pub use types::ProcessorInfo;
pub use types::SinkReport;

Modules§

builder
contracts
core
Core types for audio processing configuration.
factory
metrics
mic_sim
native
pipeline
processors
profiles
runtime_stats
types