├── .gitignore ├── Makefile ├── Readme.md ├── bin └── wavepot ├── example ├── drumbeat.js ├── drumkit │ ├── BT0A0A7.WAV │ ├── BT0A0D0.WAV │ ├── BT0A0D3.WAV │ ├── BT0A0DA.WAV │ ├── BT0AAD0.WAV │ ├── BT0AADA.WAV │ ├── BT3A0D0.WAV │ ├── BT3A0D3.WAV │ ├── BT3A0D7.WAV │ ├── BT3A0DA.WAV │ ├── BT3AAD0.WAV │ ├── BT3AADA.WAV │ ├── BT7A0D0.WAV │ ├── BT7A0D3.WAV │ ├── BT7A0D7.WAV │ ├── BT7A0DA.WAV │ ├── BT7AAD0.WAV │ ├── BT7AADA.WAV │ ├── BTAA0D0.WAV │ ├── BTAA0D3.WAV │ ├── BTAA0D7.WAV │ ├── BTAA0DA.WAV │ ├── BTAAAD0.WAV │ ├── BTAAADA.WAV │ ├── CLOP1.WAV │ ├── CLOP2.WAV │ ├── CLOP3.WAV │ ├── CLOP4.WAV │ ├── CSHD0.WAV │ ├── CSHD2.WAV │ ├── CSHD4.WAV │ ├── CSHD6.WAV │ ├── CSHD8.WAV │ ├── CSHDA.WAV │ ├── HANDCLP1.WAV │ ├── HANDCLP2.WAV │ ├── HHCD0.WAV │ ├── HHCD2.WAV │ ├── HHCD4.WAV │ ├── HHCD6.WAV │ ├── HHCD8.WAV │ ├── HHCDA.WAV │ ├── HHOD0.WAV │ ├── HHOD2.WAV │ ├── HHOD4.WAV │ ├── HHOD6.WAV │ ├── HHOD8.WAV │ ├── HHODA.WAV │ ├── HT0D0.WAV │ ├── HT0D3.WAV │ ├── HT0D7.WAV │ ├── HT0DA.WAV │ ├── HT3D0.WAV │ ├── HT3D3.WAV │ ├── HT3D7.WAV │ ├── HT3DA.WAV │ ├── HT7D0.WAV │ ├── HT7D3.WAV │ ├── HT7D7.WAV │ ├── HT7DA.WAV │ ├── HTAD0.WAV │ ├── HTAD3.WAV │ ├── HTAD7.WAV │ ├── HTADA.WAV │ ├── LT0D0.WAV │ ├── LT0D3.WAV │ ├── LT0D7.WAV │ ├── LT0DA.WAV │ ├── LT3D0.WAV │ ├── LT3D3.WAV │ ├── LT3D7.WAV │ ├── LT3DA.WAV │ ├── LT7D0.WAV │ ├── LT7D3.WAV │ ├── LT7D7.WAV │ ├── LT7DA.WAV │ ├── LTAD0.WAV │ ├── LTAD3.WAV │ ├── LTAD7.WAV │ ├── LTADA.WAV │ ├── MT0D0.WAV │ ├── MT0D3.WAV │ ├── MT0D7.WAV │ ├── MT0DA.WAV │ ├── MT3D0.WAV │ ├── MT3D3.WAV │ ├── MT3D7.WAV │ ├── MT3DA.WAV │ ├── MT7D0.WAV │ ├── MT7D3.WAV │ ├── MT7D7.WAV │ ├── MT7DA.WAV │ ├── MTAD0.WAV │ ├── MTAD3.WAV │ ├── MTAD7.WAV │ ├── MTADA.WAV │ ├── OPCL1.WAV │ ├── OPCL2.WAV │ ├── OPCL3.WAV │ ├── OPCL4.WAV │ ├── RIDED0.WAV │ ├── RIDED2.WAV │ ├── RIDED4.WAV │ ├── RIDED6.WAV │ ├── RIDED8.WAV │ ├── RIDEDA.WAV │ ├── RIM127.WAV │ ├── RIM63.WAV │ ├── ST0T0S0.WAV │ ├── ST0T0S3.WAV │ ├── ST0T0S7.WAV │ ├── ST0T0SA.WAV │ ├── ST0T3S3.WAV │ ├── ST0T3S7.WAV │ ├── ST0T3SA.WAV │ ├── ST0T7S3.WAV │ ├── ST0T7S7.WAV │ ├── ST0T7SA.WAV │ ├── ST0TAS3.WAV │ ├── ST0TAS7.WAV │ ├── ST0TASA.WAV │ ├── ST3T0S0.WAV │ ├── ST3T0S3.WAV │ ├── ST3T0S7.WAV │ ├── ST3T0SA.WAV │ ├── ST3T3S3.WAV │ ├── ST3T3S7.WAV │ ├── ST3T3SA.WAV │ ├── ST3T7S3.WAV │ ├── ST3T7S7.WAV │ ├── ST3T7SA.WAV │ ├── ST3TAS3.WAV │ ├── ST3TAS7.WAV │ ├── ST3TASA.WAV │ ├── ST7T0S0.WAV │ ├── ST7T0S3.WAV │ ├── ST7T0S7.WAV │ ├── ST7T0SA.WAV │ ├── ST7T3S3.WAV │ ├── ST7T3S7.WAV │ ├── ST7T3SA.WAV │ ├── ST7T7S3.WAV │ ├── ST7T7S7.WAV │ ├── ST7T7SA.WAV │ ├── ST7TAS3.WAV │ ├── ST7TAS7.WAV │ ├── ST7TASA.WAV │ ├── STAT0S0.WAV │ ├── STAT0S3.WAV │ ├── STAT0S7.WAV │ ├── STAT0SA.WAV │ ├── STAT3S3.WAV │ ├── STAT3S7.WAV │ ├── STAT3SA.WAV │ ├── STAT7S3.WAV │ ├── STAT7S7.WAV │ ├── STAT7SA.WAV │ ├── STATAS3.WAV │ ├── STATAS7.WAV │ ├── STATASA.WAV │ └── TR909SET.TXT └── tone.js ├── index.html ├── lib └── wav.js ├── package.json └── wavepot.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | 2 | example: 3 | @./node_modules/.bin/watchify \ 4 | --global-transform [ babelify --presets [ latest ] ] \ 5 | --transform ./wav \ 6 | --verbose \ 7 | --standalone build \ 8 | --entry example/drumbeat.js \ 9 | --outfile example/build.js 10 | 11 | .PHONY: example 12 | -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # wavepot-cli 3 | 4 | wavepot on the terminal 5 | 6 | `npm install wavepot -g` 7 | 8 | Make sure you have `electron` installed and in your path. If you don't, `npm install electron -g` 9 | 10 | ## Usage 11 | 12 | `$ wavepot ` 13 | 14 | Where `` is a file that contains something like this: 15 | 16 | ```js 17 | exports.beep = t => .3 * Math.sin(t * 440 * Math.PI * 2); 18 | exports.noise = t => .15 * Math.random() * 2 - 1; 19 | ``` 20 | 21 | And then, try editing the file in your favorite editor. Any changes are reflected in realtime in the audio output. 22 | 23 | ## Building modules 24 | 25 | `$ wavepot -b ` 26 | 27 | When you pass the option `--build` or `-b`, the file will be built with browserify and babelify. Babel latest preset is used so you can use imports and any new JavaScript features. An example can be found [here](example/drumbeat.js). 28 | 29 | If you're looking for filters, effects and generators to install and play with, check out [opendsp](https://github.com/opendsp). Then install with npm, github style: `npm install opendsp/some-module --save`. 30 | 31 | Enjoy! 32 | 33 | ## License 34 | 35 | MIT © [stagas](https://github.com/stagas) 36 | -------------------------------------------------------------------------------- /bin/wavepot: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env electron 2 | 3 | var fs = require('fs'); 4 | var path = require('path'); 5 | var debounce = require('debounce'); 6 | var browserify = require('browserify'); 7 | var watchify = require('watchify'); 8 | var babelify = require('babelify'); 9 | var latest = require('babel-preset-latest'); 10 | var wav = require('../lib/wav'); 11 | var concat = require('concat-stream'); 12 | var electron = require('electron'); 13 | var program = require('commander'); 14 | 15 | program 16 | .version('1.0.2') 17 | .usage('[options] ') 18 | .option('-b, --build', 'build with browserify') 19 | .parse(process.argv); 20 | 21 | if (!program.args.length) program.help(); 22 | 23 | var filename = path.resolve(program.args[0]); 24 | 25 | var BrowserWindow = electron.BrowserWindow; 26 | var app = electron.app; 27 | var win; 28 | 29 | console.log('sourcefile:', filename); 30 | 31 | var entry = path.resolve(path.join(__dirname, '..', 'index.html')); 32 | var updateSourceFile = debounce(() => win.webContents.send('sourcefile', filename), 10); 33 | 34 | app.on('ready', () => { 35 | win = new BrowserWindow({ show: false }); 36 | win.loadURL('file://' + entry); 37 | win.on('closed', () => win = null); 38 | win.webContents.on('did-finish-load', () => { 39 | if (!program.build) { 40 | fs.watch(filename, updateSourceFile); 41 | updateSourceFile(); 42 | } else { 43 | console.log('building:', filename); 44 | 45 | var b = browserify(filename, { 46 | cache: {}, 47 | packageCache: {}, 48 | standalone: 'build' 49 | }); 50 | b.plugin(watchify); 51 | b.transform(babelify, { global: true, presets: [latest] }); 52 | b.transform(wav); 53 | 54 | b.on('update', bundle); 55 | b.on('error', err => console.error(err.stack)); 56 | 57 | bundle(); 58 | 59 | function bundle() { 60 | b.bundle() 61 | .on('error', err => console.error(err.stack)) 62 | .pipe(concat(sendSource)); 63 | } 64 | 65 | function sendSource(js) { 66 | win.webContents.send('source', js); 67 | } 68 | } 69 | }); 70 | }); 71 | -------------------------------------------------------------------------------- /example/drumbeat.js: -------------------------------------------------------------------------------- 1 | import note from 'note'; 2 | import { tri } from 'osc'; 3 | import envelope from 'envelope'; 4 | import Sampler from 'sampler'; 5 | 6 | import kick from './drumkit/BTAA0D3.WAV'; 7 | import clap from './drumkit/HANDCLP1.WAV'; 8 | import snare from './drumkit/ST0T0S7.WAV'; 9 | import ohat from './drumkit/HHOD4.WAV'; 10 | 11 | var drums = Sampler(12); 12 | drums.tune(1); 13 | drums.add('kick', kick); 14 | drums.add('clap', clap); 15 | drums.add('snare', snare); 16 | drums.add('ohat', ohat); 17 | 18 | // 111.9 19 | // 112.5 20 | // 120 21 | // 125 22 | // 126 23 | 24 | export let bpm = 125; 25 | 26 | var mul = 10e5; 27 | 28 | function step(t, sig) { 29 | t = t * mul | 0; 30 | sig = sig * mul | 0; 31 | if (t % sig === 0) return t; 32 | } 33 | 34 | export function drumbeat(t){ 35 | if (step(t, 1/4)) drums.play('kick', .35, 0.923); 36 | if (step(t+1/4+1/8, 1)) drums.play('clap', .15, 2); 37 | if (step(t+2/4+1/6, 1)) drums.play('clap', .15, 1.7); 38 | if (step(t+1/4, 1/2)) drums.play('snare', .15, 1); 39 | if (step(t+1/8, 1/4)) drums.play('ohat', .045, 1.02); 40 | return drums.mix(); 41 | } 42 | 43 | var bass_seq = ['c3','f3','d#3','d3'].map(note).reverse(); 44 | var bass_n = 0; 45 | 46 | export function bass(t){ 47 | if (step(t, 1/16)) bass_n++; 48 | bass_n %= bass_seq.length; 49 | return tri(t, bass_seq[bass_n]) * envelope(t, 1/8, 10, 4); 50 | } 51 | -------------------------------------------------------------------------------- /example/drumkit/BT0A0A7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/BT0A0A7.WAV -------------------------------------------------------------------------------- /example/drumkit/BT0A0D0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/BT0A0D0.WAV -------------------------------------------------------------------------------- /example/drumkit/BT0A0D3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/BT0A0D3.WAV -------------------------------------------------------------------------------- /example/drumkit/BT0A0DA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/BT0A0DA.WAV -------------------------------------------------------------------------------- /example/drumkit/BT0AAD0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/BT0AAD0.WAV -------------------------------------------------------------------------------- /example/drumkit/BT0AADA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/BT0AADA.WAV -------------------------------------------------------------------------------- /example/drumkit/BT3A0D0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/BT3A0D0.WAV -------------------------------------------------------------------------------- /example/drumkit/BT3A0D3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/BT3A0D3.WAV -------------------------------------------------------------------------------- /example/drumkit/BT3A0D7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/BT3A0D7.WAV -------------------------------------------------------------------------------- /example/drumkit/BT3A0DA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/BT3A0DA.WAV -------------------------------------------------------------------------------- /example/drumkit/BT3AAD0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/BT3AAD0.WAV -------------------------------------------------------------------------------- /example/drumkit/BT3AADA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/BT3AADA.WAV -------------------------------------------------------------------------------- /example/drumkit/BT7A0D0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/BT7A0D0.WAV -------------------------------------------------------------------------------- /example/drumkit/BT7A0D3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/BT7A0D3.WAV -------------------------------------------------------------------------------- /example/drumkit/BT7A0D7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/BT7A0D7.WAV -------------------------------------------------------------------------------- /example/drumkit/BT7A0DA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/BT7A0DA.WAV -------------------------------------------------------------------------------- /example/drumkit/BT7AAD0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/BT7AAD0.WAV -------------------------------------------------------------------------------- /example/drumkit/BT7AADA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/BT7AADA.WAV -------------------------------------------------------------------------------- /example/drumkit/BTAA0D0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/BTAA0D0.WAV -------------------------------------------------------------------------------- /example/drumkit/BTAA0D3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/BTAA0D3.WAV -------------------------------------------------------------------------------- /example/drumkit/BTAA0D7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/BTAA0D7.WAV -------------------------------------------------------------------------------- /example/drumkit/BTAA0DA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/BTAA0DA.WAV -------------------------------------------------------------------------------- /example/drumkit/BTAAAD0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/BTAAAD0.WAV -------------------------------------------------------------------------------- /example/drumkit/BTAAADA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/BTAAADA.WAV -------------------------------------------------------------------------------- /example/drumkit/CLOP1.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/CLOP1.WAV -------------------------------------------------------------------------------- /example/drumkit/CLOP2.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/CLOP2.WAV -------------------------------------------------------------------------------- /example/drumkit/CLOP3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/CLOP3.WAV -------------------------------------------------------------------------------- /example/drumkit/CLOP4.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/CLOP4.WAV -------------------------------------------------------------------------------- /example/drumkit/CSHD0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/CSHD0.WAV -------------------------------------------------------------------------------- /example/drumkit/CSHD2.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/CSHD2.WAV -------------------------------------------------------------------------------- /example/drumkit/CSHD4.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/CSHD4.WAV -------------------------------------------------------------------------------- /example/drumkit/CSHD6.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/CSHD6.WAV -------------------------------------------------------------------------------- /example/drumkit/CSHD8.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/CSHD8.WAV -------------------------------------------------------------------------------- /example/drumkit/CSHDA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/CSHDA.WAV -------------------------------------------------------------------------------- /example/drumkit/HANDCLP1.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HANDCLP1.WAV -------------------------------------------------------------------------------- /example/drumkit/HANDCLP2.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HANDCLP2.WAV -------------------------------------------------------------------------------- /example/drumkit/HHCD0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HHCD0.WAV -------------------------------------------------------------------------------- /example/drumkit/HHCD2.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HHCD2.WAV -------------------------------------------------------------------------------- /example/drumkit/HHCD4.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HHCD4.WAV -------------------------------------------------------------------------------- /example/drumkit/HHCD6.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HHCD6.WAV -------------------------------------------------------------------------------- /example/drumkit/HHCD8.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HHCD8.WAV -------------------------------------------------------------------------------- /example/drumkit/HHCDA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HHCDA.WAV -------------------------------------------------------------------------------- /example/drumkit/HHOD0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HHOD0.WAV -------------------------------------------------------------------------------- /example/drumkit/HHOD2.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HHOD2.WAV -------------------------------------------------------------------------------- /example/drumkit/HHOD4.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HHOD4.WAV -------------------------------------------------------------------------------- /example/drumkit/HHOD6.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HHOD6.WAV -------------------------------------------------------------------------------- /example/drumkit/HHOD8.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HHOD8.WAV -------------------------------------------------------------------------------- /example/drumkit/HHODA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HHODA.WAV -------------------------------------------------------------------------------- /example/drumkit/HT0D0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HT0D0.WAV -------------------------------------------------------------------------------- /example/drumkit/HT0D3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HT0D3.WAV -------------------------------------------------------------------------------- /example/drumkit/HT0D7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HT0D7.WAV -------------------------------------------------------------------------------- /example/drumkit/HT0DA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HT0DA.WAV -------------------------------------------------------------------------------- /example/drumkit/HT3D0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HT3D0.WAV -------------------------------------------------------------------------------- /example/drumkit/HT3D3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HT3D3.WAV -------------------------------------------------------------------------------- /example/drumkit/HT3D7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HT3D7.WAV -------------------------------------------------------------------------------- /example/drumkit/HT3DA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HT3DA.WAV -------------------------------------------------------------------------------- /example/drumkit/HT7D0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HT7D0.WAV -------------------------------------------------------------------------------- /example/drumkit/HT7D3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HT7D3.WAV -------------------------------------------------------------------------------- /example/drumkit/HT7D7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HT7D7.WAV -------------------------------------------------------------------------------- /example/drumkit/HT7DA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HT7DA.WAV -------------------------------------------------------------------------------- /example/drumkit/HTAD0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HTAD0.WAV -------------------------------------------------------------------------------- /example/drumkit/HTAD3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HTAD3.WAV -------------------------------------------------------------------------------- /example/drumkit/HTAD7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HTAD7.WAV -------------------------------------------------------------------------------- /example/drumkit/HTADA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/HTADA.WAV -------------------------------------------------------------------------------- /example/drumkit/LT0D0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/LT0D0.WAV -------------------------------------------------------------------------------- /example/drumkit/LT0D3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/LT0D3.WAV -------------------------------------------------------------------------------- /example/drumkit/LT0D7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/LT0D7.WAV -------------------------------------------------------------------------------- /example/drumkit/LT0DA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/LT0DA.WAV -------------------------------------------------------------------------------- /example/drumkit/LT3D0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/LT3D0.WAV -------------------------------------------------------------------------------- /example/drumkit/LT3D3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/LT3D3.WAV -------------------------------------------------------------------------------- /example/drumkit/LT3D7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/LT3D7.WAV -------------------------------------------------------------------------------- /example/drumkit/LT3DA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/LT3DA.WAV -------------------------------------------------------------------------------- /example/drumkit/LT7D0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/LT7D0.WAV -------------------------------------------------------------------------------- /example/drumkit/LT7D3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/LT7D3.WAV -------------------------------------------------------------------------------- /example/drumkit/LT7D7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/LT7D7.WAV -------------------------------------------------------------------------------- /example/drumkit/LT7DA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/LT7DA.WAV -------------------------------------------------------------------------------- /example/drumkit/LTAD0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/LTAD0.WAV -------------------------------------------------------------------------------- /example/drumkit/LTAD3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/LTAD3.WAV -------------------------------------------------------------------------------- /example/drumkit/LTAD7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/LTAD7.WAV -------------------------------------------------------------------------------- /example/drumkit/LTADA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/LTADA.WAV -------------------------------------------------------------------------------- /example/drumkit/MT0D0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/MT0D0.WAV -------------------------------------------------------------------------------- /example/drumkit/MT0D3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/MT0D3.WAV -------------------------------------------------------------------------------- /example/drumkit/MT0D7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/MT0D7.WAV -------------------------------------------------------------------------------- /example/drumkit/MT0DA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/MT0DA.WAV -------------------------------------------------------------------------------- /example/drumkit/MT3D0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/MT3D0.WAV -------------------------------------------------------------------------------- /example/drumkit/MT3D3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/MT3D3.WAV -------------------------------------------------------------------------------- /example/drumkit/MT3D7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/MT3D7.WAV -------------------------------------------------------------------------------- /example/drumkit/MT3DA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/MT3DA.WAV -------------------------------------------------------------------------------- /example/drumkit/MT7D0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/MT7D0.WAV -------------------------------------------------------------------------------- /example/drumkit/MT7D3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/MT7D3.WAV -------------------------------------------------------------------------------- /example/drumkit/MT7D7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/MT7D7.WAV -------------------------------------------------------------------------------- /example/drumkit/MT7DA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/MT7DA.WAV -------------------------------------------------------------------------------- /example/drumkit/MTAD0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/MTAD0.WAV -------------------------------------------------------------------------------- /example/drumkit/MTAD3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/MTAD3.WAV -------------------------------------------------------------------------------- /example/drumkit/MTAD7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/MTAD7.WAV -------------------------------------------------------------------------------- /example/drumkit/MTADA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/MTADA.WAV -------------------------------------------------------------------------------- /example/drumkit/OPCL1.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/OPCL1.WAV -------------------------------------------------------------------------------- /example/drumkit/OPCL2.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/OPCL2.WAV -------------------------------------------------------------------------------- /example/drumkit/OPCL3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/OPCL3.WAV -------------------------------------------------------------------------------- /example/drumkit/OPCL4.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/OPCL4.WAV -------------------------------------------------------------------------------- /example/drumkit/RIDED0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/RIDED0.WAV -------------------------------------------------------------------------------- /example/drumkit/RIDED2.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/RIDED2.WAV -------------------------------------------------------------------------------- /example/drumkit/RIDED4.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/RIDED4.WAV -------------------------------------------------------------------------------- /example/drumkit/RIDED6.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/RIDED6.WAV -------------------------------------------------------------------------------- /example/drumkit/RIDED8.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/RIDED8.WAV -------------------------------------------------------------------------------- /example/drumkit/RIDEDA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/RIDEDA.WAV -------------------------------------------------------------------------------- /example/drumkit/RIM127.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/RIM127.WAV -------------------------------------------------------------------------------- /example/drumkit/RIM63.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/RIM63.WAV -------------------------------------------------------------------------------- /example/drumkit/ST0T0S0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST0T0S0.WAV -------------------------------------------------------------------------------- /example/drumkit/ST0T0S3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST0T0S3.WAV -------------------------------------------------------------------------------- /example/drumkit/ST0T0S7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST0T0S7.WAV -------------------------------------------------------------------------------- /example/drumkit/ST0T0SA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST0T0SA.WAV -------------------------------------------------------------------------------- /example/drumkit/ST0T3S3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST0T3S3.WAV -------------------------------------------------------------------------------- /example/drumkit/ST0T3S7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST0T3S7.WAV -------------------------------------------------------------------------------- /example/drumkit/ST0T3SA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST0T3SA.WAV -------------------------------------------------------------------------------- /example/drumkit/ST0T7S3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST0T7S3.WAV -------------------------------------------------------------------------------- /example/drumkit/ST0T7S7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST0T7S7.WAV -------------------------------------------------------------------------------- /example/drumkit/ST0T7SA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST0T7SA.WAV -------------------------------------------------------------------------------- /example/drumkit/ST0TAS3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST0TAS3.WAV -------------------------------------------------------------------------------- /example/drumkit/ST0TAS7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST0TAS7.WAV -------------------------------------------------------------------------------- /example/drumkit/ST0TASA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST0TASA.WAV -------------------------------------------------------------------------------- /example/drumkit/ST3T0S0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST3T0S0.WAV -------------------------------------------------------------------------------- /example/drumkit/ST3T0S3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST3T0S3.WAV -------------------------------------------------------------------------------- /example/drumkit/ST3T0S7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST3T0S7.WAV -------------------------------------------------------------------------------- /example/drumkit/ST3T0SA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST3T0SA.WAV -------------------------------------------------------------------------------- /example/drumkit/ST3T3S3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST3T3S3.WAV -------------------------------------------------------------------------------- /example/drumkit/ST3T3S7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST3T3S7.WAV -------------------------------------------------------------------------------- /example/drumkit/ST3T3SA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST3T3SA.WAV -------------------------------------------------------------------------------- /example/drumkit/ST3T7S3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST3T7S3.WAV -------------------------------------------------------------------------------- /example/drumkit/ST3T7S7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST3T7S7.WAV -------------------------------------------------------------------------------- /example/drumkit/ST3T7SA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST3T7SA.WAV -------------------------------------------------------------------------------- /example/drumkit/ST3TAS3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST3TAS3.WAV -------------------------------------------------------------------------------- /example/drumkit/ST3TAS7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST3TAS7.WAV -------------------------------------------------------------------------------- /example/drumkit/ST3TASA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST3TASA.WAV -------------------------------------------------------------------------------- /example/drumkit/ST7T0S0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST7T0S0.WAV -------------------------------------------------------------------------------- /example/drumkit/ST7T0S3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST7T0S3.WAV -------------------------------------------------------------------------------- /example/drumkit/ST7T0S7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST7T0S7.WAV -------------------------------------------------------------------------------- /example/drumkit/ST7T0SA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST7T0SA.WAV -------------------------------------------------------------------------------- /example/drumkit/ST7T3S3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST7T3S3.WAV -------------------------------------------------------------------------------- /example/drumkit/ST7T3S7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST7T3S7.WAV -------------------------------------------------------------------------------- /example/drumkit/ST7T3SA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST7T3SA.WAV -------------------------------------------------------------------------------- /example/drumkit/ST7T7S3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST7T7S3.WAV -------------------------------------------------------------------------------- /example/drumkit/ST7T7S7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST7T7S7.WAV -------------------------------------------------------------------------------- /example/drumkit/ST7T7SA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST7T7SA.WAV -------------------------------------------------------------------------------- /example/drumkit/ST7TAS3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST7TAS3.WAV -------------------------------------------------------------------------------- /example/drumkit/ST7TAS7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST7TAS7.WAV -------------------------------------------------------------------------------- /example/drumkit/ST7TASA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/ST7TASA.WAV -------------------------------------------------------------------------------- /example/drumkit/STAT0S0.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/STAT0S0.WAV -------------------------------------------------------------------------------- /example/drumkit/STAT0S3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/STAT0S3.WAV -------------------------------------------------------------------------------- /example/drumkit/STAT0S7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/STAT0S7.WAV -------------------------------------------------------------------------------- /example/drumkit/STAT0SA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/STAT0SA.WAV -------------------------------------------------------------------------------- /example/drumkit/STAT3S3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/STAT3S3.WAV -------------------------------------------------------------------------------- /example/drumkit/STAT3S7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/STAT3S7.WAV -------------------------------------------------------------------------------- /example/drumkit/STAT3SA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/STAT3SA.WAV -------------------------------------------------------------------------------- /example/drumkit/STAT7S3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/STAT7S3.WAV -------------------------------------------------------------------------------- /example/drumkit/STAT7S7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/STAT7S7.WAV -------------------------------------------------------------------------------- /example/drumkit/STAT7SA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/STAT7SA.WAV -------------------------------------------------------------------------------- /example/drumkit/STATAS3.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/STATAS3.WAV -------------------------------------------------------------------------------- /example/drumkit/STATAS7.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/STATAS7.WAV -------------------------------------------------------------------------------- /example/drumkit/STATASA.WAV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wavepot/wavepot-cli/4da0ec12a9c8882852704fd9b9ea2ed9b40c3c6f/example/drumkit/STATASA.WAV -------------------------------------------------------------------------------- /example/drumkit/TR909SET.TXT: -------------------------------------------------------------------------------- 1 | ************************************************************************** 2 | ** ** 3 | ** 909909909 909909909 909909909 ** 4 | ** Roland 909 909 909 909 909 909 ** 5 | ** 909 909 909 909 909 909 Copyright ** 6 | ** TR- 909909909 909 909 909909909 1995 ** 7 | ** 909 909 909 909 ** 8 | ** 909 909 909 909 Rob Roy ** 9 | ** 909 909 909 909 Recordings ** 10 | ** 909 909909909 909 ** 11 | ** Minneapolis, USA ** 12 | ** Rhythm Composer Samples ** 13 | ** ** 14 | ************************************************************************** 15 | 16 | ------------ 17 | Introduction 18 | ------------ 19 | 20 | Since it's admittance into the world of music, the Roland TR-909 has been 21 | one of the most sought after drum machines in existence. Every dance, 22 | techno, and hip-hop artist desperately searches for the "magic box", only 23 | to find the 909. Yet, this box is highly coveted by those who worship its 24 | demonic powers. Many have tried to obtain this box through large sums of 25 | money, deceit, and ultimately theft. 26 | 27 | In order to curve the population's insatiable thirst for the 909, I have 28 | created a 'complete' 909 sample set. I'll be surprised if you can tell the 29 | difference. 30 | 31 | For purists, this sample set will not totally replace a real 909. The 909 32 | sequencer is really natural for many dance and hip-hop artists. But 33 | in terms of sound quality, this set accurately reproduces the various 34 | instrument settings on the 909. In other words, it is the next best 35 | thing to a real 909. How many drum machines in the store have a five meg 36 | 909 sample set? 37 | 38 | I hope you find this set useful. Please feel free to copy or distribute 39 | the set in any way. Please DO NOT change samples, add samples, 40 | delete samples, or modify this text file in any way. Respect the work. 41 | This sample set is FREE. You may not distribute these samples for 42 | profit!! If you have any comments please feel free to email me. 43 | Or, if you create a cool tune using the samples feel free to send me a 44 | tape or dat. Have fun! 45 | 46 | -Rob Roy/ April 20 '95 47 | 48 | Jason Baker 49 | Rob Roy Recordings 50 | 818 SE 8th Street #103 51 | Minneapolis, MN 55414 USA 52 | email: bake0028@gold.tc.umn.edu 53 | web: T.B.A. soon! 54 | 55 | ** Special thanks and greets to fEEd at MANNA STUDIOS, Minneapolis, for 56 | providing the TR-909. Check out Manna Studios at the following web 57 | site: http://www.ivi.com/~robw 58 | 59 | __________________________________________________________________________ 60 | 61 | Sample set specifications: 62 | -------------------------- 63 | 64 | 160 Samples covering the full 909 kit 65 | -24 bass drum 66 | -52 snare drum 67 | -16 low tom drum 68 | -16 mid tom drum 69 | -16 high tom drum 70 | -2 rim shot 71 | -2 hand clap 72 | -6 high hat close 73 | -6 high hat open 74 | -6 crash cymbal 75 | -6 rim cymbal 76 | -4 open->close high hat combinations 77 | -4 close->open high hat combinations 78 | 79 | Disk space requirement: approx. 4.8 megs unzipped 80 | 81 | __________________________________________________________________________ 82 | Recording process: 83 | ------------------ 84 | 85 | All samples were recorded in mono at 44.1k using the following process: 86 | 87 | 909 -------> EMU ESI-32 :::::::::::::> 486PC running Sound Forge 3.0 88 | mono sample dump 89 | 90 | The process maintained the greatest s/n ration by recording all 91 | instruments at maximum level (except where noted). All levels on the 92 | 909 were kept at their highest setting. The samples were normalized in 93 | Sound Forge 3.0. The sounds were recorded completely dry. 94 | __________________________________________________________________________ 95 | 96 | Sample Listing Notation 97 | ----------------------- 98 | 99 | The 909 affords nearly an infinite number of instrument settings. In 100 | order to make the "infinite" possible, I used a standard system for 101 | recording each instrument's possible settings. Each instrument setting 102 | knob on the 909 has 10 decants. I chose to use the 0, 3, 7 and 10 103 | settings on each knob to create most instrument variations. The sample 104 | listings use the letter "a" to represent 10 (think of 'a' as meaning 105 | 'a'll the way). The high hat and cymbal samples use settings of 0, 2, 4, 106 | 6, 8, and 10 for the variations. 107 | 108 | So, for example, when I recorded the bass drum I used the four chosen 109 | decants on three knob settings to create 24 bass drum variations. 110 | 111 | For the bass drum and snare drum I eliminated a few settings to reduce 112 | "sonic redundancy". In the case of the bass drum I only used the 113 | 0 and 10 ('a') settings on the attack. For the snare drum I did not 114 | vary the tone control while the 'snappy' setting was at 0. 115 | 116 | After recording and normalizing each sample, I saved the samples in their 117 | respective instrument directories. Each sample name is composed of an 118 | instrument letter, and knob settings specifications. 119 | 120 | --------------------- 121 | Sample Identification 122 | --------------------- 123 | 124 | Instrument (first letter) Settings (in order) Directory 125 | 126 | b bass drum t=tune, a=attack, d=decay \bassdm 127 | s snare drum t=tune, t=tone, s=snappy \snaredm 128 | l low tom t=tune, d=decay \lowtomdm 129 | m mid tom t=tune, d=decay \midtomdm 130 | h high tom t=tune, d=decay \hitomdm 131 | rim rimshot #=velocity level \rimshot 132 | hand handclap #=velocity level \handclap 133 | hhc closed high hat d=decay \closedhh 134 | hho open high hat d=decay \openhh 135 | csh crash cymbal t=tune \crshcym 136 | ride ride cymbal t=tune \ridecym 137 | clop closed->open hh #=combination number \misc 138 | opcl open->closed hh #=combination number \misc 139 | 140 | The best way to figure out what sounds you need is to listen to a variety 141 | of samples. Better yet, try to create your own personalized set of 909 142 | samples. 143 | 144 | Email me at: bake0028@gold.tc.umn.edu if you have any questions! 145 | 146 | ** 909KIT UPDATE 5/12/95 147 | 148 | I cleaned a bunch of sound file headers. Apparently some .wav file have not 149 | been loading properly on systems. The new headers contain the proper sound 150 | data information. 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | -------------------------------------------------------------------------------- /example/tone.js: -------------------------------------------------------------------------------- 1 | exports.beep = t => .3 * Math.sin(t * 440 * Math.PI * 2); 2 | exports.noise = t => .15 * Math.random() * 2 - 1; 3 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | wavepot 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /lib/wav.js: -------------------------------------------------------------------------------- 1 | var extname = require('path').extname; 2 | var read = require('fs').readFileSync; 3 | var through = require('through2'); 4 | 5 | module.exports = function (file) { 6 | var ext = extname(file).toLowerCase(); 7 | 8 | return through(function (buf, enc, next) { 9 | if (ext === '.wav') { 10 | this.push('module.exports = new Buffer("' 11 | + read(file).toString('base64') 12 | + '", "base64").buffer;' 13 | ); 14 | } else { 15 | this.push(buf); 16 | } 17 | next(); 18 | }); 19 | }; 20 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "wavepot", 3 | "version": "1.0.2", 4 | "main": "wavepot.js", 5 | "bin": "bin/wavepot", 6 | "description": "wavepot on the terminal", 7 | "author": "stagas", 8 | "license": "MIT", 9 | "dependencies": { 10 | "babel-preset-latest": "^6.14.0", 11 | "babelify": "^7.3.0", 12 | "browserify": "^13.1.0", 13 | "commander": "^2.9.0", 14 | "concat-stream": "^1.5.2", 15 | "debounce": "github:stagas/debounce", 16 | "electron": "^1.3.5", 17 | "through2": "^2.0.1", 18 | "watchify": "^3.7.0" 19 | }, 20 | "devDependencies": { 21 | "envelope": "github:opendsp/envelope", 22 | "note": "github:opendsp/note", 23 | "osc": "github:opendsp/osc", 24 | "sampler": "github:opendsp/sampler" 25 | }, 26 | "directories": { 27 | "bin": "bin", 28 | "example": "example", 29 | "lib": "lib" 30 | }, 31 | "keywords": [ 32 | "wavepot", 33 | "audio", 34 | "music", 35 | "algorave" 36 | ], 37 | "scripts": { 38 | "test": "echo \"Error: no test specified\" && exit 1" 39 | }, 40 | "repository": { 41 | "type": "git", 42 | "url": "git+https://github.com/wavepot/wavepot-cli.git" 43 | }, 44 | "bugs": { 45 | "url": "https://github.com/wavepot/wavepot-cli/issues" 46 | }, 47 | "homepage": "https://github.com/wavepot/wavepot-cli#readme" 48 | } 49 | -------------------------------------------------------------------------------- /wavepot.js: -------------------------------------------------------------------------------- 1 | var readFile = require('fs').readFile; 2 | var electron = require('electron'); 3 | var ipc = electron.ipcRenderer; 4 | 5 | console.log = electron.remote.getGlobal('console').log; 6 | console.error = electron.remote.getGlobal('console').error; 7 | window.addEventListener('error', e => { 8 | e.preventDefault(); 9 | console.error(e.error.stack); 10 | }); 11 | 12 | var audio = new AudioContext; 13 | window.sampleRate = audio.sampleRate; 14 | 15 | var bpm = 60; 16 | var sources = {}; 17 | var beatTime; 18 | 19 | clock(); 20 | connect(); 21 | 22 | function clock() { 23 | beatTime = 1 / (bpm / 60); 24 | } 25 | 26 | function connect() { 27 | ipc.on('sourcefile', getSourceFile) 28 | ipc.on('source', getSource) 29 | } 30 | 31 | function getSourceFile(event, filename) { 32 | readFile(filename, 'utf8', build); 33 | } 34 | 35 | function getSource(event, js) { 36 | build(null, js); 37 | } 38 | 39 | function build(err, js) { 40 | if (err) console.log(err.stack); 41 | else compile(js); 42 | } 43 | 44 | function compile(js) { 45 | var mod = { exports: {} }; 46 | var fn = new Function('module', 'exports', 'require', js); 47 | fn(mod, mod.exports); 48 | console.log('ok'); 49 | 50 | if ('bpm' in mod.exports) { 51 | console.log('set bpm:', mod.exports.bpm); 52 | bpm = mod.exports.bpm; 53 | clock(); 54 | } 55 | 56 | for (var key in sources) { 57 | if (!(key in mod.exports)) sources[key].stop(); 58 | } 59 | 60 | for (var key in mod.exports) { 61 | if ('function' === typeof mod.exports[key]) { 62 | console.log('compile:', key); 63 | play(key, mod.exports[key]); 64 | } else if (Array.isArray(mod.exports[key])) { 65 | console.log('compile:', key); 66 | play(key, mod.exports[key][1], mod.exports[key][0]) 67 | } 68 | } 69 | } 70 | 71 | function createSource(key) { 72 | var source = audio.createBufferSource(); 73 | source.loop = true; 74 | source.onended = disconnect; 75 | source.connect(audio.destination); 76 | return source; 77 | } 78 | 79 | function createBuffer(fn, multiplier) { 80 | var channels = 2; 81 | var beatFrames = Math.floor(audio.sampleRate * beatTime); 82 | var blockFrames = Math.floor(beatFrames * multiplier); 83 | var buffer = audio.createBuffer(2, blockFrames, audio.sampleRate); 84 | 85 | var sample = 0; 86 | 87 | var L = buffer.getChannelData(0); 88 | var R = buffer.getChannelData(1); 89 | 90 | for (var i = 0; i < blockFrames; i++) { 91 | sample = fn(1 + i / beatFrames, i); 92 | L[i] = R[i] = normalize(sample); 93 | } 94 | 95 | return buffer; 96 | } 97 | 98 | function play(key, fn, multiplier) { 99 | multiplier = multiplier || 4; 100 | var buffer = createBuffer(fn, multiplier); 101 | var source = createSource(); 102 | var syncTime = calcSyncTime(multiplier); 103 | 104 | if (key in sources) sources[key].stop(syncTime); 105 | 106 | sources[key] = source; 107 | source.buffer = buffer; 108 | source.start(syncTime); 109 | 110 | console.log('playing:', key); 111 | } 112 | 113 | function calcSyncTime(multiplier) { 114 | return normalize( 115 | audio.currentTime + 116 | (multiplier * beatTime - 117 | (audio.currentTime % (multiplier * beatTime))) 118 | ); 119 | } 120 | 121 | function disconnect() { 122 | this.disconnect(); 123 | } 124 | 125 | function normalize(number) { 126 | return number === Infinity || number === -Infinity || isNaN(number) ? 0 : number; 127 | } 128 | --------------------------------------------------------------------------------