├── .gitignore ├── README.md ├── build-index.js ├── index.html ├── package.json └── style.css /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | node_modules 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # web audio modules 2 | 3 | a list of modules that are useful when building applications with the web audio api. 4 | 5 | ## Visualizations / UI 6 | * [audio-fft](https://www.npmjs.org/package/audio-fft) module/class for creating visualizations from audio data(time/frequency) 7 | * [draw-wave](https://www.npmjs.org/package/draw-wave) 8 | * [wave-edit](https://www.npmjs.org/package/wave-edit) 9 | * [soundcloud-waveform-parser](https://www.npmjs.org/package/soundcloud-waveform-parser) 10 | * [soundcloud-waveform](https://www.npmjs.org/package/soundcloud-waveform) 11 | 12 | ## playback 13 | * [soundcloud-badge](https://www.npmjs.org/package/soundcloud-badge) 14 | * [soundcloud-resolve](https://www.npmjs.org/package/soundcloud-resolve) 15 | 16 | ## Timing 17 | * [audio-clock](https://www.npmjs.org/package/audio-clock) Keep time in a webworker 18 | 19 | ## Data 20 | * [audiosource](https://www.npmjs.org/package/audiosource) A nice interface for dealing with audio samples/files and their playback. 21 | * [web-audio-analyser](https://www.npmjs.org/package/web-audio-analyser) 22 | * [musicmetadata](https://www.npmjs.org/package/musicmetadata) 23 | * [audio-worker-node](https://www.npmjs.org/package/audio-worker-node) 24 | 25 | ## General 26 | * [sequencer-component](https://github.com/meandavejustice/sequencer-component) Web Audio Sequencer react component. 27 | * [audiosource](https://www.npmjs.org/package/audiosource) A nice interface for dealing with audio samples/files and their playback. 28 | * [audio-context](https://www.npmjs.org/package/audio-context) Shim for creating and audioContext 29 | * [web-audio-api(node)](https://www.npmjs.org/package/web-audio-api) 30 | 31 | ## Effects 32 | * [detect-pitch](https://www.npmjs.org/package/detect-pitch) 33 | 34 | ## APIs 35 | * [free-music-archive](https://www.npmjs.org/package/free-music-archive) 36 | * [echonest](https://www.npmjs.org/package/echonest) 37 | 38 | ## ndarray 39 | * [ndarray](https://www.npmjs.org/package/ndarray) 40 | * [ndarray-fft](https://www.npmjs.org/package/ndarray-fft) 41 | * [ndarray-show](https://www.npmjs.org/package/ndarray-show) 42 | * [zeros](https://www.npmjs.org/package/zeros) 43 | * [ndarray-wav](https://www.npmjs.org/package/ndarray-wav) 44 | 45 | ## storage 46 | * [leveljs](https://www.npmjs.org/package/leveljs) 47 | 48 | ## education 49 | * [web-audio-school](https://www.npmjs.org/package/web-audio-school) 50 | 51 | ## Pulse-code modulation 52 | * [pcm-boilerplate](https://www.npmjs.org/package/pcm-boilerplate) 53 | -------------------------------------------------------------------------------- /build-index.js: -------------------------------------------------------------------------------- 1 | var fs = require('fs'); 2 | 3 | var head = ''; 4 | 5 | fs.readFile('./README.md', {encoding: 'utf-8'}, function(err, data) { 6 | fs.writeFile('./index.html', head + require('marked')(data), process.exit); 7 | }) 8 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 |

web audio modules

2 |

a list of modules that are useful when building applications with the web audio api.

3 |

Visualizations / UI

4 | 11 |

playback

12 | 16 |

Timing

17 | 20 |

Data

21 | 27 |

General

28 | 34 |

Effects

35 | 38 |

APIs

39 | 43 |

ndarray

44 | 51 |

storage

52 | 55 |

education

56 | 59 |

Pulse-code modulation

