Neume.js is a library for web music programming that is optimized for Web Audio API.
- 8bit-sequencer
- real time audio processing rhythm machine
- buffer-work
- load an audio file and edit it like tape music
- mml-piano
- toy piano with Music Macro Language
- rendering-reich
- rendering audio and play it
- sine-storm
- parameters changing gradually
- snippets
- tiny samples and tests
<script src="neume.js"></script>
neume.js is dependent on Web Audio API
and Promise
.
This code generates an audio graph like below.
var Synth = new Neume(function($) {
return $("xline", { start: 0.25, end: 0.001, dur: 1},
$("tri", { freq: $("sin", { freq: 2, mul: 20, add: 880 } )})
).on("end", function(e) {
this.stop(e.playbackTime);
});
});
+-------------------+
| OscillatorNode |
| - type : sine |
| - frequency: 2 |
| - detune : 0 |
+-------------------+
+-----------------------+ |
| OscillatorNode | +------------+
| - type : triangle | | GainNode |
| - frequency: 880 |--| - gain: 20 |
| - detune : 0 | +------------+
+-----------------------+
|
+-----------------------+
| GainNode |
| - gain: 0.25 -> 0.001 |
+-----------------------+
|
- Getting Started (:construction_worker: partially Japanese)
neume.js is available under the The MIT License.