API reference#

Note

Apart from a few subtle differences, ipytone closely follows the Tone.js API. Some of the Tone.js features are not yet available in ipytone.

Note

The majority of iyptone classes listed here derive from ipywidgets.Widget. To keep the documentation clear and succinct, the Widget-specific API is not shown here. Please refer to the ipywidgets documentation.

Core#

AudioBuffer(**kwargs)

Audio buffer loaded from an URL or an array.

AudioBuffers(**kwargs)

A collection (dict-like) of audio buffers.

Gain(**kwargs)

A simple node for adjusting audio gain.

Param(**kwargs)

Single, automatable parameter with units.

PyAudioNode(**kwargs)

A Pure-Python audio node.

Volume(**kwargs)

Simple volume node.

get_audio_graph()

Returns the audio graph of ipytone's main audio context.

get_destination()

Returns the Destination instance created for the main audio context.

get_listener()

Returns the Listener instance created for the main audio context.

Source#

LFO(**kwargs)

LFO (Low Frequency Oscillator).

AMOscillator(**kwargs)

An amplitude modulated oscillator.

FatOscillator(**kwargs)

A 'fat" oscillator is made of multiple oscillators with detune spread between them.

FMOscillator(**kwargs)

Frequency modulation synthesis

Noise(**kwargs)

A noise source.

OmniOscillator(**kwargs)

Full options oscillator.

Oscillator(**kwargs)

A simple Oscillator.

Player(**kwargs)

Audio file or buffer player with start, loop, and stop functions.

Players(**kwargs)

Multiple players.

PulseOscillator(**kwargs)

A pulse oscillator.

PWMOscillator(**kwargs)

A pulse oscillator for which the pulse width is modulated at a given frequency.

Instrument#

AMSynth(**kwargs)

A synth for FM synthesis that is built with two Synth instances, where one synth modulates the amplitude of the second.

DuoSynth(**kwargs)

Monophonic synth composed of two MonoSynth instances run in parallel.

FMSynth(**kwargs)

A synth for FM synthesis that is built with two Synth instances, where one synth modulates the frequency of the second.

Instrument(**kwargs)

MembraneSynth(**kwargs)

A synth that makes kick and tom sounds.

Monophonic(**kwargs)

MonoSynth(**kwargs)

Simple monophonic synth built with one OmniOscillator, one Filter and two envelopes (AmplitudeEnvelope and FrequencyEnvelope).

NoiseSynth(**kwargs)

Simple noise synth build with a ipytone.Noise instance routed through an ipytone.AmplitudeEnvelope.

PluckSynth(**kwargs)

Karplus-Strong string synthesis.

PolySynth(**kwargs)

A PolySynth allows any given monophonic synthesizer to be polyphonic.

Sampler(**kwargs)

A polyphonic instrument based on samples.

Synth(**kwargs)

Simple synth build with an ipytone.OmniOscillator routed through an ipytone.AmplitudeEnvelope.

Effect#

Distortion(**kwargs)

Simple distortion effect.

FeedbackDelay(**kwargs)

Feedback delay effect.

FrequencyShifter(**kwargs)

Effect shifting all frequencies of an input signal by a fixed amount.

PingPongDelay(**kwargs)

Ping-pong delay effect.

PitchShift(**kwargs)

Near-realtime pitch shifting.

Reverb(**kwargs)

Simple convolution reverb.

Tremolo(**kwargs)

Tremolo effect.

Vibrato(**kwargs)

Vibrato effect.

Component#

Analysis#

Analyser(**kwargs)

A node that may be used to extract frequency (FFT) or waveform data from an incoming audio signal.

FFT(**kwargs)

A node to get frequency data from an input audio signal.

DCMeter(**kwargs)

A node to get the raw value of an input audio signal.

Follower(**kwargs)

Simple envelope follower that consists of a lowpass filter applied to the absolute value of an incoming audio signal.

Meter(**kwargs)

