https://github.com/fluhus/beatnik
A drum programming language.
https://github.com/fluhus/beatnik
drums golang music percussion production programming-language tracking
Last synced: 10 days ago
JSON representation
A drum programming language.
- Host: GitHub
- URL: https://github.com/fluhus/beatnik
- Owner: fluhus
- License: mit
- Created: 2018-03-24T13:40:47.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2024-05-27T09:43:40.000Z (over 1 year ago)
- Last Synced: 2024-06-19T03:13:20.691Z (over 1 year ago)
- Topics: drums, golang, music, percussion, production, programming-language, tracking
- Language: Go
- Homepage:
- Size: 64.5 KB
- Stars: 19
- Watchers: 4
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Beatnik
Beatnik is a **drum programming language**.
## What Does it Do?
With Beatnik you can type **text** which describes your beat, and Beatnik will interpret it and turn in into **MIDI**.
## Getting Started
1. Go to the (INACTIVE AT THE MOMENT, SORRY!) [demo page](https://beatnik-ihwgh.ondigitalocean.app/).
2. Read the [tutorial](https://github.com/fluhus/beatnik/blob/master/TUTORIAL.md).
3. Start making beats!
## Running Locally
1. Go to [releases](https://github.com/fluhus/beatnik/releases) and download the relevant file. It contains two executables: `btnk` and `gui`.
2. Read the [tutorial](https://github.com/fluhus/beatnik/blob/master/TUTORIAL.md).
3. Start making beats using `btnk` with the command line, or `gui` with your browser.
### btnk
`btnk` is a command line compiler that turns Beatnik code (typically with .btn suffix) into MIDI files.
From the command line run:
```
btnk file1.btn file2.btn
```
`btnk` will create file1.btn.mid and file2.btn.mid.
### gui
`gui` is a graphical web interface. Once you run it you can open your browser at the address it shows on the terminal.
This is an experimental thing I did for demonstration purposes. Would love to get feedback on where to take it further!
## Getting The Code
To download the code and build your own:
1. Install the [go](https://golang.org/) compiler (add it to your path).
2. Set the GOPATH environment variable to you code directory.
3. Run:
```
go get github.com/fluhus/beatnik
go install github.com/fluhus/beatnik/btnk github.com/fluhus/beatnik/gui
```
4. Find the compiled binaries under `bin` and source code under `src`.
Happy coding!
## Samples
Isolated samples:
[Song 2](https://drive.google.com/file/d/1CVjNAYApnMNlhYOlAlGLJCB7WGvBDJO5/preview),
[50 Ways](https://drive.google.com/file/d/1qEw-5D6pLfflZBiCXrj60oeYwtHhJ1h_/preview)