Commit graph

643 commits

Author SHA1 Message Date
Yotam Mann
ba445538f2 using AudioToGain instead of Expr 2014-12-08 11:03:10 -05:00
Yotam Mann
e1ce5f54a9 default args 2014-12-08 11:02:55 -05:00
Yotam Mann
63876cafe2 LFO, changing 'rate'->'frequency' 2014-12-08 11:02:47 -05:00
Yotam Mann
daf428b23b fixed velocity bug 2014-12-08 11:02:22 -05:00
Yotam Mann
3b7b7b5423 fixed bus infinite recursion. 2014-12-08 00:44:40 -05:00
Yotam Mann
ba90b842a1 Envelope no longer has an exponent 2014-12-06 16:48:57 -05:00
Yotam Mann
f7a14f2b37 all frequency values accept a note name as well 2014-12-06 16:48:36 -05:00
Yotam Mann
908ae686f2 ramp exponential won't go below some small value 2014-12-06 16:47:48 -05:00
Yotam Mann
bf325680a6 started r4-dev 2014-12-03 23:04:56 -05:00
Yotam Mann
f79ccd9825 release candidate 3 2014-12-03 22:41:56 -05:00
Yotam Mann
809dc99091 no feedback in phaser 2014-12-03 22:24:36 -05:00
Yotam Mann
c2d320ce8d renamed MidSide -> MidSideEffect 2014-12-03 22:11:23 -05:00
Yotam Mann
cd31d02048 jsdoc'ing 2014-12-03 21:38:24 -05:00
Yotam Mann
da014bf954 better presets 2014-12-03 21:37:58 -05:00
Yotam Mann
db544d20c4 using markdown instead of example tag 2014-12-03 17:25:34 -05:00
Yotam Mann
1b9cc1483b jsdoc'ing 2014-12-03 17:20:23 -05:00
Yotam Mann
902f1fa24d updating Envelope ADR types 2014-12-02 10:39:19 -05:00
Yotam Mann
2d0bcffc9f adding defaults to jsdocs 2014-12-02 01:42:08 -05:00
Yotam Mann
0a944516af doc tweaks 2014-12-02 00:27:28 -05:00
Yotam Mann
398f2bcce2 jsdoc tweak 2014-12-02 00:08:44 -05:00
Yotam Mann
a7dbac68bb optimizing input/output
also subclass of Tone.SignalBase
2014-11-30 23:26:42 -05:00
Yotam Mann
ce0d5f3597 signals inherit from a signal base class 2014-11-30 23:26:06 -05:00
Yotam Mann
c8478192e1 get the time till the next beat
useful for the eventual quantization
2014-11-30 22:40:07 -05:00
Yotam Mann
25496dea77 switched to updated chain method 2014-11-30 21:32:09 -05:00
Yotam Mann
efe69616bd changing presets 2014-11-30 21:20:22 -05:00
Yotam Mann
152f0cdda5 using updated fan method 2014-11-30 21:20:12 -05:00
Yotam Mann
7fcddeb000 removed feedback from phaser 2014-11-30 21:18:58 -05:00
Yotam Mann
c5da40969e chain and fan methods use 'this' nodes output 2014-11-30 17:46:09 -05:00
Yotam Mann
9498d6af3c boost Tone.Pow resolution 2014-11-30 17:42:02 -05:00
Yotam Mann
cf2cb263b2 chain -> connectSeries, fan -> connectParallel 2014-11-30 17:37:29 -05:00
Yotam Mann
d1839dc1b6 output is 0 when input is 0 2014-11-30 17:36:56 -05:00
Yotam Mann
cd4121ef41 removed feedback divisor
Fixes #42
2014-11-30 17:17:50 -05:00
Yotam Mann
597d07510e NoiseSynth added triggerAttackRelease 2014-11-30 14:53:54 -05:00
Yotam Mann
a25c106565 removing unnecessary comments 2014-11-30 14:53:32 -05:00
Yotam Mann
310231dbd1 using Tone.WaveShaper instead of native node 2014-11-30 13:20:35 -05:00
Yotam Mann
ae24c8272d Tone.WaveShaper abstraction on WaveShaperNode 2014-11-30 13:16:20 -05:00
Yotam Mann
ab28ad9a99 NoiseSynth 2014-11-29 22:03:28 -05:00
Yotam Mann
e32386da79 MonoSynth dispose cleanup 2014-11-29 21:55:38 -05:00
Yotam Mann
ffd5ac875a LFO has a defaults object 2014-11-29 21:54:29 -05:00
Yotam Mann
574c75f7c6 Tone.Limiter is a compressor with limiter settings 2014-11-29 21:47:28 -05:00
Yotam Mann
09f4b5fdf8 Normalize an input range to 0,1 2014-11-29 21:37:21 -05:00
Yotam Mann
5fdc2cfd38 updated to new Tone.Scale API 2014-11-29 21:36:32 -05:00
Yotam Mann
d3bb514dde Scale and ScaleExp scale from gain range only 2014-11-29 21:18:04 -05:00
Yotam Mann
15c33fdecd Scale a gain to an equal power scale 2014-11-29 20:32:33 -05:00
Yotam Mann
b67c187caa map audio range to gain range 2014-11-29 20:30:52 -05:00
Yotam Mann
2b22bfac31 updating dependencies 2014-11-24 18:51:35 -05:00
Yotam Mann
4948fde652 the filter envelope is not optional
#41
2014-11-11 15:24:34 -05:00
Yotam Mann
aa2f1fc2ef cleaning up the constructor - Expr 2014-11-09 10:57:34 -05:00
Yotam Mann
0a442a2608 oscillator accepts Tone.Time as frequency 2014-11-09 10:57:14 -05:00
Yotam Mann
4587420071 some deps cleanup 2014-11-09 10:56:55 -05:00
Yotam Mann
f1593c1a29 new class PanVol. combined Pan and Vol
useful for making stereo mixer-type things
2014-11-04 01:27:36 -05:00
Yotam Mann
7e09fc6931 small reorganization 2014-11-04 01:24:24 -05:00
Yotam Mann
adcf3a0c74 small object count optimization 2014-11-04 01:23:59 -05:00
Yotam Mann
dcfac108eb using Tone constructor in signal classes 2014-11-04 01:21:42 -05:00
Yotam Mann
484a7bf47d Tone constructor accepts input/output num as param 2014-11-04 01:01:57 -05:00
Yotam Mann
f7a0590ec5 optimizing comb filters
also trying to get them to crash less often. (i think it worked)
2014-11-04 00:46:31 -05:00
Yotam Mann
13f091e43e Using ScaledEnvelope for filter envelope 2014-11-04 00:44:59 -05:00
Yotam Mann
4272e051ee created ScaledEnvelope as its own class
factors out the scaling from the amplitude env and normal envelope
2014-11-04 00:44:16 -05:00
Yotam Mann
043172df7c keeping reference to Float32Array
potentially causing crashes (trying to debug)
2014-11-03 19:22:17 -05:00
Yotam Mann
58338bef23 removing Mono from stereo effect
(will need to run single channel signals through a panner or mono node
if connecting to stereo effect)
2014-11-03 11:45:33 -05:00
Yotam Mann
10099e6f6d Sampler: exponential scaling on filterEnv 2014-11-03 11:44:12 -05:00
Yotam Mann
7ab00d1760 cleaning up AMSynth and testing 2014-11-03 11:43:42 -05:00
Yotam Mann
d0bcc2f931 max delay time on feedback comb filter 2014-11-03 11:34:02 -05:00
Yotam Mann
3d9639b48a tiny bit of clean up 2014-11-01 22:00:36 -04:00
Yotam Mann
48181f140b new instrument AMSynth 2014-11-01 21:56:23 -04:00
Yotam Mann
fe9a87daa3 using exponential scaling for frequencyEnvelope 2014-11-01 21:55:59 -04:00
Yotam Mann
d3866bcf51 using new Envelope internals 2014-11-01 21:55:19 -04:00
Yotam Mann
bf20552449 using new string replacement syntax 2014-11-01 21:54:53 -04:00
Yotam Mann
a830f4b711 handles exponential scaling 2014-11-01 21:54:40 -04:00
Yotam Mann
5c3cdab7cc does string replacements 2014-11-01 21:53:36 -04:00
Yotam Mann
56791f2ef2 pow is just a waveshapercurve 2014-11-01 21:53:14 -04:00
Yotam Mann
4f6d04498a using Pow and optimizing nodes 2014-11-01 21:52:49 -04:00
Yotam Mann
7a8c8d168b Merge branch 'expr' into dev
Conflicts:
	.gitignore
	CHANGELOG.md
	Tone/signal/Modulo.js
	test/tests/Effect.js
