4 releases (breaking)
0.4.0 | Aug 17, 2023 |
---|---|
0.3.0 | Mar 7, 2023 |
0.2.0 | Nov 14, 2022 |
0.1.0 | Aug 1, 2022 |
#869 in Audio
42KB
592 lines
Bevy FunDSP
A third party Bevy plugin that integrates FunDSP into Bevy.
bevy_fundsp
supports integration for bevy_audio
, bevy_kira_audio
, and bevy_oddio
.
⚠ WARNING: Lower your volume before testing your sounds! ⚠
Remember to lower the volume by passing the settings with DspManager::add_graph_with_settings
or multiplying your DSP graph with a low constant (lower than 1.0).
Usage
#![allow(clippy::precedence)]
use {bevy::prelude::*, bevy_fundsp::prelude::*};
fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_plugins(DspPlugin::default())
.add_dsp_source(white_noise, SourceType::Dynamic)
.add_systems(PostStartup, play_noise)
.run();
}
fn white_noise() -> impl AudioUnit32 {
white() >> split::<U2>() * 0.2
}
fn play_noise(
mut commands: Commands,
mut assets: ResMut<Assets<DspSource>>,
dsp_manager: Res<DspManager>,
) {
let source = assets.add(
dsp_manager
.get_graph(white_noise)
.unwrap_or_else(|| panic!("DSP source not found!"))
.clone(),
);
commands.spawn(AudioSourceBundle {
source,
..default()
});
}
Compatibility
bevy_fundsp |
bevy |
bevy_kira_audio |
bevy_oddio |
fundsp |
---|---|---|---|---|
bevy_main | main | bevy_main | bevy_main | main |
0.3.0 | 0.10 | 0.15 | 0.4 | 0.12 |
0.2.0 | 0.9 | 0.13 | 0.3 | 0.9 |
0.1.0 | 0.8 | 0.11 | 0.6 |
License
bevy_fundsp
is primarily distributed under the terms of both the MIT license
and the Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT for details.
Acknowledgement
I'd like to say thanks to the authors of FunDSP and Bevy for making this plugin possible.
Ko-fi
Dependencies
~30–67MB
~1M SLoC