No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 266 commits ahead, 2 commits behind pshinghal:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
localssl
out
www
._TODO.txt
.gitignore
README.md
RunJsaSound.bat
TODO.txt
jsaSoundServer.js
npm-debug.log
old_jade_server.js
package.json

README.md

jsaSound

jsaSound is an interactive sound library that uses the Web Audio API to provide playable interative sound models. The code is entirely modular, and allows asynchronous loading of different modules.

Usage

jsaSound is built using the RequireJS JavaScript loader. To use RequireJS, follow the instructions at http://requirejs.org/docs/start.html. Simply include the path to the "jsaSound" directory in your require config, and you can play with the sounds, as shown in index.html

Basic Description

jsaSound is organised as a set of sound models, that you may use in your application. When you require a sound model, the module returns a constructor for the sound model. The sound model created from this constructor may be played, and its parameters may be set using simple calls to the play, release and set methods of the model. Detailed examples of the usage of these methods may be found in the sliderBox example (see index.html) or in jsaPhoneControl.

You can also create your own sound models. For guidance, just look at any of the jsa-prefixed sound models.

The code is distributed under the GNU Lesser General Public License 3.

Notes

Some of the sound models use microphone input. These models only work when run on a proper web web server (thought one on the localhost will work fine). Also, when the user opens one of these models, the ALLOW/DISALLOW buttons show up on the main browser window, not the sound model slider box window so it is easy to miss. If the user doesn't push the ALLOW button, the model will not work properly.

API

play() release() stop()

setParam([name, number],val) setParamNorm([name, number], val)

getParam([name, number], ["name", "type", "val", "normval", "min","max"]) // type can return "range" or "url"

getNumParams() getAboutText();

ACKNOWLEDGEMENTS

This library is built using other open-source libraries:

From Matt Diamond: https://github.com/mattdiamond/Recorderjs

From Srikumar Subramanian: https://github.com/srikumarks/steller

Chris Wilson https://github.com/cwilso/Audio-Input-Effects

RUNNING CODE

animatedsoundworks.com:8001