A node to get the RMS value of an input audio signal.

Waveform(**kwargs)

A node to get waveform data from an input audio signal.

Channel#

Channel(**kwargs)

An audio node that provides a channel strip interface with volume, pan, solo and mute controls.

CrossFade(**kwargs)

An audio node that provides equal power fading between two a/b inputs.

Merge(**kwargs)

An audio node that merges multiple mono input channels into a single multichannel output channel.

Mono(**kwargs)

An audio node that coerces an incoming audio signal (mono or stereo) into a mono signal.

MultibandSplit(**kwargs)

Split the incoming signal into three bands (low, mid, high), with cross-over frequency controls.

Panner(**kwargs)

An audio node that provides equal power left/right panner.

Panner3D(**kwargs)

A spatialized panner audio node that provides equal power or HRTF panning.

PanVol(**kwargs)

Panner and Volume in one.

Solo(**kwargs)

An audio node to isolate a specific audio stream from audio streams connected to other solo nodes.

Split(**kwargs)

An audio node that splits an incoming signal into the number of given channels.

Dynamics#

Compressor(**kwargs)

Simple compressor.

Limiter(**kwargs)

Simple limiter (i.e., compressor with fast attack/release and max compression ratio).

MultibandCompressor(**kwargs)

Three-band (low/mid/high) compressor.

Envelope#

AmplitudeEnvelope(**kwargs)

Envelope which, applied to an input audio signal, control the gain of the output signal.

Envelope(**kwargs)

ADSR envelope generator.

FrequencyEnvelope(**kwargs)

Envelope which may be used to control a frequency signal.

Filter#

EQ3(**kwargs)

Three-band equalizer.

BiquadFilter(**kwargs)

Simple filter.

FeedbackCombFilter(**kwargs)

Feedback comb filter.

Filter(**kwargs)

Simple filter with rolloff (slope) parameter.

LowpassCombFilter(**kwargs)

Feedback comb + lowpass filter.

OnePoleFilter(**kwargs)

A one pole filter with 6db-per-octave rolloff.

Signal#

Abs(**kwargs)

A node that outputs the absolute value of an incoming signal.

Add(**kwargs)

A signal that outputs the sum of the incoming signal and another signal or a constant value.

AudioToGain(**kwargs)

A node that converts an input signal in audio range [-1, 1] to an output signal in normal range [0, 1].

GreaterThan(**kwargs)

A signal that outputs 1 the signal is greater than the value (or another signal), otherwise outputs 0.

Multiply(**kwargs)

A signal that outputs the product of the incoming signal by another signal or a constant factor.

Negate(**kwargs)

A node that outputs the opposite value of an incoming signal.

Pow(**kwargs)

A node that applies an exponent to the incoming signal.

Scale(**kwargs)

A node that applies linear scaling on the incoming signal.

Signal(**kwargs)

A node that defines a value that can be modulated or calculated at the audio sample-level accuracy.

Subtract(**kwargs)

A signal that outputs the difference between the incoming signal and another signal or a constant value.

WaveShaper(**kwargs)

A node that applies a custom, non-linear distorsion curve.

Transport#

get_transport()

Return the Transport instance created for the main audio context.

schedule(time)

Like ipytone.transport.schedule() but used as a context manager.

schedule_once(time)

Like ipytone.transport.schedule_once() but used as a context manager.

schedule_repeat(interval[, start_time, duration])

Like ipytone.transport.schedule_repeat() but used as a context manager.

Event#

Event(**kwargs)

Represents a single or repeatable event along the transport timeline.

Loop(**kwargs)

Looped callback at a specified interval.

Note(time, note[, velocity, duration, ...])

A single note with time, note (frequency) and velocity values.

Part(**kwargs)

A collection of events (notes) that can be handled as a single unit.

Pattern(**kwargs)

A loop that arpeggiates between the given notes in a given pattern.

Sequence(**kwargs)

Alternate version of a Part where note events are spaced at a given subdivision.