RS-AUDIO
Rs-audio is a Rust library and audio "engine" for making retro songs. It is made to simplify the process of making music programmatically while still being feature-rich.
NOTE: rs-audio is under development. Please report any issues or bugs.
HOW TO USE
To start using rs-audio, make a new project and navigate to its folder:
&&
Add the rs-audio crate to your project:
Open your project, click on the src folder and click on the main.rs file. This is the entry point of your program.
To use all of rs-audio's features, add this at the top of your script's file:
use *;
To make sure that everything is working, add this to your main() function:
Run your project:
If you hear a beep for 3 seconds, and if you see a test.wav file in your src folder, everything is working!
To make a custom song, you can try the following.
let mut song = new;
song.play.unwrap;
BPMChoice is an enum for picking beats per minute. Try adjusting it by using BPMChoice::Custom(number). Adjust the frequencies, volumes, waves, add more notes, etc... as you like!
You can export a song to a .wav file using the "export_to_wav" function
song.export_to_wav.unwrap;
You can also play a .wav file directly:
play_wav.unwrap;
Multithreading
Multithreading allows you to run multiple tasks at once. Rs-audio has native multithreading support using the following command:
song.play_from_thread.unwrap;
This allows you to do stuff on the main/other thread like rendering, physics, calculations, etc... while still playing audio! Note that this feature is quite new and has not recieved much testing yet.
License
This engine is MIT licensed. Read LICENSE.md for more details.