A minimal bytebeat music generator written in C for GNU/Linux.
It can be used standalone or in pair of bytebeat.el emacs package.

Bytebeat is a form of algorithmic music where short C expressions
generate raw 8-bit audio samples. Each iteration, a counter `t` is
incremented and fed into a formula whose output byte is sent directly
to the sound device. With nothing more than bitwise operators,
arithmetic, and `t` it provides chiptune-like loops.


Requirements
- A POSIX system
- GCC
- ALSA with `aplay` (`alsa-utils` package), or
- The OSS-compatibility module `snd-pcm-oss` for `/dev/audio`


Compiling

make
make install

Running testing c binary
bytebeat | aplay -q -r 8000 -f U8 -c 1

Running emacs package
in your emacs config: (require 'bytebeat)

Then:
M-x bytebeat-play		— Prompt for a formula, compile, and play it
M-x bytebeat-stop		— Stop any running bytebeat playback (including radio)
M-x bytebeat-save		— Save the current formula to your user collection
M-x bytebeat-choose-user	— Pick and play a formula from your user collection
M-x bytebeat-choose-third-party	— Pick and play a formula from the third-party collection
M-x bytebeat-read-source	— Reload the C source from `bytebeat-source-file'
M-x bytebeat-write-source	— Write the embedded C source to `bytebeat-source-file'


Collaboration

Send patches and questions to w96k@runbox.com
https://git-send-email.io/


License

This project is released under the GNU General Public License,
version 3 or later. See the COPYING file or
https://www.gnu.org/licenses/gpl-3.0.html
