ipytone.FrequencyEnvelope#

class ipytone.FrequencyEnvelope(**kwargs: Any)#

Bases: Envelope

Envelope which may be used to control a frequency signal.

__init__(base_frequency=200.0, octaves=4, exponent=1, **kwargs)#

Public constructor

Methods

chain(*nodes)

Connect the output of this audio node to the other audio nodes in series.

connect(destination[, output_number, ...])

Connect the output of this audio node to the input of another node.

disconnect(destination[, output_number, ...])

Disconnect the ouput of this audio node from a connected node.

dispose()

Dispose and disconnect this audio node (as well as its input/output).

fan(*destinations)

Connect the output of this audio node to the destinations audio nodes in parallel.

schedule_dlink(target[, update_interval, ...])

Link a source attribute of this ipytone widget with a target widget attribute.

schedule_jsdlink(target[, update_interval, ...])

Link a source attribute of this ipytone widget with a target widget attribute.

schedule_observe(handler[, update_interval, ...])

Setup a handler to be called at regular intervals with the updated time / value of this ipytone widget.

schedule_unobserve(handler)

Cancel the scheduled updates of the time / value trait associated with the given handler.

to_destination()

Convenience method to directly connect the output of this audio node to the main output (speakers) node.

trigger_attack([time, velocity])

Trigger the attack and decay portions of the ADSR envelope.

trigger_attack_release(duration[, time, ...])

Trigger the attack/decay portions of the ASDR envelope and then trigger the release portion after a given duration.

trigger_release([time])

Trigger the release portion of the ADSR envelope.

Attributes

array

Envelope data

array_length

Envelope data resolution (array length)

attack

Envelope attack

attack_curve

A trait type representing a Union type.

base_frequency

Envelope min output (start) value

channel_count

An int trait.

channel_count_mode

An enum whose value must be in a given sequence.

channel_interpretation

An enum whose value must be in a given sequence.

decay

Envelope decay

decay_curve

An enum whose value must be in a given sequence.

disposed

Returns True if the node was disposed (i.e., disconnected and web audio node freed for garbage collection).

exponent

May be used to control the envelope (non)linearity

input

Returns the input node, or None if this node is a source.

log

A trait whose value must be an instance of a specified class.

name

A trait for unicode strings.

number_of_inputs

Returns the number of input slots for the input node (0 for source nodes).

number_of_outputs

Returns the number of output slots for the output node (0 for sink nodes).

octaves

Envelope range in number of octaves

output

Returns the output node, or None if this node is a sink.

release

Envelope release

release_curve

A trait type representing a Union type.

sustain

Envelope sustain

sync_array

If True, synchronize envelope data

array#

Envelope data

array_length#

Envelope data resolution (array length)

attack#

Envelope attack

base_frequency#

Envelope min output (start) value

chain(*nodes)#

Connect the output of this audio node to the other audio nodes in series.

connect(destination, output_number=0, input_number=0)#

Connect the output of this audio node to the input of another node.

Parameters:
  • destination (AudioNode or NativeAudioNode or Param or NativeAudioParam) – The destination node.

  • output_number (int) – The channel number of the output of this node (default: 0).

  • input_number (int) – The channel number of the input of the destination node (default: 0).

decay#

Envelope decay

disconnect(destination, output_number=0, input_number=0)#

Disconnect the ouput of this audio node from a connected node.

Parameters:
  • destination (AudioNode or NativeAudioNode or Param or NativeAudioParam) – The connected destination node.

  • output_number (int) – The channel number of the output of this node (default: 0).

  • input_number (int) – The channel number of the input of the destination node (default: 0).

dispose()#

Dispose and disconnect this audio node (as well as its input/output).

property disposed#

Returns True if the node was disposed (i.e., disconnected and web audio node freed for garbage collection).

exponent#

May be used to control the envelope (non)linearity

fan(*destinations)#

Connect the output of this audio node to the destinations audio nodes in parallel.

property input#

Returns the input node, or None if this node is a source.

property number_of_inputs#

Returns the number of input slots for the input node (0 for source nodes).

property number_of_outputs#

Returns the number of output slots for the output node (0 for sink nodes).

octaves#

Envelope range in number of octaves

property output#

Returns the output node, or None if this node is a sink.

release#

Envelope release

Link a source attribute of this ipytone widget with a target widget attribute.

As the source attribute may have a continuously updated value (e.g., the gain of an audio signal, the current value of a parameter, etc.), The target widget attribute is synchronized at a given, finite resolution.

