| Crates.io | rosu-rate-changer |
| lib.rs | rosu-rate-changer |
| version | 0.1.2 |
| created_at | 2025-02-22 19:45:45.710303+00 |
| updated_at | 2025-02-26 15:32:18.617468+00 |
| description | Rate changer for osu! |
| homepage | |
| repository | https://github.com/OsuChecker/rosu-rate-changer |
| max_upload_size | |
| id | 1565734 |
| size | 2,318,220 |
A Rust library for modifying osu! beatmap and audio speeds with high precision. If you want to try what it look like you can check on Cobra
eyre├── Cargo.lock
├── Cargo.toml
├── readme.md
└── src
├── audio.rs // modify audio
├── constants.rs // constants that can be changed.
├── lib.rs
└── osu.rs // modify osu and create a new one
Add this to your Cargo.toml:
[dependencies]
osu_rate_changer = "0.1.0"
use osu_rate_changer::{change_osu_speed, change_audio_speed};
use eyre::Result;
// Modify both beatmap and audio (Recommended)
fn rate_map(osu_file_path: &str, rate: f32) -> Result<()> {
}
// Modify only audio
fn change_audio_speed(input_path: &str, output_path: &str, rate: f32) -> Result<()> {
}
// Modify only .osu file
pub fn change_osu_speed(map: &mut Beatmap, input_path: &str, rate: f32, audio_path: &str) -> eyre::Result<()> {
}
const SINC_LEN: usize = 256;
const F_CUTOFF: f64 = 0.95;
const OVERSAMPLING_FACTOR: usize = 256;
const BUFFER_SIZE: usize = 1152;
const DEFAULT_SAMPLE_RATE: u32 = 44100;
const BITS_PER_SAMPLE: u16 = 16;
Contributions are welcome!
Create an issue or contact me on discord : Osef0760
GNU license : just mention me and you are good to use how you want