Commit graph

413 commits

Author SHA1 Message Date
Yotam Mann
b3e9ec173a added detune for AM/FM synths 2016-05-14 20:10:31 -04:00
Yotam Mann
cdebaeedf5 Can pass in an array of durations into triggerAttackRelease
Fixes #135
2016-05-14 19:55:51 -04:00
Yotam Mann
733b49bcd5 using new types 2016-04-18 00:36:08 -04:00
Yotam Mann
3f6580b843 simplifying NoiseSynth
removing filer and filterEnvelope
2016-04-18 00:28:39 -04:00
Yotam Mann
278aace787 setting a reasonable max voice count 2016-03-03 13:01:11 -05:00
Yotam Mann
64dbebeb67 triggers oldest note
no more control over retriggering.
2016-02-08 13:44:49 -05:00
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