#music #music-player #format #esoteric #initialization #game #c64 #amiga #audio-samples

musix

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

10 releases

0.3.5 Apr 5, 2026
0.3.3 Mar 27, 2026
0.3.2 Oct 18, 2025
0.3.0 May 1, 2025
0.1.0 Mar 22, 2024

#1483 in Audio


Used in 2 crates

MIT license

21MB
587K SLoC

C 314K SLoC // 0.1% comments C++ 230K SLoC // 0.1% comments Visual Studio Project 22K 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 Visual Studio Solution 1K SLoC Pascal 1K SLoC // 0.2% comments Python 1K SLoC // 0.3% comments M4 897 SLoC // 0.4% comments C# 879 SLoC // 0.4% comments Rust 449 SLoC // 0.0% comments Automake 162 SLoC // 0.0% comments Bazel 115 SLoC // 0.3% comments Lua 94 SLoC Perl 35 SLoC // 0.4% comments JavaScript 34 SLoC // 0.3% comments Pan 19 SLoC // 0.1% comments CUDA 13 SLoC // 0.4% comments Forge Config 11 SLoC Batch 7 SLoC ReScript 1 SLoC Poke 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()]);

Dependencies