Monday, October 16, 2017

CONNECT Nexus UI/UX to Tone.js

https://tonejs.github.io/docs/r11/GrainPlayer
https://nexus-js.github.io/ui/
https://github.com/nexus-js/ui/



Tone.GrainPlayer implements granular synthesis. Granular Synthesis enables you to adjust pitch and playback rate independently. The grainSize is the amount of time each small chunk of audio is played for and the overlap is the amount of crossfading transition time between successive grains.

CONSTRUCTOR

new Tone.GrainPlayer ( 
url
 , [ 
callback
 ] )
url
The url to load, or the Tone.Buffer to play.
TYPE: String OR Tone.Buffer
callback
The callback to invoke after the url is loaded.
TYPE: Function
OPTIONAL

DEFAULTS

{
onload : Tone.noOp ,
overlap : 0.1 ,
grainSize : 0.2 ,
playbackRate : 1 ,
detune : 0 ,
loop : false ,
loopStart : 0 ,
loopEnd : 0 ,
reverse : false
}

MEMBERS

.buffer

  Tone.Buffer #
The audio buffer belonging to the player.

.detune

  Cents #
Adjust the pitch independently of the playbackRate.

.grainSize

  Time #
The size of each chunk of audio that the buffer is chopped into and played back at.

.loopEnd

  Time #
The loop end time.

.loopStart

  Time #
The loop start time.

.overlap

  Time #
This is the duration of the cross-fade between sucessive grains.

.playbackRate

  Positive #
The playback rate of the sample

.reverse

  Boolean #
The direction the buffer should play in
INHERITED FROM Tone.AudioNode

.context

  Tone.Context READONLY #
Get the audio context belonging to this instance.
INHERITED FROM Tone.Source

.fadeIn

  Time #
The fadeIn time of the amplitude envelope.
INHERITED FROM Tone.Source

.fadeOut

  Time #
The fadeOut time of the amplitude envelope.
INHERITED FROM Tone.Source

.mute

  Boolean #
Mute the output.

EXAMPLE

//mute the output
source.mute = true;
INHERITED FROM Tone.Source

.state

  Tone.State READONLY #
Returns the playback state of the source, either “started” or “stopped”.
INHERITED FROM Tone.Source
 

.volume

  Decibels #
The volume of the output in decibels.

EXAMPLE

source.volume.value = -6;

METHODS

.dispose ( )

 #
↪ RETURNS Tone.GrainPlayer
this
Clean up

.seek ( )

 #
offset
The offset to jump to.
TYPE: Time
time
When to make the jump.
TYPE: Time
OPTIONAL
↪ RETURNS Tone.GrainPlayer
this
Jump to a specific time and play it.

.start ( )

 #
startTime
When the player should start.
TYPE: Time
DEFAULT: now
offset
The offset from the beginning of the sample to start at.
TYPE: Time
DEFAULT: 0
duration
How long the sample should play. If no duration is given, it will default to the full length of the sample (minus any offset)
TYPE: Time
OPTIONAL
↪ RETURNS Tone.GrainPlayer
this
Play the buffer at the given startTime. Optionally add an offset and/or duration which will play the buffer from a position within the buffer for the given duration.
INHERITED FROM Tone.AudioNode

.connect ( )

 #
unit
TYPE: Tone OR AudioParam OR AudioNode
outputNum
optionally which output to connect from
TYPE: Number
DEFAULT: 0
inputNum
optionally which input to connect to
TYPE: Number
DEFAULT: 0
↪ RETURNS Tone.AudioNode
this
connect the output of a ToneNode to an AudioParam, AudioNode, or ToneNode
INHERITED FROM Tone.AudioNode

.disconnect ( )

 #
output
Either the output index to disconnect if the output is an array, or the node to disconnect from.
TYPE: Number OR AudioNode
↪ RETURNS Tone.AudioNode
this
disconnect the output
INHERITED FROM Tone.AudioNode

.toMaster ( )

 #
↪ RETURNS Tone.AudioNode
this
Connect ‘this’ to the master output. Shorthand for this.connect(Tone.Master)

EXAMPLE

//connect an oscillator to the master output
var osc = new Tone.Oscillator().toMaster();
INHERITED FROM Tone.Source

.stop ( )

 #
time
When the source should be stopped.
TYPE: Time
DEFAULT: now
↪ RETURNS Tone.Source
this
Stop the source at the specified time. If no time is given, stop the source now.

EXAMPLE

source.stop(); // stops the source immediately
INHERITED FROM Tone.Source

.sync ( )

 #
↪ RETURNS Tone.Source
this
Sync the source to the Transport so that all subsequent calls to start and stop are synced to the TransportTime instead of the AudioContext time.

EXAMPLE

//sync the source so that it plays between 0 and 0.3 on the Transport's timeline
source.sync().start(0).stop(0.3);
//start the transport.
Tone.Transport.start();

 

EXAMPLE

//start the transport with an offset and the sync'ed sources
//will start in the correct position
source.sync().start(0.1);
//the source will be invoked with an offset of 0.4
Tone.Transport.start("+0.5", 0.5);
INHERITED FROM Tone.Source

.unsync ( )

 #
↪ RETURNS Tone.Source
this
Unsync the source to the Transport. See Tone.Source.sync

No comments:

Post a Comment

Scripting for the Web Final

I spent a lot of time working on my updated portfolio website this semester. Here's an excerpt of the reflection post I wrote (because t...