Yotam Mann
b0f11dfa5b
granular synthesis player
2016-07-05 20:32:53 -04:00
Yotam Mann
1ba3733439
interval is exclusive of end point
...
specifically the repeat time is: [start, start + duration).
so Transport.scheduleRepeat(fn, 1, 0, 2) will repeat twice, not three
times (since it’s exclusive of the end time).
2016-06-22 16:39:48 -04:00
Yotam Mann
20f8adebba
adjust PWM scaling so it doesn't go silent
2016-06-17 14:02:24 -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
49c401e6d8
calling stop when duration is given.
...
making sure to assign _startTime using it.
2016-06-17 11:32:34 -04:00
Yotam Mann
3dece40ac6
disposing of volume
2016-06-17 10:54:35 -04:00
Yotam Mann
a2000bf42b
adding volume and mute controls
2016-06-17 10:43:30 -04:00
Yotam Mann
89636d40ef
ramping from current gain value
2016-06-17 10:43:06 -04:00
Yotam Mann
c70ab5d07a
using fadeOut when duration is set
2016-06-16 17:30:46 -04:00
Yotam Mann
74ebee4bfe
MultiPlayer keeps track of all the BufferSources it's played
2016-06-15 00:48:55 -04:00
Yotam Mann
f1e6c154e0
using linear ramping instead (sounds pretty much the same)
...
also compensating for the fade time when there is a passed in
duration.
2016-06-14 23:48:25 -04:00
Yotam Mann
ac0851b4c8
ensure onended
callback is not invoked after disposing
2016-06-14 21:08:30 -04:00
Yotam Mann
1efc061ebd
explicitly stop the AudioBufferSource when duration is given
2016-06-14 20:43:26 -04:00
Yotam Mann
96644f37d2
Adjusting the timing of the tests
...
also using wav’s instead of mp3s
2016-06-14 20:27:12 -04:00
Yotam Mann
693867f9be
Revert "encoding the URI"
...
This reverts commit 754e9fc500
.
2016-06-14 20:04:28 -04:00
Yotam Mann
e0edb67a75
Wrapper around the basic AudioBufferSourceNode
2016-06-14 19:57:46 -04:00
Yotam Mann
754e9fc500
encoding the URI
2016-06-14 19:57:15 -04:00
Yotam Mann
5978d46825
Buffers is a data structure for holding multiple Tone.Buffer
2016-06-14 19:57:01 -04:00
Yotam Mann
238cf0caa4
randomizing the noise offset
...
this should make two noises played starting at the same time slightly
different.
2016-06-14 19:56:18 -04:00
Yotam Mann
cce32d7efc
IntervalTimeline.forEachOverlap -> forEachAtTime
2016-06-13 09:02:51 -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
aae52e3fa1
default PolySynth voice is Tone.Synth
...
instead of Tone.MonoSynth
2016-05-23 19:56:15 -04:00
Yotam Mann
49fc9d7bb6
renamed SimpleSynth to Tone.Synth
2016-05-23 19:49:41 -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
29df1b2293
setValueCurveAtTime now implemented with a series of linearRampToValue
...
this is more cross-platform and easier to work with.
2016-05-23 19:19:06 -04:00
Yotam Mann
3b9b65bf89
adding additional startTime value to rampTo
2016-05-17 21:59:27 -04:00
Yotam Mann
9528238873
computing rms from the analyser waveform data
2016-05-17 21:26:57 -04:00
Yotam Mann
6060b397ad
added detune to PolySynth
...
applied when available.
2016-05-14 20:49:55 -04:00
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
8e3d3264dd
setting a value will cancel scheduled values
...
so that it gets set immediately.
2016-05-14 19:18:33 -04:00
Yotam Mann
58a1223a9a
meter uses the analyser node
...
no more ScriptProcessorNodes
2016-05-14 19:13:50 -04:00
Yotam Mann
2db3265fb9
needs to cancel at 0 for some reason to take effect in Chrome
2016-05-14 18:57:18 -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
b02a13ab08
not using Math.log2 (since it's not supported across all browsers yet)
2016-05-14 17:00:57 -04:00
Yotam Mann
c83c70d11c
cancels scheduling when setting a value with .value
...
this makes the behavior consistent between Webkit and FF
2016-05-14 16:52:58 -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
af1a737f71
simplifying position
code to use TransportTime
2016-05-14 16:32:16 -04:00
Yotam Mann
6c77c60469
ensures addNow can only be called once
2016-05-14 16:31:35 -04:00
Yotam Mann
1d9e43f33a
handles math operations correctly now
2016-05-14 16:27:55 -04:00
Yotam Mann
5d6f1806c1
Making the Analyser a passthrough node.
2016-04-25 18:05:15 -04:00
Yotam Mann
688e3812ab
removing old types
2016-04-18 02:19:29 -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
b1d0d33f1b
can accept time as the value
2016-04-18 02:05:54 -04:00
Yotam Mann
1e7773ae6a
using new Timing primitives
2016-04-18 02:05:04 -04:00
Yotam Mann
16c28892c8
using Time instead of TransportTime
2016-04-18 01:12:55 -04:00