All Projects → scribbletune → Scribbletune

scribbletune / Scribbletune

Licence: mit
Create music with JavaScript

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to Scribbletune

Push2UserModeScript
MIDI Remote Scripts for Ableton Push 2 User Mode
Stars: ✭ 40 (-98.86%)
Mutual labels:  midi, ableton, ableton-live
ableton-midi-sculptor
Ableton MIDI Sculptor: Tools for MIDI editing in Ableton Live
Stars: ✭ 56 (-98.4%)
Mutual labels:  midi, ableton, ableton-live
midi
An Observable based library for the use of Web MIDI API with Angular
Stars: ✭ 35 (-99%)
Mutual labels:  midi, webmidi, webaudio
Signal
A friendly music sequencer built with web technology
Stars: ✭ 166 (-95.27%)
Mutual labels:  music, midi, webaudio
PicoAudio.js
A JavaScript library for playing MIDI (Standard MIDI File) on Web.
Stars: ✭ 28 (-99.2%)
Mutual labels:  midi, webmidi, webaudio
Tonal
A functional music theory library for Javascript
Stars: ✭ 2,156 (-38.56%)
Mutual labels:  scale, music, chords
abletonpush
A library for working with the Ableton Push in the browser
Stars: ✭ 47 (-98.66%)
Mutual labels:  webmidi, webaudio, ableton
webaudio-synth
WebAudio Polyphonic Synthesizer
Stars: ✭ 83 (-97.63%)
Mutual labels:  midi, webaudio, webaudioapi
Eternal
👾~ music, eternal ~ 👾
Stars: ✭ 323 (-90.8%)
Mutual labels:  music, midi, webaudio
OpenDeck
Software and hardware platform for simpler building of MIDI controllers with support for DMX.
Stars: ✭ 438 (-87.52%)
Mutual labels:  midi, webmidi
BS2-Web
Novation Bass Station II Web interface
Stars: ✭ 34 (-99.03%)
Mutual labels:  midi, webmidi
Clubber
Application of music theory in audio reactive visualizations
Stars: ✭ 325 (-90.74%)
Mutual labels:  music, midi
kikpad
KiKPad : the Midiplus SmartPad reinvented !
Stars: ✭ 31 (-99.12%)
Mutual labels:  midi, ableton
webmscore
MuseScore's core library (libmscore) in WebAssembly! Read mscz data, and generate audio/MIDI/MusicXML/SVG/PNG/PDF sheets right in browsers.
Stars: ✭ 91 (-97.41%)
Mutual labels:  midi, webaudio
midi-recorder
🎹 The easiest way to record MIDI. No install. Automatically records.
Stars: ✭ 38 (-98.92%)
Mutual labels:  midi, live
learn-push2-with-svelte
Learn chords, scales, and music theory on the Push 2, right inside your web browser!
Stars: ✭ 37 (-98.95%)
Mutual labels:  midi, webmidi
MusicTheory
Music Theory Library for Java and Android apps
Stars: ✭ 24 (-99.32%)
Mutual labels:  scale, chords
mahler.c
Western music theory library in C99
Stars: ✭ 13 (-99.63%)
Mutual labels:  scale, chords
recurse
re<urse is a declarative language for generating musical patterns
Stars: ✭ 32 (-99.09%)
Mutual labels:  midi, ableton
muzikilo.js
A code driven synth for the browser
Stars: ✭ 20 (-99.43%)
Mutual labels:  webmidi, webaudio

SCRIBBLETUNE

Build Status Try scribbletune on RunKit

Use simple JavaScript Strings and Arrays to generate rhythms and musical patterns. Directly use the names of scales or chords in your code to get arrays which you can mash up using Array methods in ways you hadn't imagined before! Create clips of musical ideas and export MIDI files which you can import in Ableton Live, Reason, GarageBand or any music creation software that accepts MIDI files.

Install

npm install scribbletune

Use it to create a MIDI clip by running a JS file from your terminal using node.js

const scribble = require('scribbletune');
const clip = scribble.clip({
    notes: scribble.scale('C4 major'),
    pattern: 'x'.repeat(7) + '_'
});

scribble.midi(clip, 'c-major.mid');

You can use Scribbletune even in the browser with Tone.js!. There are a couple of ways to do this. A quick and dirty way is to make sure to pull in Tone.js followed by the latest browser version of Scribbletune.

<script src="https://cdnjs.cloudflare.com/ajax/libs/tone/<LATEST-VERSION-FROM-CDNJS>/Tone.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/scribbletune/<LATEST-VERSION-FROM-CDNJS>/scribbletune.js"></script>

This will expose a global object called scribble which you can directly use to run the methods from Scribbletune in conjunction with Tone.js

The recommended way for the browser, however, is to import it like this

const scribble = require('scribbletune/browser');

This will provide the same API but augment it a bit to support browser based functionality.

Similarly, you can use the Scribbletune API for Max for Live development by doing

const scribble = require('scribbletune/max');

Just like the browser version this too will enable the same API but with some added bells and whistles for Max for Live.

Visit scribbletune.com for documentation, tutorials and examples! Listen to music generated with Scribbletune on Soundcloud.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].