1pub use ndarray;
4
5pub use blocks::{
6 BlockAdapterError, signal_from_block, signal_from_blocks, signal_to_block, signal_to_blocks,
7};
8pub use test_signal::impulse::{ImpulseConfig, ImpulseError, generate_impulse};
9pub use test_signal::noise::{NoiseConfig, NoiseError, Spectrum, generate_noise};
10pub use test_signal::pulsed_noise::{PulsedNoiseConfig, PulsedNoiseError, generate_pulsed_noise};
11pub use test_signal::sine::{SineConfig, generate_sine};
12pub use test_signal::sweep::{SweepConfig, SweepError, SweepType, generate_sweep};
13pub use types::{
14 FreqSignal, SignalError, Spectrogram, SpectrogramNormalization, TimeSignal, join_freq_signals,
15 join_time_signals, mix_freq_signals, mix_time_signals, utils,
16};
17
18#[macro_export]
19macro_rules! join_time {
20 ($($signal:expr),+ $(,)?) => {
21 $crate::signal::join_time_signals(&[$($signal),+])
22 };
23}
24
25#[macro_export]
26macro_rules! mix_time {
27 ($($signal:expr),+ $(,)?) => {
28 $crate::signal::mix_time_signals(&[$($signal),+])
29 };
30}
31
32#[macro_export]
33macro_rules! join_freq {
34 ($($signal:expr),+ $(,)?) => {
35 $crate::signal::join_freq_signals(&[$($signal),+])
36 };
37}
38
39#[macro_export]
40macro_rules! mix_freq {
41 ($($signal:expr),+ $(,)?) => {
42 $crate::signal::mix_freq_signals(&[$($signal),+])
43 };
44}
45
46pub use crate::{join_freq, join_time, mix_freq, mix_time};
48
49mod blocks;
50pub mod data;
51pub mod fs;
52pub mod math;
53mod ops;
54#[cfg(feature = "playback")]
55pub mod playback;
56mod test_signal;
57mod types;