#format #song #sample #musix #com-sasq64-musicplayer

musix

Music player library for esoteric audio formats (music from C64,Amiga etc)

2 releases

new 0.2.2 Apr 13, 2025
0.2.1 May 31, 2024
0.2.0 May 31, 2024
0.1.0 Mar 22, 2024

#1156 in Audio

Download history 31/week @ 2024-12-15 6/week @ 2024-12-22 15/week @ 2024-12-29 20/week @ 2025-01-05 7/week @ 2025-01-12

199 downloads per month
Used in musix_player

MIT license

21MB
583K SLoC

C 314K SLoC // 0.1% comments C++ 230K SLoC // 0.1% comments Visual Studio Project 19K SLoC Bitbake 6K SLoC // 0.0% comments GNU Style Assembly 3K SLoC // 0.2% comments Assembly 2.5K SLoC // 0.2% comments Ada 1.5K SLoC // 0.2% comments Shell 1.5K SLoC // 0.2% comments Pascal 1K SLoC // 0.2% comments Python 1K SLoC // 0.3% comments M4 897 SLoC // 0.4% comments C# 879 SLoC // 0.4% comments Visual Studio Solution 874 SLoC Rust 273 SLoC // 0.0% comments Automake 162 SLoC // 0.0% comments Lua 94 SLoC Perl 35 SLoC // 0.4% comments JavaScript 34 SLoC // 0.3% comments Bazel 24 SLoC // 0.1% comments Pan 19 SLoC // 0.1% comments CUDA 13 SLoC // 0.4% comments Forge Config 11 SLoC Batch 7 SLoC Poke 1 SLoC ReScript 1 SLoC

Contains (autotools obfuscated code, 170KB) src/plugins/ayflyplugin/ayfly/configure, (autotools obfuscated code, 91KB) configure, (WOFF font, 24KB) glyphicons-halflings-regular.woff, (ELF exe/lib, 32KB) compareresample, (ELF exe/lib, 31KB) testresample, (obscure autoconf code, 1KB) configure.ac and 4 more.

musix

A rust music player library for esoteric formats

Used libsidplay, UADE, GME, Openmpt etc to play a multitude of music formats from old computers and consoles.

https://github.com/sasq64/musicplayer


musix

musix is a library for playing old (esoteric) music formats from home computers and game consoles.

Check the musix_player crate for example usage.


    // need to initialize and get access to meta data provided
    // in the data/ directory.
    musix::init(Path::new("data"))?;

    let song_path = PathBuf::from(song_file);

    // Try to load a song
    let mut player = musix::load_song(&song_path)?;
    let mut target: Vec<i16> = vec![0; 32768];
    // Generate some audio samples
    player.get_samples(&mut target[0..data.len()]);

No runtime deps