2014-11-01 18:34:22 -04:00
Yotam Mann
680b2cd8ee MidSide and StereoWidener 2014-11-01 18:17:03 -04:00
Yotam Mann
21a0b84137 including Pow and Divide 2014-11-01 16:18:23 -04:00
Yotam Mann
6362b59725 fixed connect method bug non-array multiple ins 2014-11-01 16:18:07 -04:00
Yotam Mann
264c56a343 small dry/wet optimization 2014-11-01 16:17:27 -04:00
Yotam Mann
c454357fd7 small modulo optimization 2014-11-01 16:16:27 -04:00
Yotam Mann
866bb5cd65 simplified BitCrusher further 2014-11-01 16:16:14 -04:00
Yotam Mann
ef4692789e Tone.Divide division 2014-10-30 21:34:53 -04:00
Yotam Mann
77559a4264 Tone.Inverse multiplicative inverse of a number 2014-10-30 21:34:34 -04:00
Yotam Mann
3a6261c9b9 Tone.Pow exponential 2014-10-30 21:34:11 -04:00
Yotam Mann
36f4a85582 connect method from Tone.Signal 2014-10-30 19:48:53 -04:00
Yotam Mann
7f4b873aa8 Follower uses subtract 2014-10-30 19:44:05 -04:00
Yotam Mann
2a65eb3ce7 rewrote floor in BitCrusher with Expr 2014-10-30 18:06:13 -04:00
Yotam Mann
79e4c1c9fc refactored Expr
put regexp all in one place and function callbacks all in one place
2014-10-30 17:04:15 -04:00
Yotam Mann
9d41f7aa3d handles multiple inputs 2014-10-30 01:05:17 -04:00
Yotam Mann
47a5e2d962 bug fixes 2014-10-30 01:04:49 -04:00
Yotam Mann
e19e0cea30 first Expr version
aggregate signal processing expression
2014-10-29 23:56:08 -04:00
Yotam Mann
ba7ead9581 Envelope -> AmplitudeEnvelope in MonoSynth 2014-10-28 14:51:22 -04:00
Yotam Mann
76c596ca31 Fixed whitespace problem with toSeconds 2014-10-25 11:57:00 -04:00
Yotam Mann
e1d27c5525 Convolver style and formatting 2014-10-23 11:42:41 -04:00
Yotam Mann
477eef29c7 making distortion curve length smaller
trying to fix occasional crashes in chrome.
2014-10-23 11:42:07 -04:00
Yotam Mann
f36b185517 rearranging dispose methods for readability 2014-10-23 11:41:38 -04:00
Yotam Mann
98ef0e8fae making mod curve smaller 2014-10-23 11:41:15 -04:00
Yotam Mann
4766f5a27f Transport loops when greater than the loopEnd
used to be just equal to. caused bugs sometimes.
2014-10-23 00:24:02 -04:00
Yotam Mann
0bea209d68 simplify buffer constructor 2014-10-22 22:27:21 -04:00
Yotam Mann
e1ba3a4487 returns an array when given an array 2014-10-22 22:27:01 -04:00
Yotam Mann
3b10b93eca Merge pull request #39 from indefinit/unicode-fix
Unicode fix
2014-10-22 21:55:21 -04:00
Yotam Mann
0fce1bf624 Modulo small doc changes. 2014-10-22 21:52:42 -04:00
Yotam Mann
7ae56f179c Equal accepts two signals. 2014-10-22 21:26:10 -04:00
Yotam Mann
0a68826768 LessThan accepts two signals 2014-10-22 21:25:28 -04:00
Yotam Mann
8b58bd0a9b Greater than compares two signals 2014-10-22 21:24:40 -04:00
Yotam Mann
de194f24c3 min and max accept two signals 2014-10-22 21:23:47 -04:00
Yotam Mann
fcba9bd62a multiply handles two signals 2014-10-22 21:20:43 -04:00
Yotam Mann
23eaf83935 handles summing two signals
or a signal and a number.
2014-10-22 21:19:04 -04:00
Yotam Mann
7f7e093a4b Subtract class
subtract a signal and a number or a signal and a signal
2014-10-22 21:17:29 -04:00
Kevin Siwoff
054d5ff2e8 fixes buffer initialization in Player.js 2014-10-22 18:24:58 -04:00
Kevin Siwoff
1422a544f9 adds Convolver class, IR, and convolver example 2014-10-22 17:58:03 -04:00
Kevin Siwoff
b45c983152 updates player class and build for Buffer 2014-10-21 14:55:29 -04:00
Kevin Siwoff
d71f83c8fd adds new Buffer class to core 2014-10-21 14:44:02 -04:00
Yotam Mann
167d989828 using bufferTime in Follower 2014-10-19 22:07:18 -04:00
Yotam Mann
68dea5880a 3 band compressor 2014-10-19 21:55:55 -04:00
Yotam Mann
fdae3c0b5b thin DynamicsCompressorNode wrapper 2014-10-19 21:55:18 -04:00
Yotam Mann
425bca36ad Chebyshev effect
applies Chebyshev wave shaper to incoming signal.
2014-10-19 19:39:50 -04:00
Yotam Mann
918be69c6c connectEffect switched to internal 2014-10-19 17:56:41 -04:00
Yotam Mann
6317e02a67 Distortion effect 2014-10-19 17:54:30 -04:00
Yotam Mann
e28f77a683 PolySynth accepts an array of notes for attack/release 2014-10-19 16:17:40 -04:00
Yotam Mann
4a4da6c85b use MasterConstructor on init 2014-10-19 16:08:40 -04:00
Yotam Mann
9f827a8dad short delay to avoid clicks on change OmniOsc type 2014-10-16 14:52:08 -04:00
Yotam Mann
f913c50241 precompute the bufferTime for a single frame
still need to figure out how to find the frame size
2014-10-16 14:51:25 -04:00
Kevin Siwoff
f784f5585f adds Buffer class, refactors Player class to use new Buffer member 2014-10-16 14:48:23 -04:00
Yotam Mann
3eba6e58a4 optimizing initial script loading 2014-10-16 00:49:31 -04:00
Yotam Mann
eb07e84a6e simplified internals of IfElseThen
changes API slightly because false is 0 and not != 1
2014-10-13 19:24:06 -04:00
Yotam Mann
7277a7eb68 wrote Min and Max with IfThenElse
makes the internals much more readable
2014-10-13 19:22:11 -04:00
Yotam Mann
baf1f0162a enforce min time on Tone.Follower 2014-10-13 19:21:34 -04:00
Yotam Mann
d1cf785350 some jsdoc notes on Meter and Recorder 2014-10-13 17:31:07 -04:00
Yotam Mann
4ccc0e08e7 ability to set rolloff of autowah 2014-10-13 17:16:10 -04:00
Yotam Mann
4f9850d315 disconnect method handles output arrays 2014-10-13 15:58:21 -04:00
Yotam Mann
05b2415fa6 wrote EQ in terms of MutibandSplit 2014-10-13 15:58:06 -04:00
Yotam Mann
757c114ede new class MultibandSplit
splits incoming signal into low/mid/high frequency bands
2014-10-13 15:57:53 -04:00
Yotam Mann
a4cc79cfde stopped state doesn't wait for on ended event
the oneneded event is inconsistent when the source is not connected
directly to Master (such as in the case of an LFO).

