Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Raylib supports .mod files, here's an archive I've collected.

A topic by computermouth created Dec 15, 2023 Views: 142 Replies: 5
Viewing posts 1 to 3
(+2)

So originally I planned to use .wav file renders of some mods that I found on The Mod Archive. But when I started adding the songs, I saw raylib has built-in support for some mod formats (including .xm, which is what I'm using)!

Archive here: https://computermouth.itch.io/big-mod-music-pack
(all either CC0, CC BY, CC BY SA, or Public Domain)

Demo here: https://twitter.com/ComputerMouth/status/1735733875928678517

Why use mods?

The .wav renders of the two songs I'm using were ~10MB @ 44.1Khz, whereas the .xm files are each 24KB. Not only does this mean smaller distributables, but they also load much faster, and raylib also seems to switch between them faster.

Jam Host

Yeah! Module files (.xm, .mod) are amazing! One of the best features added to raylib audio! :D 

I've been interested in the mod style of synth software for a while, honestly thinking about writing one in raygui :D

Submitted

However, I have noticed that some trackers I use (.xm) have quite a few artifacts when played with raylib, which they don't have when played online on Mod Archive or with my multimedia player (Celluloid).

Could this be due to the code used to load them? (jar_xm.h if I'm not mistaken). So, I thought about using another library to load them to see if that might be the issue. Is it known?

(+1)

I haven't seen issues with the particular files I'm using in raylib yet, but I do believe there's a few `known issues` with jar_xm. In my experience, support for any mod file format in any player has been finicky. VLC for some reason seems to have issues with some .xm volume levels, I've had issues with other trackers and libraries as well in the past.

I imagine the most 100% bulletproof playback strategies would be:
1. Render to wav
2. Use the exact library used by the tracker your mod originates from, and use it's output via raylib's AudioStream api

Submitted

The artifact problems appear on certain rather acute sequences, I thought about the volume too (it was rather loud) but the problem remains present, if I have time I will opt for the second option,  thank you for the answer in any case ^^