7个版本

0.1.5 2023年12月21日
0.1.4 2023年10月21日
0.1.3 2020年4月13日

音频 中排名 #122

Download history 64/week @ 2024-04-16 8/week @ 2024-04-23 1/week @ 2024-05-21 7/week @ 2024-05-28 4/week @ 2024-06-04 1/week @ 2024-06-11 2/week @ 2024-06-18 3/week @ 2024-07-02 40/week @ 2024-07-23 28/week @ 2024-07-30

每月下载量 68次

AGPL-3.0-or-later

35KB
387 代码行

μsfx

CI Version Rust Documentation License

实时生成您游戏的音效。

示例

// Create a simple blip sound
let mut sample = usfx::Sample::default();
sample.volume(0.5);

// Use a sine wave oscillator at 500 hz
sample.osc_type(usfx::OscillatorType::Sine);
sample.osc_frequency(500);

// Set the envelope
sample.env_attack(0.02);
sample.env_decay(0.05);
sample.env_sustain(0.2);
sample.env_release(0.5);

// Add some distortion
sample.dis_crunch(0.5);
sample.dis_drive(0.9);

// Create a mixer so we can play the sound
let mut mixer = usfx::Mixer::default();

// Play our sample
mixer.play(sample);

// Plug our mixer into the audio device loop
// ...
mixer.generate(&mut audio_device_buffer);

以下 cpalsdl 示例说明了如何与不同的音频库一起使用。以下 music 示例展示了如何生成程序化音乐(虽然不要期望它是杰作,很明显我不是音乐家)。

CPAL 示例

在Linux上构建 cpalmusic 示例需要安装alsa开发库

sudo apt install libasound2-dev

SDL 示例

在Linux上构建 sdl 需要 SDL2开发库

sudo apt install libsdl2-dev

工具

  • usfx-test - 由 @emmabritton 开发的用于玩转参数的图形界面程序

特别感谢

依赖项

~200KB