github Tonejs/Tone.js r6

latest releases: 14.7.39, 13.8.25, 13.8.24...
8 years ago

Big changes are the new event classes: Tone.Event, Tone.Loop, Tone.Part, Tone.Sequence, and Tone.Pattern. These simplify interacting with the Transport.schedule (formerly Transport.setTimeline). They allow you to more easily schedule loopable, schedulable, and modifiable events along the Transport's timeline.

All Changes:

  • Added PitchShift and Vibrato Effect.
  • Added Timeline/TimelineState/TimelineSignal which keeps track of all scheduled state changes.
  • Clock uses requestAnimationFrame instead of ScriptProcessorNode
  • Removed onended event from Tone.Source
  • Refactored tests into individual files.
  • Renamed some Signal methods: exponentialRampToValueNow->exponentialRampToValue, setCurrentValueNow->setRampPoint
  • LFO no longer starts at bottom of cycle. Starts at whatever phase it's set at.
  • Transport is an event emitter. triggers events on "start", "stop", "pause", and "loop".
  • Oscillator accepts a "partials" array.
  • Microphone inherits from ExternalInput which is generalized for different inputs.
  • New scheduling methods on Transport - schedule, scheduleOnce, and scheduleRepeat.
  • Tone.Gain and Tone.Delay classes wrap the native Web Audio nodes.
  • Moved MidiToScore and TypeScript definitions to separate repos.
  • Tone.Param wraps the native AudioParam and allows for unit conversion.
  • Quantization with Transport.quantize and using "@" in any Time. Read more.
  • Control-rate generators for value interpolation, patterns, random numbers, and markov chains.
  • Scheduable musical events: Tone.Event, Tone.Loop, Tone.Part, Tone.Pattern, Tone.Sequence.
  • Player's playbackRate is now a signal and Noise includes a playbackRate signal.
  • All filterEnvelopes use new Tone.FrequencyEnvelope with frequency units and baseFrequency and octaves instead of min and max.
  • Phaser uses "octaves" instead of "depth" to be more consistent across the whole Tone.js API.
  • Presets now have their own repo

DEPRECATED:

  • setTimeout, setInterval, setTimeline in favor of new schedule, scheduleOnce, and scheduleRepeat.
  • Tone.Signal no longer takes an AudioParam in the first argument. Use Tone.Param instead.
  • Tone.Buffer.onload/onprogress/onerror is deprecated. Use Tone.Buffer.on("load", callback) instead.

Don't miss a new Tone.js release

NewReleases is sending notifications on new releases.