Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: Tonejs/Tone.js

14.7.39

29 Jul 16:15
@tambien tambien

Choose a tag to compare

14.7.x

Features

  • Converted to typescript!!!
  • adding AudioWorkletNode constructors to Context (f7bdd75)
  • adding ability to get the frequency at the FFT index (22cecdc)
  • adding AudioWorkletNode constructors to Context (f7bdd75)
  • adding BiquadFilter (75617d3), closes #686
  • adding linting to jsdocs (10ef513)
  • adding send/receive to Channel (703f27a)
  • Adding triggerRelease to PluckSynth (04405af)
  • Can set the parameter after constructing Param (23ca0f9)
  • adding onerror to Sampler (7236600), closes #605
  • Chorus extends StereoFeedbackEffect (a28f1af), closes #575
  • Convolver is just a wrapper around the ConvolverNode, no longer an effect (1668dec)
  • Get an oscillator wave as an array (9ad519e)
  • OfflineContext returns a ToneAudioBuffer (889dafa)
  • OfflineContext yields thread every second of audio rendered (1154470), closes #436
  • Renaming TransportTimelineSignal to SyncedSignal (86853fb)
  • es6 output (e5d28ba)
  • Render a segment of the envelope as an array (fc5b6f7)
  • testing examples in jsdocs (e306319)
  • Wrapper around the AudioWorkletNode (2ee8cb1)
  • Input/Outputs are no longer arrays.
    • simplifies connect/disconnect logic greatly. Simplifies API to just have clearly named inputs/outputs instead of overloading input/output connect numbers
  • Using "Destination" instead of "Master" for output
    • More consistent with Web Audio API
  • FrequencyShifter - thanks @Foaly
  • PolySynth does not require a polyphony value.
    • Voice allocation and disposing is done automatically based on demand.
  • MetalSynth and MembraneSynth extends Monophonic enabling them to be used in PolySynth
  • OnePoleFilter is a 6b-per-octave lowpass or highpass filter
    • Using OnePoleFilter in PluckSynth and LowpassCombFilter
  • latencyHint is now set in constructor (ba8e82b), closes #658
  • meter output can be normalRange in addition to decibels (2625a13)
  • option to pass in the number of input channels to Panner (d966735), closes #609

BREAKING CHANGES

  • TransportTimelineSignal renamed SyncedSignal
  • Master renamed Destination
  • Buffer renamed ToneAudioBuffer
  • Buffer.on("loaded") is should now use: Tone.loaded(): Promise<void>
  • Removing bower (71c8b3b), closes #197
  • Removing Ctrl classes (51d06bd)
Assets 4
Loading
ceelian, richard-unterberg, and mxfng reacted with heart emoji
3 people reacted

13.8.25

27 Aug 05:42
@tambien tambien

Choose a tag to compare

  • Moving to common.js-style code

Breaking Changes

  • AudioNode.prototype.connect is no longer overwritten. This means that you can no longer connect native nodes to Tone.js Nodes.
  • Tone.connect(srcNode, destNode, [ouputNum], [inputNum]) is the way to connect native Web Audio nodes with Tone.js nodes.
Loading

13.4.9

10 Jan 04:53
@tambien tambien

Choose a tag to compare

  • Updating semantic versioning to be more in line with other semvers. Now version is 13.x.x
  • logging full version
  • Added Object notation for Tone.TimeBase and classes that extend it.
    • i.e. Tone.Time({'4n' : 1, '8t' : 2})
    • Replacement for deprecated expression strings.
  • Tone.Meter uses RMS instead of peak (thanks @Idicious)
  • Tone.Sampler supports polyphonic syntax (thanks @zfan40)
  • Building files with webpack
  • Follower/Gate uses a single "smoothing" value instead of separate attacks and releases
  • Changing references to window allowing it to not throw error in node context
  • Testing examples
  • Tone.Channel combines Tone.PanVol with Tone.Solo.
  • Removing require.html example.
  • adding partialCount and baseType to Oscillator classes, helps with getting/setting complex types.
  • New examples with updated interface
  • Tone.start() to simplify resuming the AudioContext
Loading

r12

07 Apr 00:42
@tambien tambien

Choose a tag to compare

r12
  • Consolidating all shims into shim folder
  • Using ConstantSourceNode in Signal when available
  • switching to eslint from jshint
  • Running CI tests on Firefox, Chrome (latest and canary) and Safari (latest and version 9).
  • Tone.Reverb is a convolution-based stereo reverb. Example.
  • Optimizing basic Oscillator types and many Signal use-case
  • Optimizing basic connection use-case of Tone.Signal where one signal is controlling another signal
  • Testing rendered output against an existing audio file for continuity and consistency
  • Optimizing triggerAttack/Release by starting/stopping oscillators when not playing
  • TickSource (used in Clock and Player) tracks the elapsed ticks
    • Improved precision of tracking ticks in Transport and Clock
  • Player.position returns the playback position of the AudioBuffer accounting for any playbackRate changes
  • Removing retrigger option with Tone.Player. Tone.BufferSource should be used if retriggering is desired.

