Skip to content

detomon/bliplay

Repository files navigation

bliplay

Build Status

bliplay is a plaintext-based chiptunes sound player.

Check out the syntax description. Some example files are located in examples.

Alternatively, you can use the web editor to run your code.

% set speed
st:18

% set waveform
w:square

% set duty cycle of square wave
dc:8

% set note C on octave 5
a:c5

% wait 1 step
s:1

% set note C on octave 6
a:c6

% enable volume slide effect
e:vs:9/1; v:0

% wait 9 steps
s:9

% release note
r
  1. Checkout
  2. Install SDL
  3. Building
  4. Playing Files
  5. Exporting Files
  6. Related Projects
  7. Using with Docker
  8. License

1. Checkout

BlipKit is the core library which generates the sound. It is added as a submodule. To fetch its source, use the following command when cloning the bliplay repository:

git clone --recursive [email protected]:detomon/bliplay.git

or afterwards with:

git submodule update --init

2. Install SDL (optional)

For simplyfing the audio output on a wide range of systems the program uses SDL (https://www.libsdl.org). If not already, you have to install it to be able to output the audio directly.

3. Building

First execute autogen.sh in the base directory to generate the build system:

./autogen.sh

Next execute configure in the base directory:

./configure

Or, use the --without-sdl option if you don't want to link against SDL. This will disable direct audio output, but it's still possible to export the audio.

./configure --without-sdl

Then execute make to build the program in the bliplay directory:

make

You can then run it from the bliplay directory, or install it on your system to run from anywhere.

sudo make install

4. Playing Files

Some example files are located in examples. Use the following command to play them:

bliplay/bliplay examples/hyperion-star-racer.blip

For Linux users: If you associate bliplay with .blip files, then the StopBlipAudio.sh script, that you'll find in the example directory, will help you mute your blip tracks in a hurry.

5. Exporting Files

Use the -o option to render the audio to WAV or RAW files.

bliplay/bliplay -o killer-squid.wav examples/killer-squid.blip

6. Related Projects

Script which uses a spreadsheet in order to render and play the files dynamically. By @mgarcia-org.

A WebAssembly implementation of the player.

7. Using with Docker

A precompiled version can be used with Docker. There is no support for direct audio output, though.

Load/run container and mount local directory /absolute/path/to/bliplay/examples at container path /examples:

docker run -it -v /absolute/path/to/bliplay/examples:/examples detomon/bliplay-alpine

Render file examples/killer-squid.blip to killer-squid.wav on local directory.

/ # bliplay -o examples/killer-squid.wav examples/killer-squid.blip

License

This program is distributed under the MIT license. See LICENSE.