Parameters:
  • target ((object, str) tuple) – The target widget attribute to link, given as a (widget, attr_name) tuple.

  • update_interval (float or string, optional) – The interval at which the target attribute is updated in the front-end, in seconds (default: 0.04). If transport=True, any interval accepted by schedule_repeat() is also valid here.

  • transport (bool, optional) – if True, the target attribute is synced along the ipytone.Transport timeline, i.e., no update happens until the transport starts and updates stop when the transport stops. If False (default), the target attribute update is done with respect to the active audio context.

  • name (str, optional) – The name of the (source) Tone.js attribute to link. See schedule_observe for more details and for a list of available names.

Returns:

link – A link object that can be used to unlink the widget attributes (using the .unlink() method).

Return type:

ToneDirectionalLink

Link a source attribute of this ipytone widget with a target widget attribute.

The link is created in the front-end and does not rely on a roundtrip to the backend.

As the source attribute may have a continuously updated value (e.g., the gain of an audio signal, the current value of a parameter, etc.), The target widget attribute is synchronized at a given, finite resolution.

Parameters:
  • target ((object, str) tuple) – The target widget attribute to link, given as a (widget, attr_name) tuple.

  • update_interval (float or string, optional) – The interval at which the target attribute is updated in the front-end, in seconds (default: 0.04). If transport=True, any interval accepted by schedule_repeat() is also valid here.

  • transport (bool, optional) – if True, the target attribute is synced along the ipytone.Transport timeline, i.e., no update happens until the transport starts and updates stop when the transport stops. If False (default), the target attribute update is done with respect to the active audio context.

  • name (str, optional) – The name of the (source) Tone.js attribute to link. See schedule_observe for more details and for a list of available names.

Returns:

link – A link object that can be used to unlink the widget attributes (using the .unlink() method).

Return type:

ToneDirectionalLink

schedule_observe(handler, update_interval=1, transport=False, name=None, observe_time=False)#

Setup a handler to be called at regular intervals with the updated time / value of this ipytone widget.

Parameters:
  • handler (callable) – A callable that is called when the trait value is updated at regular intervals. The signature of the callable is similar to the signature expected by ipywidgets.Widget.observe(). Note that the handler will only apply to the trait given by the name argument here.

  • update_interval (float or string, optional) – The interval at which the trait is updated in the front-end, in seconds (default: 1). If transport=True, any interval accepted by schedule_repeat() is also valid here.

  • transport (bool, optional) – if True, the trait update is scheduled along the ipytone.Transport timeline, i.e., the handler is not called until the transport starts and will stop being called when the transport stops. If False (default), the trait update is done with respect to the active audio context.

  • name (str, optional) –

    The name of the Tone.js attribute to observe. Note that it doesn’t necessarily correspond to a trait of this ipytone widget. Instead, it may accept one of the following names (depending the observed ipytone widget, only a few may be supported):

    • ”time”: the current time (either transport time or audio context time).

    • ”value”: the current value of the Tone.js corresponding instance.

    • ”state”: current playback state

    • ”progress”: current progress (of an event or transport loop)

    • ”position”: current transport position in Bars:Beats:Sixteenths

    • ”ticks”: current transport tick position

    • ”seconds”: current transport time in seconds

    The default name also depends on the observed ipytone widget.

  • observe_time (bool, optional) – If True, both the (current audio context or transport) time and trait value are passed to the handler as a (time, trait_value) tuple when the trait value is updated (default: False).

schedule_unobserve(handler)#

Cancel the scheduled updates of the time / value trait associated with the given handler.

sustain#

Envelope sustain

sync_array#

If True, synchronize envelope data

to_destination()#

Convenience method to directly connect the output of this audio node to the main output (speakers) node.

trigger_attack(time=None, velocity=1)#

Trigger the attack and decay portions of the ADSR envelope.

Parameters:
  • time (float or str, optional) – The time at which the envelope attack is triggered (default: now).

  • velocity (float, optional) – The velocity of the envelope, i.e., a scaling factor for the envelope curve (any value between 0 and 1).

trigger_attack_release(duration, time=None, velocity=1)#

Trigger the attack/decay portions of the ASDR envelope and then trigger the release portion after a given duration.

Parameters:
  • duration (float or str) – The duration of the sustain portion of the envelope.

  • time (float or str, optional) – The time at which the envelope attack is triggered (default: now).

  • velocity (float, optional) – The velocity of the envelope, i.e., a scaling factor for the envelope curve (any value between 0 and 1).

trigger_release(time=None)#

Trigger the release portion of the ADSR envelope.

Parameters:

time (float or str, optional) – The time at which the release portion is triggered (default: now).