BREAKING CHANGES:

  • Tone.TimeBase and all classes that extend it not longer support string expressions.
    RATIONALE :
    * Since all classes implement valueOf, expressions can be composed in JS instead of as strings
    * e.g. Time('4n') * 2 + Time('3t') instead of Time('4n * 2 + 3t')
    * this change greatly simplifies the code and is more performant
Loading

r11

16 Sep 19:52
@tambien tambien

Choose a tag to compare

r11
Loading

r10

26 Mar 23:35
@tambien tambien

Choose a tag to compare

r10
  • Tone.Context wraps AudioContext
  • Tone.OfflineContext wraps OfflineAudioContext
  • Tone.Offline: method for rendering audio offline
  • Rewriting tests with Tone.Offline
  • Optimizing Tone.Draw to only loop when events are scheduled: #194
  • Time.eval->valueOf which takes advantage of build-in primitive evaluation #205
  • Offline example
Loading

r9

08 Jan 23:41
@tambien tambien

Choose a tag to compare

r9
  • Tone.Clock performance and lookAhead updates.
  • Tone.Transport.lookAhead = seconds|'playback'|'interactive'|'balanced'
  • Convolver.load and Player.load returns Promise
  • Tone.ExternalInput -> Tone.UserMedia, simplified API, open() returns Promise.
  • Tone.Draw for animation-frame synced drawing
  • Compressor Parameters are now Tone.Params
  • Bug fixes
Loading

r8

05 Oct 14:58
@tambien tambien

Choose a tag to compare

r8

Better Source syncing to the transport, 3D Audio Spatialization and temporary fix for bug in Chrome 53+.

CHANGELOG:

  • Transport.seconds returns the progress in seconds.
  • Buffer.from/toArray, Float32Array <-> Buffer conversions
  • Buffer.slice(start, end) slices and returns a subsection of the Buffer
  • Source.sync now syncs all subsequent calls to start and stop to the TransportTime instead of the AudioContext time.
    • e.g. source.sync().start(0).stop(0.8); //plays source between 0 and 0.8 of the Transport
  • Transport.on("start" / "stop") callbacks are invoked just before the event.
  • Param can accept an LFO description in the constructor or .value
    • e.g. param.value = {min : 10, max : 20, frequency : 0.4}
  • Time.TimeBase has clone/copy methods.
  • Tone.Buffer.prototype.load returns Promise
  • Using Tone.Delay and Tone.Gain everywhere
  • Patch for Chrome 53+ issue of not correctly scheduling AudioParams with setValueAtTime
  • Panner3D and Tone.Listener wrap native PannerNode and AudioListener to give 3D panning ability.
Loading

r7

07 Jul 22:16
@tambien tambien

Choose a tag to compare

r7
  • MetalSynth creates metalic, cymbal sounds
  • DrumSynth -> MembraneSynth
  • FMOscillator, AMOscillator types
  • FatOscillator creates multiple oscillators and detunes them slightly
  • FM, AM, Fat Oscillators incorporated into OmniOscillator
  • Simplified FM and AM Synths and APIs
  • Panner.pan is between -1,1 like the StereoPannerNode
  • Pruned away unused (or little used) Signal classes.
    • All this functionality will be available when the AudioWorkerNode is introduced.
  • Clock uses Web Workers instead of requestAnimationFrame which allows it to run in the background.
  • Removed startMobile. Using StartAudioContext in examples.
  • Automated test runner using Travis CI
  • Simplified NoiseSynth by removing filter and filter envelope.
  • Added new timing primitive types: Time, Frequency, TransportTime.
  • Switching parameter position of type and size in Tone.Analyser
  • Tone.Meter uses Tone.Analyser instead of ScriptProcessorNode.
  • Tone.Envelope has 5 new attack/release curves: "sine", "cosine", "bounce", "ripple", "step"
  • Renamed Tone.SimpleSynth -> Tone.Synth
  • Tone.Buffers combines multiple buffers
  • Tone.BufferSource a low-level wrapper, and Tone.MultiPlayer which is good for multisampled instruments.
  • Tone.GrainPlayer: granular synthesis buffer player.
  • Simplified Sampler

DEPRECATED:

  • Removed SimpleFM and SimpleAM
Loading
freaker2k7 reacted with thumbs up emoji
1 person reacted

r6

08 Dec 05:39
@tambien tambien

Choose a tag to compare

r6

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.
Loading
Previous 1
Previous

AltStyle によって変換されたページ (->オリジナル) /