https://github.com/danielstern/volca-beats
node.js driver for korg VOLCA BEATS vintage analogue synthesizer
https://github.com/danielstern/volca-beats
Last synced: about 1 year ago
JSON representation
node.js driver for korg VOLCA BEATS vintage analogue synthesizer
- Host: GitHub
- URL: https://github.com/danielstern/volca-beats
- Owner: danielstern
- Created: 2018-09-23T04:51:28.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-09-23T04:55:42.000Z (over 7 years ago)
- Last Synced: 2025-02-10T15:50:55.760Z (over 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 5.86 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# volca-beats
## node.js driver for korg VOLCA BEATS vintage analogue synthesizer
### Installation
```
npm install volca-beats
```
### Usage
Examples must be compiled using `babel` or another compiler and run in the browser, as `volca-beats uses the `web midi` api. You can still use the note codes and parameter codes available if you want to create a node-based library. See this package for an example.
#### Quick Start Example
```javascript
import { transmit, Message, Note } from 'volca-beats';
transmit(Message.NOTE_ON(Note.KICK), window.performance.now() + 1000);
/* kick drum will sound in one second */
```
#### Sequence With JavaScript, then Playback with VOLCA BEATS
```javascript
let time = window.performance.now();
for (let i = 0x00; i < 0x7F; i++) {
let fn = n=>n>>(i%0x20)&1;
if (fn(0x51111141)) transmit(Message.NOTE_ON(Note.KICK),time + i * 0x40);
if (fn(0x60105010)) transmit(Message.NOTE_ON(Note.SNARE),time + i * 0x40);
if (fn(0xf5555555)) transmit(Message.NOTE_ON(Note.CL_HAT),time + i * 0x40);
}
/* plays back a catchy drum beat */
```
### Reference
#### Note
A dictionary containing references to the hexadecimal codes to sound each note.
```javascript
import { transmit, Message, Note } from 'volca-beats';
transmit(Message.NOTE_ON(Note.SNARE));
```
#### ParameterCode
A dictionary containing references to each parameter code recognized by VOLCA BEATS.
```javascript
import { ParameterCode } from 'volca-beats';
transmit(Message.PARAMETER_CHANGE(ParameterCode.HAT_GRAIN, 0xD0));
transmit(Message.NOTE_ON(Note.OP_HAT));
```