stuartmemo / theresas-sound-world Goto Github PK
View Code? Open in Web Editor NEWManipulate audio in the browser in a quick and friendly manner
Home Page: https://theresassoundworld.com
License: MIT License
Manipulate audio in the browser in a quick and friendly manner
Home Page: https://theresassoundworld.com
License: MIT License
Should be able to schedule panning like so:
var panner = tsw.panner();
panner.pan(-1, tsw.now() + 4); // Pan to the left 4 seconds from now.
After connecting to tsw.speakers and starting node, nothing is heard.
Calling tsw.load as described here http://theresassoundworld.com/#load doesn't appear to work. The arguments are not parsed into arrays and objects which are compatible with the loadFile function.
For example, at line 589 ("number_of_files = Object.keys(files).length;"), the number_of_files will always equal 1 (if isArray(files) === true).
My REAL question: is tsw.load known to actually work currently? If so, I'll debug MY code -- if not, I'll debug tsw.load and submit a pull request.
Currently only returns the note from the number.
Example:
var osc = tsw.oscillator('D#3', 'sawtooth');
After getting a SyntaxError: An invalid or illegal string was specified (line 249)
in tests for this line while using the latest version of Firefox, I think I've discovered an issue with Mozilla's implementation of the w3 AudioParam methods.
I believe they have reversed the arguments. See: mozilla's documentation vs w3 draft.
I've never filed a bug like this, so until I figure out how, I'm leaving this as a placeholder. @stuartmemo, do you have any input on this?
Are envelopes officially supported? I see them referenced in the documentation and attempted to use them but was unsuccessful... Would be a great feature :)
For example, gain could be ramped by doing something like:
var volume = tsw.gain();
volume.gain(0.8, tsw.now()); // set gain to 0.8 immediately
volume.gain(0.2, tsw.now() + 4, 'linear'); // Linear ramp from 0.8 to 0.2 over the course of 4 seconds.
Not entirely sure about the syntax should be. The above doesn't feel intuitive enough.
The reverb()
method looks for files that don't exist in the repository, are they supposed to be loaded another way?
Should be consistent with isMidiSupported().
I'm getting this error in the console:
I am using Chrome on linux - Version 52.0.2743.82 (64-bit)
tsw.js:42 Uncaught TypeError: Cannot create property 'value' on number '0'
I found this error while looking at the online demo of Sympathetic synthesisor here
The issue seems to be caused by the face that 'reduction' is a read only float, and can't be changed, as it is in
var applySettings = function (node, settings) {
for (var setting in settings) {
node[setting].value = settings[setting];
}
};
I have been able to fix this with the following:
var applySettings = function (node, settings) {
for (var setting in settings) {
if(typeof node[setting] === "object")
{
node[setting].value = settings[setting];
}
}
};
This was working for me up until recently so I guess it's just for the latest version of Chrome (Version 52.0.2743.82 (64-bit)).
Not just on initialisation. Something like:
var panner = tsw.panner();
panner.pan(0.2);
panner.pan(-1, tsw.now() + 4);
Currently only start(0) works.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.