latebit / latebit-engine

Pixel based game engine integrated in your IDE
3 stars 0 forks source link

Support latebit specific audio #35

Closed shikaan closed 6 months ago

shikaan commented 7 months ago

Similarly to what we have done for sprites, we want to support a way to produce music and sounds for the engine (see #30)

The first iteration could be a text based format, similar to the ringtone composer of the old Nokia phones.

We would support only 4 waves: Sine (0), Square (1), Triangle (2), Noise (3). We need to limit number of tracks (can be still 4).

It could read something like

120 // bpm
10  // volume
10  // repeats (-1 for loop)
1: 16e2 16f#3 4-
^
`---- wave type

The items in the bottom rows represent notes. For example: 16eb2 means "an Eb that lasts a 16th and it's on the second octave". Dashes represent pauses.

shikaan commented 7 months ago

A separate library and CLI tool is in the making at https://github.com/latebit/libsid