Fixes #34
2014-10-08 11:59:31 -04:00
Yotam Mann
231d803848 IfThenElse class
convenience on using the selector for signal switching logic.
2014-10-03 17:20:35 -04:00
Yotam Mann
fe96656d2a AND and OR classes
Fixes #22
2014-10-03 17:20:00 -04:00
Yotam Mann
7972f0db34 Pulse, PWM, and Omni extend Oscillator 2014-10-03 16:07:30 -04:00
Yotam Mann
a8e156fcaf made Oscillator.oscillator _private 2014-10-03 16:06:42 -04:00
Yotam Mann
4eaa4f75df es5 getter/setter on Tone.Signal value
#33
2014-10-03 15:50:21 -04:00
Yotam Mann
2daa8c64ad Oscillators inherit Tone.Oscillator setFrequency 2014-10-03 15:16:32 -04:00
Yotam Mann
e2c0e47f2f Noise getType method 2014-10-03 14:54:09 -04:00
Yotam Mann
0270b3c9e0 deprecating Tone.Threshold 2014-10-03 13:07:53 -04:00
Yotam Mann
f94034345d rewrote GreaterThan and LessThan in terms of GreaterThanZero 2014-10-03 13:07:26 -04:00
Yotam Mann
93eace9694 new GreaterThanZero class
Fixes #20. Also deprecates the need for Tone.Threshold
2014-10-03 13:06:26 -04:00
Yotam Mann
b310136dee JCReverb: constructor takes room size as parameter 2014-10-03 11:34:47 -04:00
Yotam Mann
1ed4f5288c allowing for loopEnd to be a Tone.Time 2014-10-03 01:00:48 -04:00
Yotam Mann
02c21fed73 switches types without a pop 2014-10-03 01:00:37 -04:00
Yotam Mann
35bdca0568 default Player loop is still the end of the file 2014-10-02 18:58:24 -04:00
Yotam Mann
666d8f96c1 removed reference to global 'define' with build
gets rid of the problem of having the global ‘define’ left defined in
the window which may have adverse effects on other AMD shim modules.
2014-10-02 18:55:24 -04:00
Yotam Mann
d1d155f58d envelope stays tempo relative until triggered 2014-10-02 13:23:04 -04:00
Yotam Mann
93d9dd24c0 can start the transport at a specific offset 2014-10-02 13:22:44 -04:00
Yotam Mann
d743e1eb17 reveals player attributes through set in Sampler
and through the constructor options object
2014-10-02 13:22:29 -04:00