Commit graph

2528 commits

Author SHA1 Message Date
Yotam Mann
fe6aea9641 polysynth always has at least one voice 2019-10-13 22:40:57 -04:00
Yotam Mann
e1a1552bcf exporting analysis classes 2019-10-13 21:11:44 -04:00
Yotam Mann
032808dd2a ensure that partialsCount is never below 0 2019-10-13 15:05:41 -04:00
Yotam Mann
3a89459916 more sensible default 2019-10-11 18:59:43 -04:00
Yotam Mann
3f53201906 noting range 2019-10-11 18:58:56 -04:00
Yotam Mann
2dab77c7a8 updating partialCount when partials is set 2019-10-09 17:32:37 -04:00
Yotam Mann
2753d3756b the partials length is controllable by the partialCount 2019-10-09 17:06:57 -04:00
Yotam Mann
54059825ae set the partials from the cache as well 2019-10-09 15:21:02 -04:00
Yotam Mann
47642ba51d using floating point comparison 2019-10-09 13:00:16 -04:00
Yotam Mann
0f9bac5101 making it possible to have a release of time 0 2019-10-09 12:54:14 -04:00
Yotam Mann
b3875697b6 fixing path 2019-10-09 12:46:00 -04:00
Yotam Mann
682d263819 Wrapping properties to be able to test range before assignment
throw errors at time of assignment
2019-10-09 12:41:51 -04:00
Yotam Mann
f753aef015 Adding range test 2019-10-09 12:38:10 -04:00
Yotam Mann
3323a7574e using the sig output instead of the destination
since some envelopes are silent
2019-10-09 10:06:17 -04:00
Yotam Mann
fc5b6f7c46 feat: Render a segment of the envelope as an array 2019-10-08 19:23:21 -04:00
Yotam Mann
9ad519ea10 feat: Get an oscillator wave as an array 2019-10-08 19:22:59 -04:00
Yotam Mann
2935f6567d exporting NoiseSynth 2019-10-07 17:02:41 -04:00
Yotam Mann
1668decf70 feat: Convolver is just a wrapper around the ConvolverNode, no longer an effect
a more basic wrapper around the ConvolverNode which unlike the Convolver effect, does not have a dry/wet knob
2019-10-07 15:37:07 -04:00
Yotam Mann
34f731bf7b testing being constructed with different voices 2019-10-07 15:01:22 -04:00
Yotam Mann
6ba7fb7fb3 including FMSynth in PolySynth 2019-10-07 13:57:09 -04:00
Yotam Mann
10469ba924 only dispose when things are in the only AudioContext
otherwise it leads to silence

addresses #551
2019-10-04 12:04:53 -04:00
Yotam Mann
467cc48c8c adding isOffline flag
helpful for some behaviors which only occur in the online AudioContext
2019-10-04 11:51:52 -04:00
Yotam Mann
889dafa45e feat: OfflineContext returns a ToneAudioBuffer
instead of an AudioBuffer
2019-10-03 18:03:21 -04:00
Yotam Mann
e98545a852 removing js file 2019-10-03 17:34:18 -04:00
Yotam Mann
70d11f4b1a Don't dispose the synth in the offline context 2019-10-03 17:34:06 -04:00
Yotam Mann
81887b91a3 refactor: initialize Context when getting destination or transport 2019-10-03 17:33:39 -04:00
Yotam Mann
11544708fc feat: OfflineContext yields thread every second of audio rendered
so that it doesn't block the thread.

fixes #436
2019-10-03 17:29:30 -04:00
Yotam Mann
92816c3bc2 increasing test threshold 2019-09-30 16:54:40 -04:00
Yotam Mann
7f090a3c4d Merge branch 'pr/546' into typescript 2019-09-30 16:48:55 -04:00
Yotam Mann
13f2a6af68 getting all tests to pass 2019-09-30 16:48:39 -04:00
Yotam Mann
f6a17b878f removing unnecessary assignment 2019-09-29 17:26:11 -04:00
Yotam Mann
a2153571c2 types: correcting typing 2019-09-29 17:25:55 -04:00
Yotam Mann
04405afd84 feat: Adding triggerRelease to PluckSynth
works by ramping the resonance down over the 'release' duration
2019-09-29 17:25:31 -04:00
Yotam Mann
18b90a00a2 changing var name and using 'swappable' property 2019-09-29 13:05:51 -04:00
Yotam Mann
c155d716ac removing logging 2019-09-29 13:05:25 -04:00
Yotam Mann
1a2d82f33b only mark certain Params as swappable 2019-09-29 12:20:54 -04:00
Yotam Mann
5f41b0bc76 assert that there is a device 2019-09-29 10:35:46 -04:00
Yotam Mann
b379a20b6d Using GainNode instead of gain
fixes #299
2019-09-29 10:30:57 -04:00
Yotam Mann
410098c075 removing old js file 2019-09-29 10:25:47 -04:00
Yotam Mann
13f08f8dc7 clarifying docs 2019-09-29 10:19:56 -04:00
Yotam Mann
f86f940987 adding categories 2019-09-29 10:19:35 -04:00
Yotam Mann
eb7b14fdc8 fixing docs 2019-09-29 10:19:08 -04:00
Yotam Mann
d88de11cfe converting Follower to typescript 2019-09-27 18:22:11 -04:00
Yotam Mann
7c3582bea3 refactor: implementing FeedbackCombFilter with AudioWorkletNode
handles sub 128 sample feedback
2019-09-27 17:58:04 -04:00
Yotam Mann
4eb05a1ec0 using promise response instead of done() 2019-09-27 17:57:19 -04:00
Yotam Mann
726fb26f80 exporting comb filters 2019-09-27 17:55:31 -04:00
Yotam Mann
2ee8cb1a52 feat: Wrapper around the AudioWorkletNode 2019-09-27 17:55:09 -04:00
Yotam Mann
23ca0f9688 feat: Can set the parameter after constructing Param
used in the new ToneAudioWorklet node
2019-09-27 17:53:42 -04:00
Yotam Mann
f7bdd7528f feat: adding AudioWorkletNode constructors to Context 2019-09-27 17:52:37 -04:00
Yotam Mann
9eb395509c style: using javascript string template interpreter for vscode 2019-09-27 17:50:49 -04:00