Commit graph

522 commits

Author SHA1 Message Date
tambien
ef55dc9bb8 Create Analyser.test.ts 2019-06-19 14:24:30 -04:00
tambien
962610587b converting Volume to ts 2019-06-19 09:53:18 -04:00
tambien
730a818bcb organizing into sub folders 2019-05-23 14:00:49 -04:00
tambien
39cf110fe4 Merge branch 'dev' of https://github.com/Tonejs/Tone.js into typescript 2019-05-21 23:53:46 -04:00
Colin
bb67e9c83d Improved explanation of size in FFT/Analyser docs (#477) 2019-04-12 10:45:34 -04:00
tambien
6fb2b30dce Merge branch 'dev' into typescript 2019-04-12 10:40:10 -04:00
Colin
aa92ea6162 Correct description for Tone.FFT (#476) 2019-04-11 17:43:21 -04:00
tboie
8f08316b41 #471 (#472) 2019-04-04 15:10:03 -04:00
tambien
184102ab4c removing shims
will replace with standardized-audio-context
2019-03-25 22:58:36 -07:00
tambien
c1d748deed adding case where attack time is 0
fixes #425
2019-03-12 13:22:25 -04:00
tambien
3083677249 removing mute
could set "amplitude" to 0, LFO does not need to match Source API
2019-02-01 11:22:10 -05:00
tambien
4a270c2ed5 removing unused return statement 2019-02-01 11:21:29 -05:00
tambien
2780cac504 using Tone.connect for connections with native nodes
addresses #421
2019-01-28 11:02:15 -05:00
tambien
ed71d8141b amd to es6 import/export
no longer using AMD (require.js) style imports, and beginning to move to es6 "import/export" statements everywhere.
2019-01-27 13:05:20 -05:00
tambien
f38c87271f Split can optionally handle more than 2 channels 2019-01-26 20:12:07 -05:00
tambien
4c0659a0ed merge optionallly accepts more than 2 channels 2019-01-26 20:06:07 -05:00
tambien
b2efc57a2a updating docs to reflect FFT output data
fixes #423
2019-01-11 14:30:59 -05:00
tambien
c712219198 lowering meter size
to increase performance
2019-01-08 20:23:54 -05:00
tambien
68f1c78d9a get the frequency response curve 2018-12-28 16:07:39 -05:00
tambien
7be27c65d8 Tone.Channel combines Tone.Solo and Tone.PanVol
provides a channel strip interface similar to DAWs
2018-12-26 17:16:31 -05:00
tambien
2d7879a32e fix linear decayCurve cancelling attack curve
schedule the decay curve to start 1 sample after the attack curve ends
2018-12-21 15:17:39 -05:00
Eric Lewis
f675f74eba Add documentation for Tone.Envelope's decay and release minimum values. (#414)
Fixes #411
2018-12-19 11:21:15 -05:00
tambien
3d1202043a all modules are relative paths
simplifies deep references to individual files
2018-08-26 22:29:17 -04:00
tambien
38897d7bae pass the options object to the next class 2018-07-28 10:20:36 -04:00
Yotam Mann
8a74995f2e making logs more descriptive 2018-06-20 14:56:11 -04:00
Yotam Mann
4dbd48943e using exponentialApproach instead of targetRampTo
reduces call to cancelScheduledValuesAtTime
2018-06-12 23:48:51 -04:00
Yotam Mann
baeb20a17c fixing order of gate connections
had wrong behavior bc of connection order.

fixes #298
2018-06-07 12:49:32 -04:00
Yotam Mann
049bfd04de exponent passed into constructor is applied
fixes #356
2018-06-07 12:21:38 -04:00
Yotam Mann
616af3b9de filter gain is in decibels 2018-06-07 12:12:28 -04:00
Yotam Mann
a441ce3ade changing LPCF implementation to avoid positive feedback loop
Fixes #198
2018-06-07 12:11:53 -04:00
tambien
982bc16b71 gate uses just smoothing instead of attack/release 2018-06-05 22:43:01 -04:00
tambien
765de3c6b8 follower uses a single smoothing value 2018-06-05 22:14:46 -04:00
Yotam Mann
3c2b822b43 can make decayCurve linear or exponential
fixes #354
2018-05-28 18:51:44 -04:00
Yotam Mann
ec4e9a3fdf searches for envelope position in attack curve 2018-05-28 17:59:31 -04:00
tambien
ade4946ff3 removing peak
only use RMS value
2018-05-17 11:40:59 -04:00
David Sherman
c66c453e95 Added type property to Tone.Meter (#276)
* Added 'type' property to Tone.Meter that accepts 'peak' or 'rms' and defaults to 'rms'. Calculation methods + sources added to Tone.Meter. Tests added to Tone.Meter + assertion sources.

* Fixed a number of formatting issues

* more formatting fixes

* Formatting for CI

* fixed variable names

* Updated to use existing gainToDb method.

* Removed tests of removed method.

* Removed whitespaces and tabs.

* Moved Supports.ONLINE_TESTING to original position

* Moded Supports.ONLINE_TESTING to top
2018-05-16 10:41:02 -04:00
tambien
ddbfa81bc3 no need to set the splitter defaults
this is no longer configurable and throws an error when set.

addresses #340
2018-05-03 16:26:45 -04:00
Yotam Mann
62e2cf5dfc fixing docs 2018-04-09 13:24:10 -04:00
Jon Wheeler
1da36262fe Fixed variable name in example (#324) 2018-04-01 11:38:51 -04:00
Yotam Mann
a5503e02d2 linting 2018-03-05 12:25:33 -05:00
Yotam Mann
56c12fb627 Tone.Mono coerces the incoming mono or stereo signal into a mono signal 2018-02-05 16:40:55 -05:00
Yotam Mann
ea5d3880c0 using SignalBase.connect instead of Signal.connect 2018-02-04 11:40:47 -05:00
Yotam Mann
dded291a25 linting 2018-01-02 10:37:27 -05:00
Yotam Mann
dc8111665f Envelope uses Signal not TimelineSignal 2017-12-29 20:42:01 -05:00
Yotam Mann
46df5578d9 removing TimelineSignal 2017-12-29 20:41:49 -05:00
Yotam Mann
4316530b16 linting 2017-10-26 16:03:00 -04:00
Yotam Mann
c58fad41f0 linting 2017-10-26 15:26:04 -04:00
Yotam Mann
2d2424e639 envelope uses Signal instead of TimelineSignal
they are equivalent now bc of the AudioParam shim
2017-10-26 00:51:31 -04:00
Yotam Mann
183bd1e94d using StereoPannerNode shim when not supported 2017-10-26 00:07:02 -04:00
Yotam Mann
eb162526bb moving shim to it's own file 2017-10-25 23:01:42 -04:00
Yotam Mann
a82ab45132 linting 2017-10-25 17:57:52 -04:00
Yotam Mann
cb2a982c39 linting 2017-10-21 19:02:46 -04:00
Yotam Mann
1d18b1c53b removing Tone.Expr from classes 2017-10-21 18:29:50 -04:00
Yotam Mann
a908d6bd92 correcting 'pan' type 2017-10-21 15:22:14 -04:00
Yotam Mann
42634bd453 using exponential approach for decay and release curves 2017-09-13 11:04:13 -04:00
Yotam Mann
892668b01e linearRampToValue -> linearRampTo 2017-08-31 12:45:25 -04:00
Yotam Mann
1603ad7b0f splitting Analyser functionality into multiple classes
simplifies the API
2017-08-31 10:56:19 -04:00
Yotam Mann
d6fe0e6d68 analyse() -> getValue() 2017-08-30 14:42:50 -04:00
Yotam Mann
e51fc401ef updating private method jsdocs 2017-08-28 11:08:20 -04:00
Yotam Mann
e6faa39dba classes which generate or process sound extend Tone.AudioNode 2017-08-27 17:50:31 -04:00
Yotam Mann
841f2448ca can solo multiple audio streams at once 2017-08-27 15:01:13 -04:00
Yotam Mann
b731c85cae adding 'mute' to PanVol 2017-08-27 13:57:50 -04:00
Yotam Mann
63fcb4af1e updating private variable 2017-08-12 10:45:28 -04:00
Yotam Mann
9f31807cf4 sampleTime and blockTime should be instance variables not static 2017-07-27 17:54:57 -04:00
Yotam Mann
effd317acd Merge branch 'dev' of https://github.com/Tonejs/Tone.js into dev 2017-07-27 17:46:15 -04:00
Yotam Mann
7734e70421 removing unnecessary returnType setting 2017-07-08 11:46:27 -04:00
Yotam Mann
3a08d9fd2e return type is always float32
removing byte analysis since it isn’t very useful
2017-07-08 11:21:26 -04:00
Yotam Mann
1c2e9afc0c float is default analyser return type 2017-06-19 17:13:46 -04:00
Yotam Mann
fc1496182a making channel mode explicit
fixes splitting problem in FF
2017-05-16 22:51:51 -07:00
Yotam Mann
c9203221aa making blockTime and sampleTime static vars 2017-05-07 19:15:35 -07:00
Yotam Mann
7159700f11 making connectSeries static 2017-05-01 14:06:36 -04:00
Yotam Mann
b927395825 making defaultArg static 2017-04-30 15:03:49 -04:00
Yotam Mann
0354a87dab hasStereoPanner is now static 2017-04-30 14:11:44 -04:00
Yotam Mann
3a0a55be7b Solo makes it easier to solo one of many sources
will mute all other instances of Tone.Solo when an instance.solo=true
2017-04-30 12:39:09 -04:00
Yotam Mann
f7b7600ac9 fixing jsdoc errors
[skip ci]
2017-04-30 11:16:35 -04:00
Yotam Mann
4bda177b83 gainToDb, dbToGain, intervalToFrequencyRatio now static functions 2017-04-26 23:21:26 -04:00
Yotam Mann
4bd1044cb4 using only static type queries 2017-04-26 00:27:28 -04:00
Yotam Mann
edfa168713 moving to static type queries
i.e. this.isString -> Tone.isString
2017-04-26 00:24:19 -04:00
Yotam Mann
6e585e8f82 components using new defaults api
also invoking super constructor first in preparation for es6 migration
2017-04-25 23:08:23 -04:00
Yotam Mann
b82f2bd6d7 surfaced returnType in docs
[skip ci]
2017-04-20 15:13:30 -04:00
Yotam Mann
88c0ea4fb6 fixed example to new UserMedia API
[skip ci]
2017-04-20 15:12:16 -04:00
Yotam Mann
2073ccdf8c fixing panning in example
[skip ci]
2017-03-28 21:14:48 -04:00
Yotam Mann
4499e80b2e uses passed in volume for _unmutedVolume 2017-03-26 16:40:00 -04:00
Yotam Mann
4cec0fb7a3 mute is true when volume === -Infinity and false otherwise
fixes #221
2017-03-24 17:27:40 -04:00
Yotam Mann
bef5457c01 using Math.SQRT1_2
I didn’t know this existed
2017-03-22 15:21:21 -04:00
Yotam Mann
af58fd34de updating to new getConstant API 2017-03-22 11:43:36 -04:00
Yotam Mann
d81ad3e8c7 polyfilling getFloatTimeDomainData 2017-03-13 00:56:04 -04:00
Yotam Mann
19a41080ba moving constants to Context 2017-02-19 11:48:23 -05:00
Yotam Mann
11d6da77cc updating docs to UserMedia instead of Microphone
[skip ci]
2017-01-08 15:58:58 -05:00
Yotam Mann
0681181d67 speeding up the ramp time constant 2016-12-15 13:38:41 -05:00
Yotam Mann
267d78d4a4 ease renamed to cosine
[skip ci]
2016-11-22 22:38:58 -08:00
Yotam Mann
5efa85081c making all of Compressor's parameters Tone.Params 2016-10-19 01:01:31 -04:00
Yotam Mann
b5ba9e072c ramping position values
this gets rid of a lot of clicking
2016-10-05 00:18:41 -04:00
Yotam Mann
bab37aea07 SpatialPanner and Listener wrappers 2016-10-01 21:45:22 -04:00
Yotam Mann
ac0e3db386 updated docs
[skip ci]
2016-09-25 19:00:10 -04:00
Yotam Mann
b1765f71b0 moving the minimum timing to the Instrument classes 2016-09-24 10:38:57 -04:00
Yotam Mann
1c3e06c2e5 schedule immediate envelopes one block in the future
this avoids some pops
2016-09-23 20:07:41 -04:00
Yotam Mann
3d36324b8d updating Q value so it doesn't feedback
Fixes #166

thanks @mmckegg
2016-09-23 10:16:10 -04:00
Yotam Mann
372053a029 using Tone.Delay everywhere instead of DelayNode 2016-09-20 00:01:27 -04:00
Yotam Mann
a60328345e using Tone.Gain everywhere instead of GainNode 2016-09-19 23:53:07 -04:00
Yotam Mann
76ad44360d updating to new API 2016-09-19 23:02:42 -04:00
Yotam Mann
c135392f55 changing sync to match new Source sync API 2016-09-18 19:37:31 -04:00
Yotam Mann
0824582274 update the octaves when updating the baseFrequency
otherwise it remains at the previous value
2016-07-20 15:37:51 -04:00
Yotam Mann
a40aa6bd12 Fixing case where partial envelope is retriggered using one of the predefined envelopes 2016-06-17 13:13:20 -04:00
Yotam Mann
eea938094c renaming cosine->sine and ease->sine
Fixes #69
2016-06-12 09:56:18 -04:00
Yotam Mann
4628f8c47a prefixing errors with class name. 2016-05-25 20:50:46 -04:00
Yotam Mann
db6b901003 attack/release curves can be arrays
also introducing a bunch of new curve types
2016-05-23 19:20:20 -04:00
Yotam Mann
9528238873 computing rms from the analyser waveform data 2016-05-17 21:26:57 -04:00
Yotam Mann
58a1223a9a meter uses the analyser node
no more ScriptProcessorNodes
2016-05-14 19:13:50 -04:00
Yotam Mann
a25767cfbe can mute the output 2016-05-14 18:07:53 -04:00
Yotam Mann
24692aa343 can be muted in the constructor options 2016-05-14 17:46:21 -04:00
Yotam Mann
3ecd99ecb6 moving mute code to Volume 2016-05-14 17:34:23 -04:00
Yotam Mann
98e58d0576 switching argument position of type and size
type is more important a parameter.
2016-05-14 16:34:50 -04:00
Yotam Mann
5d6f1806c1 Making the Analyser a passthrough node. 2016-04-25 18:05:15 -04:00
Yotam Mann
d374790175 using new Type 2016-04-18 02:19:17 -04:00
Yotam Mann
059bbf20b2 converting units using new API 2016-04-18 02:19:01 -04:00
Yotam Mann
733b49bcd5 using new types 2016-04-18 00:36:08 -04:00
Yotam Mann
2530182b2e updating analyser docs
[skip ci]
2016-04-17 13:41:54 -04:00
Yotam Mann
85cfedb03c adding polyfill for getFloatTimeDomain
Fixes #129
2016-03-20 19:01:39 -04:00
Yotam Mann
aa1b5123aa fixing panner for browsers that don't support stereo panner 2016-03-04 18:59:31 -05:00
Yotam Mann
ad9ae4dbe9 fitting fft size to conform with old spec range
this allows it to pass on older systems which haven’t increased the
range to 32k
2016-03-04 18:30:15 -05:00
Yotam Mann
2728e02555 ability to cancel an envelope 2016-03-04 15:54:24 -05:00
Yotam Mann
18b2136148 .value returns the scheduled value at time=now 2016-03-03 13:04:02 -05:00
Yotam Mann
7a23c08703 LFO outputs 0 value when stopped
gets around 0 gain optimization
2016-03-03 01:35:29 -05:00
Yotam Mann
115b9376ab Panner is now between -1 and 1
Same as the Web Audio API.
2016-02-27 11:31:15 -05:00
Yotam Mann
af6babf8d8 shortens attack time if the envelope is already active
this retains the attack slope.
2016-01-31 23:40:50 -05:00
Yotam Mann
9e7dd15e46 removed unused enum 2016-01-30 20:24:53 -05:00
Yotam Mann
995a12d765 Making sure the envelope is active before triggering the release
This keeps FF from throwing an error when trying to exponentially ramp
from 0.
2016-01-30 15:56:56 -05:00
Yotam Mann
e53c864948 making sure the envelope is silent after the decay if the sustain is 0 2016-01-18 22:46:36 -05:00
Yotam Mann
0349216473 Envelope is completely silenced while not being triggered
Fixes #109
2016-01-16 15:39:29 -05:00
Yotam Mann
acd3722add exposing exponent value 2015-12-07 00:38:48 -05:00
Yotam Mann
307dd6632c FrequencyEnvelope is like ScaledEnvelope but with baseFrequency and octaves instead of min and max 2015-12-07 00:23:21 -05:00
Yotam Mann
2626b19469 setValueAtTime makes the attack less prone to clicks
not sure why.
2015-12-06 21:39:59 -05:00
Yotam Mann
1cf6910796 Using exponentialRamp for decay and release
This normalizes things across browsers because it seems that FF
setTargetAtTime always starts from 0

addresses #91
2015-12-06 13:14:36 -05:00
Yotam Mann
f4200aa2a7 left and right inputs of merger are explicitly mono
this fixes issue of not splitting correctly in FF and Safari.
2015-12-06 13:14:36 -05:00
Yotam Mann
c8cfe33864 doc'ing 2015-11-17 22:52:22 -05:00
Yotam Mann
0c3cd6a305 Set a ramp point before the release curve 2015-11-11 23:41:17 -05:00
Yotam Mann
8e5dd56906 removing unused dependencies 2015-11-03 18:33:52 -05:00
Yotam Mann
93993846ee updating to new Gain / Volume API 2015-11-01 17:49:53 -05:00
Yotam Mann
99769ca927 volume doens't extend Gain 2015-11-01 17:49:33 -05:00
Yotam Mann
92a418af1e converts to destination units when connected 2015-10-21 12:12:35 -04:00
Yotam Mann
61fb1df660 adding strict mode 2015-10-21 12:11:19 -04:00
Yotam Mann
666d2f230a EQ3 using new Gain 2015-10-21 10:54:33 -04:00
Yotam Mann
b73a8cb71f updating to new Param class 2015-10-21 10:34:37 -04:00
Yotam Mann
1c00c650db updating to new Volume API 2015-10-21 10:33:13 -04:00
Yotam Mann
257b480535 Volume extends Gain 2015-10-21 10:30:21 -04:00
Yotam Mann
b061b81983 can get state of LFO 2015-10-20 17:30:20 -04:00
Yotam Mann
2f27321dda fixing doc description of analyser 2015-09-11 17:05:27 -04:00
Yotam Mann
eccdb659c2 renamed Tone/core/Types -> Tone/core/Type 2015-09-04 16:48:21 -04:00
Yotam Mann
9987af7a1d volume uses Tone.Gain 2015-08-31 16:59:36 -04:00
Yotam Mann
a2611941ea accepts options object 2015-08-28 18:32:32 -04:00
Yotam Mann
54c14e1f96 default values and per channel clipping indication 2015-08-28 18:32:20 -04:00
Yotam Mann
48b38d0de9 can be constructed through an options object 2015-08-27 23:08:58 -04:00
Yotam Mann
61d0e1bbda lfo outputs signal while stopped 2015-08-27 23:03:42 -04:00
Yotam Mann
80abf87292 reflecting rename 2015-08-18 16:29:39 -04:00
Yotam Mann
66a9991ede Envelope uses new SchedulableSignal 2015-08-16 15:17:35 -04:00
Yotam Mann
47dd0e2f45 amplitude envelope uses new Gain 2015-08-16 15:15:10 -04:00
Yotam Mann
d36af98c46 filter rolloff goes up to -96 now
because why not? Also accepts a string as the type. fixes #84.
2015-08-12 13:13:04 -04:00
Yotam Mann
5773944f88 fft and waveform analyser 2015-08-10 14:40:20 -04:00
Yotam Mann
17f5e8bb8e delays are offset only 1 block now. 2015-07-21 11:22:36 -04:00
Yotam Mann
24f1ddf4b9 Offset 'now' one block (128 samples) when triggering attack/release
Fixes #79
2015-07-21 10:31:37 -04:00
Yotam Mann
7eead0913b ramp to a smaller value
addresses #79
2015-07-20 10:47:52 -04:00
Yotam Mann
01060f13db removing old API test 2015-07-18 14:59:18 -04:00
Yotam Mann
3ccc0683bf changing doc links to markdown style 2015-07-04 15:25:37 -04:00
Yotam Mann
00e0ba7273 read envelope value 2015-07-04 13:36:38 -04:00
Yotam Mann
64212d90f3 doc'ing components
merging seth's doc changes
2015-07-04 12:32:18 -04:00
Seth Kranzler
d599761f2e more doc'ing 2015-07-02 15:45:40 -04:00
Seth Kranzler
12c56011b6 doc'ing components 2015-07-01 20:19:58 -04:00
Seth Kranzler
faf289bdd6 Effects, mic, Noise, Omniosc, and AmplitudeEnvelope docs updated 2015-07-01 17:44:30 -04:00
Yotam Mann
5ea8eaa35d doc'ing components 2015-06-20 19:25:49 -04:00
Yotam Mann
4e9cb3ce1e doc'ing 2015-06-20 15:50:57 -04:00
Yotam Mann
bd7e4fd76a doc'ing components 2015-06-14 01:09:06 -04:00
Yotam Mann
b2fa7a065e jsdocing 2015-06-13 23:56:32 -04:00
Yotam Mann
23cc2408b2 changing link tag 2015-06-13 21:54:20 -04:00
Yotam Mann
20ad29dc61 removing types from array notation 2015-06-13 20:56:41 -04:00
Yotam Mann
a81ba071f3 changing the styling of this in return statements 2015-06-13 20:54:29 -04:00
Yotam Mann
571183bf27 removing Tone.Type prefix in docs 2015-06-13 20:20:36 -04:00
Yotam Mann
f2f838b630 using signal jsdoc 2015-06-13 19:50:39 -04:00
Yotam Mann
07264eb05b signal jsdocing 2015-06-13 19:29:25 -04:00
Yotam Mann
37286c3d23 better rolloff validation. 2015-06-07 12:57:50 -04:00
Yotam Mann
3bf65cddb3 type annotation 2015-06-07 12:09:08 -04:00
Yotam Mann
b3f7babcca respelling the enum types 2015-05-24 09:53:53 -04:00
Yotam Mann
68a47a9d58 Normal->NormalRange & Number->Default 2015-05-24 09:45:15 -04:00
Yotam Mann
1f69151c5f renamed Tone.Frequency -> Tone.Type.Frequency 2015-05-23 19:07:28 -04:00
Yotam Mann
6ef3dd2f51 renamed Tone.Time -> Tone.Type.Time 2015-05-23 19:01:05 -04:00
Yotam Mann
f0bcd68812 renamed Tone.Signal.Units to Tone.Type
also renamed Tone.Source.State to Tone.State
2015-05-23 18:57:05 -04:00
Yotam Mann
fdf8da421c gain gets the default value 2015-05-23 18:16:14 -04:00
Yotam Mann
dbf992d195 LFO takes on unit values
it also starts at min value instead of jumping to the middle value on
start
2015-05-23 18:15:19 -04:00
Yotam Mann
0667feae49 removing unneeded connections 2015-05-22 10:13:05 -04:00
Yotam Mann
dfc04af754 adding Q control to Multiband split 2015-05-22 10:12:50 -04:00
Yotam Mann
e2ed3b4350 volume is first parameter of constructor 2015-05-21 13:52:06 -04:00
Yotam Mann
b7864d1c4d correctly sets resonance and dampening
it was set at 0 before, making it silent.
2015-05-13 12:13:25 -04:00
Yotam Mann
2e36740b9b fixing deps 2015-05-05 16:40:58 -04:00
Yotam Mann
a2f4a3595b jsdoc'ing 2015-05-05 16:40:52 -04:00
Yotam Mann
274bab6336 removing Tone.Stereo
changing the `channelCountMode` is much simpler.
2015-04-28 14:42:40 -04:00
Yotam Mann
1be27628c4 simplifying comb filters
128 samples is defined in the spec as the block size and minimum delay
time for cyclic delayNodes. this makes it unnecessary to string
together multiple delays for small delay times.
2015-04-24 17:44:10 -04:00
Yotam Mann
f7c6c1cd95 slimming down compressor code 2015-04-24 13:13:20 -04:00
Yotam Mann
0ff1962d51 MidSideCompressor 2015-04-20 15:41:49 -04:00
Yotam Mann
8ad222d94f MidSide Split and Merge components 2015-04-20 15:41:30 -04:00
Yotam Mann
bbdeffb7f7 attackType -> attackCurve 2015-04-20 10:42:27 -04:00