60 | 63 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "web-audio-modules", 3 | "version": "1.0.0", 4 | "description": "a list of modules that are useful when building applications with the web audio api.", 5 | "main": "build-index.js", 6 | "dependencies": { 7 | "marked": "^0.3.3" 8 | }, 9 | "scripts": { 10 | "test": "echo \"Error: no test specified\" && exit 1", 11 | "move-style": "cp node_modules/style.css/style.css .", 12 | "build": "node build-index.js", 13 | "deploy": "gh-pages-deploy" 14 | }, 15 | "gh-pages-deploy": { 16 | "prep": [ 17 | "move-style", 18 | "build" 19 | ] 20 | }, 21 | "author": "meandave", 22 | "license": "MIT", 23 | "devDependencies": { 24 | "gh-pages-deploy": "^0.3.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /style.css: -------------------------------------------------------------------------------- 1 | /* style.css v0.1.15 - 03/29/15 - https://github.com/ngoldman/style.css */ 2 | @import url(http://fonts.googleapis.com/css?family=Lora:400,700,400italic);@import url(http://fonts.googleapis.com/css?family=Montserrat:400,700);/*! normalize.css v3.0.2 | MIT License | git.io/normalize */hr,input[type=search]{-moz-box-sizing:content-box;box-sizing:content-box}legend,td,th{padding:0}.markdown-body,html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}.markdown-body a:active,.markdown-body a:hover,a:active,a:hover{outline:0}.markdown-body table,table{border-collapse:collapse;border-spacing:0}html{font-family:sans-serif}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}hr{height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}.markdown-body input[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box}.markdown-body *,.markdown-body img{-moz-box-sizing:border-box;box-sizing:border-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0}.markdown-body{overflow:hidden;line-height:1.6;word-wrap:break-word}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a{background:0 0;color:#4183c4;text-decoration:none}.markdown-body a:active,.markdown-body a:focus,.markdown-body a:hover{text-decoration:underline}.top-bar-link:hover,.top-bar-title:hover,a{text-decoration:none}.markdown-body strong{font-weight:700}.markdown-body em{font-style:italic}.markdown-body blockquote,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-top:0;margin-bottom:16px}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{font-family:Montserrat,'Helvetica Neue',Helvetica,Arial,sans-serif;position:relative;margin-top:1em;margin-bottom:16px;font-weight:700;line-height:1.4}.markdown-body h1,.markdown-body h2{padding-bottom:.3em}.markdown-body h1{font-size:2.25em;line-height:1.2}.markdown-body h2{font-size:1.75em;line-height:1.225}.markdown-body h3{font-size:1.5em}.markdown-body h4{font-size:1.25em}.markdown-body h5{font-size:1em}.markdown-body h6{font-size:1em;color:#777}.markdown-body code,.markdown-body kbd,.markdown-body pre{font-family:Consolas,'Andale Mono','Lucida Console',Monaco,'Courier New',Courier,monospace}.markdown-body code{padding:.2em 0;margin:0;font-size:85%;background-color:rgba(0,0,0,.04);border-radius:3px}.markdown-body code:after,.markdown-body code:before{letter-spacing:-.2em;content:'\00a0'}.markdown-body pre{word-wrap:normal;padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f7f7f7;border-radius:3px}.markdown-body pre code{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background:0 0}.markdown-body pre code:after,.markdown-body pre code:before{content:normal}.markdown-body hr:after,.markdown-body hr:before{display:table;content:''}.markdown-body pre>code{font-size:1em;word-break:normal;white-space:pre;border:0}.markdown-body kbd{background-color:#e7e7e7;background-image:-webkit-linear-gradient(#fefefe,#e7e7e7);background-image:linear-gradient(#fefefe,#e7e7e7);background-repeat:repeat-x;display:inline-block;padding:5px 5px 1px;margin:0 1px;font-size:11px;line-height:10px;color:#000;border:1px solid #cfcfcf;border-radius:2px;box-shadow:0 1px 0 #ccc}.markdown-body input{color:inherit;font:inherit;margin:0;font-size:13px;line-height:1.4;font-family:Helvetica,Arial,freesans,clean,sans-serif,'Segoe UI Emoji','Segoe UI Symbol'}.top-bar,body>header>nav>a,h1,h2,h3,h4,h5,h6{font-family:Montserrat,'Helvetica Neue',Helvetica,Arial,sans-serif}.markdown-body input[type=checkbox]{-moz-box-sizing:border-box;box-sizing:border-box;padding:0}.markdown-body blockquote{margin:0 0 16px;padding:0 15px;color:#777;border-left:4px solid #ddd}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body img{border:0;max-width:100%}.markdown-body hr{-moz-box-sizing:content-box;box-sizing:content-box;overflow:hidden;background:#e7e7e7;height:4px;padding:0;margin:16px 0;border:0}.markdown-body hr:after{clear:both}.markdown-body td,.markdown-body th{padding:0}.markdown-body table td,.markdown-body table th{padding:6px 13px;border:1px solid #ddd}.markdown-body table th{font-weight:700}.markdown-body table tr{background-color:#fff;border-top:1px solid #ccc}.markdown-body table tr:nth-child(2n){background-color:#f8f8f8}.markdown-body ol,.markdown-body ul{padding:0 0 0 2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:0;margin-bottom:0}.markdown-body ol ol ol,.markdown-body ol ul ol,.markdown-body ul ol ol,.markdown-body ul ul ol{list-style-type:lower-alpha}.markdown-body li>p{margin-top:16px}.markdown-body dd{margin-left:0}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:700}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.top-bar{padding:0 1rem;margin:0 0 2rem;overflow:auto}.page .top-bar{padding:0}.top-bar-link,.top-bar-title{color:#aaa;cursor:pointer;float:left;font-size:1rem;text-decoration:none;padding:1rem 0}.top-bar-link.current-page,.top-bar-link.current-page:hover,.top-bar-title.current-page,.top-bar-title.current-page:hover{cursor:default}.top-bar-link{font-weight:200;margin-left:1rem}.top-bar-link:hover{color:#555}.top-bar-title{color:#555;font-weight:600}a,a:hover{color:#f30}.top-bar-right{float:right}html,html a{-webkit-font-smoothing:antialiased}code{font-family:Consolas,'Andale Mono','Lucida Console',Monaco,'Courier New',Courier,monospace}a{transition:color .5s ease}a:hover{text-decoration:underline}figure{margin:1.5rem 0}figure img{max-width:98%;background:#fafafa;padding:1%;border:1px solid #ddd}figure figcaption{margin:.25rem 0 .5rem;font-size:.75rem;color:#777}.markdown-body,body{font-size:16px;color:#333}body{font-family:Lora,'Lucida Grande','Segoe UI',Arial,sans-serif}.page{margin:3rem auto;max-width:38rem;padding:0 1rem}.markdown-body{font-family:Lora,'Lucida Grande','Segoe UI',Arial,sans-serif}.markdown-body table{display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all;font-family:Consolas,'Andale Mono','Lucida Console',Monaco,'Courier New',Courier,monospace} --------------------------------------------------------------------------------