Commit graph

357 commits

Author SHA1 Message Date
Yotam Mann
4a9f39a62b keeps track of release times
so it’s able to trigger the voice that has already been release, or
retrigger the oldest voice (if stealVoices) is true.
2016-02-08 13:44:49 -05:00
Yotam Mann
46919e7c86 Simplifying the API of FMSynth and AMSynth
uses SimpleSynth instead of MonoSynth. API more flat.
2016-01-30 15:53:40 -05:00
Yotam Mann
2f4d6d07cd DrumSynth->MembraneSynth & CymbalSynth->MetalSynth 2016-01-30 15:48:32 -05:00
Yotam Mann
d5499f64f8 CymbalSynth synthesizes spectrally complex, metallic sounds 2016-01-19 10:02:46 -05:00
Yotam Mann
b3e08a4c02 removed instrument presets 2015-12-07 21:32:28 -05:00
Yotam Mann
2664140ab0 implementing filterEnvelope with Tone.FrequencyEnvelope 2015-12-07 00:39:39 -05:00
Yotam Mann
9d3b5947fd Reverting to non-signal playbackRate
because Safari isn’t there yet with signal-rate playbackRate
2015-12-06 13:14:36 -05:00
Yotam Mann
8bcf318271 updating to new playbackRate API 2015-11-26 08:21:38 -08:00
Yotam Mann
c8cfe33864 doc'ing 2015-11-17 22:52:22 -05:00
Yotam Mann
42dadb6d2d using Emitter style for load/progress/error
The new syntax is `Tone.Buffer.on(“load”, callback);`
2015-11-11 12:33:02 -05:00
Yotam Mann
8e5dd56906 removing unused dependencies 2015-11-03 18:33:52 -05:00
Yotam Mann
f1be71c0c2 updating to new Volume API 2015-11-02 20:08:53 -05:00
Yotam Mann
4a2bd215e7 using new type checking methods 2015-10-21 13:13:15 -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
c98303331f clarifying Monophonic comment
Addresses #98
2015-10-13 10:37:21 -04:00
Yotam Mann
eccdb659c2 renamed Tone/core/Types -> Tone/core/Type 2015-09-04 16:48:21 -04:00
Yotam Mann
24e9408b6e using Tone.Volume in instrument 2015-09-03 11:05:05 -04:00
Yotam Mann
4e18bb744d fixing typo 2015-08-31 11:37:19 -04:00
Yotam Mann
5c99025e25 release all the currently played notes
boolean to steal voices or not
2015-08-16 15:17:20 -04:00
Yotam Mann
b71e577d4a removing old note dependency 2015-08-01 00:59:30 -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
928f2c3168 pass options object to Instrument base class 2015-07-04 13:36:22 -04:00
Yotam Mann
caddec650f doc'ing sources
mergine @polyrhythmatic changes
2015-07-04 12:43:21 -04:00
Yotam Mann
17c6bf3661 note attack parameter is a Frequency type 2015-07-02 13:11:44 -04:00
Yotam Mann
2bdd2eccce can set volume initially on instruments 2015-06-27 17:25:47 -04:00
Yotam Mann
47a354c9ce fixed typo in description 2015-06-27 17:25:32 -04:00
Yotam Mann
e0b6ec48ad fixed refactor bug 2015-06-26 01:21:59 -04:00
Yotam Mann
0757b580b7 adjusting defaults 2015-06-26 01:21:49 -04:00
Yotam Mann
0457def366 updating instrument images 2015-06-22 01:20:20 -04:00
Yotam Mann
cedc2040e8 doc'ing instruments 2015-06-20 18:03:49 -04:00
Yotam Mann
4e9cb3ce1e doc'ing 2015-06-20 15:50:57 -04:00
Yotam Mann
90b5ee3844 instrument examples 2015-06-15 22:36:20 -04:00
Yotam Mann
6306841779 doc'ing 2015-06-15 11:27:13 -04:00
Yotam Mann
80a28f8554 using noOp function for defaults 2015-06-14 01:54:36 -04:00
Yotam Mann
d22e00d6ba write protection on harmonicity and modulation index 2015-06-14 00:54:51 -04:00
Yotam Mann
f2a244a960 doc'ing instruments 2015-06-14 00:32:17 -04:00
Yotam Mann
216ed6e472 instrument jsdoc'ing 2015-06-13 23:15:57 -04:00
Yotam Mann
8b7b4ab3f3 making envelope attack/release method private 2015-06-13 22:47:07 -04:00
Yotam Mann
58573b15c1 harmonically as a signal value 2015-06-13 22:30:53 -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
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
17e76b0642 3 new Simplified Synths 2015-05-23 18:26:16 -04:00
Yotam Mann
17143cf777 Tone.Frequency type 2015-05-23 18:16:53 -04:00
Yotam Mann
176ddcb52b Instrument default value 2015-05-23 18:16:34 -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
0b00db3ec6 defaults 2015-05-12 23:48:13 -04:00
Yotam Mann
632c22b9e5 set PolySynth with rampTime 2015-04-24 19:34:26 -04:00
Yotam Mann
295901e383 new LowpassCombFilter interface 2015-04-24 17:45:03 -04:00
Yotam Mann
8fed8ee52b DrumSynth instrument 2015-04-20 10:39:47 -04:00
Yotam Mann
8e69627ad1 making attributes readOnly 2015-04-18 10:54:08 -04:00
Yotam Mann
ec2bd15ee1 can reverse buffer playback 2015-03-26 10:51:44 -04:00
Yotam Mann
b093dd4d73 deleting deprecated classes 2015-03-26 10:50:48 -04:00
Yotam Mann
28a86eeba1 removed console log 2015-03-12 17:45:00 -04:00
Yotam Mann
b796d3ef1e more presets 2015-03-03 11:19:53 -05:00
Yotam Mann
d609f8e266 jsdoc'ing instruments 2015-02-27 23:24:51 -05:00
Yotam Mann
97c6395a3f Sampler regtriggers by default 2015-02-24 12:02:56 -05:00
Yotam Mann
c7cf0d0823 setting a preset moved to core 2015-02-23 00:32:33 -05:00
Yotam Mann
af855b3f55 player does not retrigger by default 2015-02-20 01:01:03 -05:00
Yotam Mann
46b03f2180 forward arguments to voice constructor 2015-02-20 01:00:32 -05:00
Yotam Mann
da2c77acd2 added pitch parameter 2015-02-10 16:33:37 -05:00
Yotam Mann
9e9321e936 ES5 getter/setter on instruments 2015-02-10 11:40:04 -05:00
Yotam Mann
5e9a3981e0 instrument methods return this 2015-02-02 13:30:36 -05:00
Yotam Mann
8a9f5a9ce9 updating docs 2015-02-01 13:32:02 -05:00
Yotam Mann
2e15f03490 Revert Tone.Volume representation 2015-01-05 23:33:05 -05:00
Yotam Mann
a60ec836db migrating to Tone.Volume representation 2015-01-05 22:46:19 -05:00
Yotam Mann
b825e55385 deprecating Tone.MultiSampler 2015-01-05 21:49:56 -05:00
Yotam Mann
f986b32849 Sampler can load many samples
choose which sample plays in the triggerAttack method
2015-01-05 21:48:03 -05:00
Yotam Mann
9ed92b7af0 removing unneeded disposes 2014-12-19 16:33:43 -05:00
Yotam Mann
6ddf1b372f single 'setVolume' definition in Master 2014-12-19 16:27:50 -05:00
Yotam Mann
202c84c0ec making voices public 2014-12-08 11:03:20 -05:00
Yotam Mann
ba445538f2 using AudioToGain instead of Expr 2014-12-08 11:03:10 -05:00
Yotam Mann
f7a14f2b37 all frequency values accept a note name as well 2014-12-06 16:48:36 -05:00
Yotam Mann
cd31d02048 jsdoc'ing 2014-12-03 21:38:24 -05:00
Yotam Mann
db544d20c4 using markdown instead of example tag 2014-12-03 17:25:34 -05:00
Yotam Mann
2d0bcffc9f adding defaults to jsdocs 2014-12-02 01:42:08 -05:00
Yotam Mann
25496dea77 switched to updated chain method 2014-11-30 21:32:09 -05:00
Yotam Mann
152f0cdda5 using updated fan method 2014-11-30 21:20:12 -05:00
Yotam Mann
cf2cb263b2 chain -> connectSeries, fan -> connectParallel 2014-11-30 17:37:29 -05:00
Yotam Mann
597d07510e NoiseSynth added triggerAttackRelease 2014-11-30 14:53:54 -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
4948fde652 the filter envelope is not optional
#41
2014-11-11 15:24:34 -05:00
Yotam Mann
13f091e43e Using ScaledEnvelope for filter envelope 2014-11-04 00:44:59 -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
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
ba7ead9581 Envelope -> AmplitudeEnvelope in MonoSynth 2014-10-28 14:51:22 -04:00
Yotam Mann
e28f77a683 PolySynth accepts an array of notes for attack/release 2014-10-19 16:17:40 -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
Yotam Mann
bb17651349 MultiSampler accepts the sample names as numbers 2014-10-02 13:16:17 -04:00
Yotam Mann
ff57f046f3 synths use OmniOscillator 2014-09-30 22:49:48 -04:00
Yotam Mann
f5ff008170 changing Oscillator JSON description 2014-09-30 22:49:17 -04:00
Yotam Mann
be4f132aef changed load to unload in Sampler 2014-09-30 00:29:02 -04:00
Yotam Mann
c569670689 setters on the PluckSynth 2014-09-24 23:43:44 -04:00
Yotam Mann
e0228e38d8 jsdoc tweaks 2014-09-23 22:07:16 -04:00
Yotam Mann
4f3cca312f instrument has Note as a dep 2014-09-20 19:24:12 -04:00
Yotam Mann
817a7a7d40 extends Instrument 2014-09-20 19:24:04 -04:00
Yotam Mann
d42cf9d698 filled out dispose method 2014-09-20 19:23:41 -04:00
Yotam Mann
198678d06b Monophonic extends Instrument 2014-09-20 19:23:28 -04:00
Yotam Mann
39f5e808f6 MultiSampler uses new Sampler interface
also extends Instrument
2014-09-20 18:58:02 -04:00
Yotam Mann
5059786389 Sampler extends Instrument 2014-09-20 18:57:44 -04:00
Yotam Mann
d6a2991526 Sampler attack accepts a note value in semitones
also using AmplitudeEnvelope.
2014-09-20 18:47:07 -04:00
Yotam Mann
1306d45884 PluckSynth uses LowpassCombFilter 2014-09-20 18:06:52 -04:00
Yotam Mann
760c397bfd new class LowpassCombFilter 2014-09-20 18:06:41 -04:00
Yotam Mann
d9fa029569 Karplus-Strong first commit 2014-09-17 00:21:04 -04:00
Yotam Mann
65b0b5c660 Instrument base-class 2014-09-17 00:19:30 -04:00
Yotam Mann
b27cebda3b disposing of amplitude 2014-09-14 15:34:27 -04:00
Yotam Mann
1d20c32bba small default change 2014-09-11 20:36:17 -04:00
Yotam Mann
0ea25ec615 triggerAttackRelease 2014-09-11 20:36:07 -04:00
Yotam Mann
f51f7370a4 moved note stuff to Tone.Note 2014-09-11 13:00:09 -04:00
Yotam Mann
cc95ee6caf instrument tests
fixed dispose methods bc of tests.
2014-09-09 15:30:36 -04:00
Yotam Mann
894ced3755 fixed polysynth velocity bug 2014-09-09 12:58:07 -04:00
Yotam Mann
c3cb6af859 added setPreset to PolySynth 2014-09-09 00:40:25 -04:00
Yotam Mann
cca2d84387 renamed Rego to Unicorn 2014-09-06 18:09:25 -04:00
Yotam Mann
0b4c8f6037 removed unneeded default value 2014-09-06 15:56:23 -04:00
Yotam Mann
d71f1cb5b7 jsdocs updates. 2014-09-05 11:32:35 -04:00
Yotam Mann
ef90be0e95 preset setting in Monophonic class 2014-09-04 19:14:11 -04:00
Yotam Mann
042343bfd7 put presets in the prototype 2014-09-04 19:13:55 -04:00
Yotam Mann
2c414097a8 fixed jsdoc tag 2014-09-04 14:04:58 -04:00
Yotam Mann
af85ae7e19 Added "use strict" to all classes
Fixes #17
2014-09-04 00:41:40 -04:00
Yotam Mann
936424b356 parse the frequency from a note 2014-09-03 22:35:38 -04:00
Yotam Mann
338f0f683c same function signature as Monophonics 2014-09-03 22:35:27 -04:00
Yotam Mann
0c0543db0b fixed Sampler/MultiSampler bugs 2014-09-03 22:35:03 -04:00
Yotam Mann
71b475de60 monophonic instruments extend a base class 2014-09-03 19:05:09 -04:00
Yotam Mann
fbb7345f72 exponential release proved too difficult
couldn’t set values in the future. now using setTargetAtTime for all
envelopes
2014-09-03 17:31:29 -04:00
Yotam Mann
02ffa25555 FM Synth with example
Fixes #26
2014-09-03 14:54:46 -04:00
Yotam Mann
0ba1224541 renamed voiceRatio -> harmonicity 2014-09-03 14:53:05 -04:00
Yotam Mann
8fc8505c43 updated presets 2014-09-02 17:10:33 -04:00
Yotam Mann
aa45c4402c DuoSynth example first commit 2014-09-02 16:57:46 -04:00
Yotam Mann
70c27c7c89 a couple more presets 2014-09-02 12:11:25 -04:00
Yotam Mann
e6a15f8f7a removed unison controls 2014-09-02 12:10:43 -04:00
Yotam Mann
0bb2dcff80 Some MonoSynth presets 2014-09-02 00:26:34 -04:00
Yotam Mann
ba29f3b2c4 MonoSynth Example 2014-09-02 00:25:38 -04:00
Yotam Mann
e783e87834 borrows setVolume from Tone.Source 2014-08-25 21:47:58 -04:00
Yotam Mann
4567298b00 small ramp on vibrato delay 2014-08-25 21:47:45 -04:00
Yotam Mann
aa893180c0 Tone.DuoSynth first commit 2014-08-25 21:34:09 -04:00
Yotam Mann
f0d99afc16 added detune
this is separate from unison detuning
2014-08-25 21:19:18 -04:00
Yotam Mann
95c6e13995 first PolySynth version 2014-08-25 13:26:26 -04:00
Yotam Mann
8b316762eb _defaults -> defaults
made it not private
2014-08-25 10:23:37 -04:00
Yotam Mann
43206cbf29 ability to take options object AND parameters 2014-08-24 19:28:42 -04:00
Yotam Mann
6e2ba460d2 change default detune 2014-08-24 17:48:39 -04:00
Yotam Mann
e3973aeead started MonoSynth.preset 2014-08-24 13:06:45 -04:00
Yotam Mann
3afd45f987 has 'set' interface
#16
2014-08-24 12:26:04 -04:00
Yotam Mann
e4ae6afb32 set interface for all internal Tone.Samplers 2014-08-24 12:20:16 -04:00
Yotam Mann
534b23f5cd accepts options object
uses Tone.Filter internally
2014-08-24 12:19:25 -04:00
Yotam Mann
2f46a0f50a fire version of MonoSynth 2014-08-21 00:59:11 -04:00
Yotam Mann
8425b1bd4d updated description 2014-08-20 17:09:13 -04:00
Yotam Mann
535ef8133b Sampler and MultiSampler instruments 2014-08-20 16:52:14 -04:00
Yotam Mann
55f4ab5120 purged half-finished or unnecessary stuff 2014-06-23 00:53:35 -04:00
Yotam Mann
7fe5c47b8a major rename. sorry again. 2014-04-06 16:51:30 -04:00