Programmatic music library
Find a file
2023-03-21 22:56:34 -04:00
blend.nim Clean up code and rename to yue 2023-03-16 22:59:41 -04:00
blend.ogg Implement different waveforms 2023-03-19 00:38:23 -04:00
blend.py Implement different waveforms 2023-03-19 00:38:23 -04:00
blend.scm Clean up code and rename to yue 2023-03-16 22:59:41 -04:00
keyboard.py Implement saw wave and honk waveform 2023-03-21 22:56:34 -04:00
LICENSE Initial commit 2022-07-07 17:47:24 -05:00
README.md Clean up code and rename to yue 2023-03-16 22:59:41 -04:00
yue.nim Clean up code and rename to yue 2023-03-16 22:59:41 -04:00
yue.py Implement saw wave and honk waveform 2023-03-21 22:56:34 -04:00
yue.scm Clean up code and rename to yue 2023-03-16 22:59:41 -04:00

yue

yue is a programmatic music library, influenced by Bytebeat. It is designed to be low-level and enable you to build your own abstractions and functions. Think of it like an assembly language for music. There are three implementations in Python (PyPy recommended for speed), Scheme, and Nim. Check out this sample code and listen to it!

Get started

First, install Sox and clone this repo.

To run a program that uses yue, use pypy file.py, guile --fresh-auto-compile file.scm, or nim c --mm:orc -d:release file.nim && ./file, and pipe to play -r 44100 -t s32 -. If you would like to save to a file, pipe to sox -r 44100 -t s32 - file.ogg instead.