lyris 0.0.12

A real-time safe audio processing framework
Documentation
  • Coverage
  • 0%
    0 out of 60 items documented0 out of 0 items with examples
  • Size
  • Source code size: 65.92 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 9.62 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 17s Average build duration of successful builds.
  • all releases: 17s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • MoofSoup/lyris
    0 1 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • MoofSoup

Lyris

At Ceres, we believe in making the impossible fun. That is why we made Lyris, an ergonomics-first, data driven framework for digital signal processing. Lyris lets you focus on what matters: writing digital signal processors.

#[processor]
pub mod filter{
	struct FilterState {
		z1: f32,
	}

	fn filter(
		
		audio_in: Input,     				// derefs into Option<&[f32]>, 
		cutoff: Input,       				// derefs into Option<&[f32]>
		audio_out: Output,   				// deref muts into &mut [f32]
		z1: State<FilterState>,             // derefs into &mut FilterState
		events: Events,         			// Option<&[Event]>, events are copyable
		
	) { 
		for (i, &sample) in audio_in.unwrap_or(&[]).enumerate() {
			audio_out[i] = z1;
			*z1 = sample * 0.1 + *z1 * 0.9;
		}
	}
}
let (mut runtime, router) = Builder::<Event>::new()
	.add(saw::new())
	.add(filter::new())
	.buffer_length(1024)
	.build(); 

router.route( 
	saw::audio_out(), 
	filter::audio_in(), 
); 

router.route( 
	filter::audio_out(), 
	lyris::output() 
);

The Future:

The future of Lyris contains:

  • The #[processor] macro
  • The multi-instancing API
  • Polyphonic runtimes

A loose date for these features is September of 2025 (as I need a break from this project for a minute XD)

At Ceres, I am working on a feedback based drum synthesizer VST, inspired by SOPHIE. For updates, to contribute, or just to make cool projects and share your work, please join the official Ceres Discord

Thanks for checking out Lyris!

  • Sylvia Soup <3