embedded-audio-core 0.2.1

no_std duty-modulated PWM audio: effect banks, tiered DSP, and mixing for Cortex-M
Documentation
pub use crate::bank::{BANK_MAGIC, BANK_VERSION, BankBuilder, EffectEntry, SoundBank};
pub use crate::config::{
    AudioConfig, DEFAULT_PWM_PERIOD, DEFAULT_SAMPLE_RATE_HZ, crossfade_step_q8,
};
pub use crate::engine::{AudioEngine, VoiceStealingPolicy};
pub use crate::envelope::{Adsr, AdsrSpec};
pub use crate::error::AudioError;
pub use crate::fixed::{db_to_q8, q8_to_db};
pub use crate::fx::{Overdrive, Tremolo, Wavefolder};
pub use crate::hal::{
    DmaDoubleBuffer, DutyBuffer, PwmDutySink, fill_buffer_into, fill_dma_half_buffers, tick_into,
};
pub use crate::output::{
    DutyMode, PwmMapper, SigmaDelta, SigmaDelta2ndOrder, pcm_to_dac_u8, pcm_to_dac_u12,
    pcm_to_dac_u16, pcm_to_i16, pcm_to_i32,
};
pub use crate::pluck::KarplusPluck;
pub use crate::synth::{
    PULSE_25_TABLE, SAW_TABLE, SINE_TABLE, SQUARE_TABLE, TRIANGLE_TABLE, Waveform, WavetableVoice,
    generate_wavetable_fixed,
};
pub use crate::tier::{EffectKind, flags};

#[cfg(feature = "dsp")]
pub use crate::dsp::{
    AudioLmsFilter, AudioMeter, AudioSpectrumAnalyzer, AudioStats, BiquadAudioFilter,
    BiquadAudioFilterQ15, WindowType,
};

#[cfg(feature = "dsp")]
pub use crate::drums::{AnalogBassDrum, AnalogSnareDrum, HiHat};