Class: Microphone

Tone. Microphone

new Microphone(inputNum)

WebRTC Microphone CHROME ONLY (for now) because of the use of the MediaStreamAudioSourceNode
Parameters:
Name Type Argument Description
inputNum number <optional>
Source:

Extends

Members

<private> _mediaStream :MediaStreamAudioSourceNode

Type:
  • MediaStreamAudioSourceNode
Source:

<private> _stream :LocalMediaStream

Type:
  • LocalMediaStream
Source:

bufferSize :number

the default buffer size
Type:
  • number
Inherited From:
Source:

<private> constraints :Object

Type:
  • Object
Source:

context :AudioContext

A static pointer to the audio context
Type:
  • AudioContext
Inherited From:
Source:

input :GainNode

default input of the ToneNode
Type:
  • GainNode
Inherited From:
Source:

isFrequency

true if the input is in the format number+hz i.e.: 10hz
Inherited From:
Source:

isNotation

tests if a string is musical notation i.e.: 4n = quarter note 2m = two measures 8t = eighth-note triplet
Inherited From:
Source:

isTransportTime

tests if a string is transportTime i.e. : 1:2:0 = 1 measure + two quarter notes + 0 sixteenth notes
Inherited From:
Source:

output :GainNode

unlike most ToneNodes, Sources only have an output and no input
Type:
  • GainNode
Inherited From:
Source:

state :Tone.Source.State

Type:
Inherited From:
Source:

waveShaperResolution :number

the default resolution for WaveShaperNodes
Type:
  • number
Inherited From:
Source:

Methods

<private> _onStream(_stream)

called when the _stream is successfully setup
Parameters:
Name Type Description
_stream LocalMediaStream
Source:

<private> _onStreamError(e)

called on error
Parameters:
Name Type Description
e Error
Source:

chain()

connect together all of the arguments in series
Parameters:
Type Argument Description
AudioParam | Tone <repeatable>
Inherited From:
Source:

connect(unit)

connect the output of a ToneNode to an AudioParam, AudioNode, or ToneNode
Parameters:
Name Type Description
unit Tone | AudioParam | AudioNode
Inherited From:
Source:

dbToGain(db) → {number}

convert db scale to gain scale (0-1)
Parameters:
Name Type Description
db number
Inherited From:
Source:
Returns:
Type
number

defaultArg(given, fallback) → {*}

if a the given is undefined, use the fallback
Parameters:
Name Type Description
given *
fallback *
Inherited From:
Source:
Returns:
Type
*

disconnect()

disconnect the output
Inherited From:
Source:

dispose()

a dispose method should be overridden by child classes
Inherited From:
Source:

equalPowerScale(percent) → {number}

equal power gain scale good for cross-fading
Parameters:
Name Type Description
percent number (0-1)
Inherited From:
Source:
Returns:
output gain (0-1)
Type
number

expScale(gain) → {number}

Parameters:
Name Type Description
gain number (0-1)
Inherited From:
Source:
Returns:
gain (decibel scale but betwee 0-1)
Type
number

fadeTo(value, time)

Parameters:
Name Type Description
value number
time Tone.Time (relative to 'now')
Inherited From:
Source:

frequencyToSeconds(freq) → {number}

convert a frequency into seconds accepts both numbers and strings i.e. 10hz or 10 both equal .1
Parameters:
Name Type Description
freq number | string
Inherited From:
Source:
Returns:
Type
number

gainToDb(gain) → {number}

convert gain scale to decibels
Parameters:
Name Type Description
gain number (0-1)
Inherited From:
Source:
Returns:
Type
number

interpolate(input, outputMin, outputMax) → {number}

interpolate the input value (0-1) to be between outputMin and outputMax
Parameters:
Name Type Description
input number
outputMin number
outputMax number
Inherited From:
Source:
Returns:
Type
number

logScale(gain) → {number}

Parameters:
Name Type Description
gain number (0-1)
Inherited From:
Source:
Returns:
gain (decibel scale but betwee 0-1)
Type
number

noGC()

makes a connection to ensure that the node will not be garbage collected until 'dispose' is explicitly called use carefully. circumvents JS and WebAudio's normal Garbage Collection behavior
Inherited From:
Source:

normalize(input, inputMin, inputMax) → {number}

normalize the input to 0-1 from between inputMin to inputMax
Parameters:
Name Type Description
input number
inputMin number
inputMax number
Inherited From:
Source:
Returns:
Type
number

notationToSeconds(notation, bpm, timeSignature) → {number}

convert notation format strings to seconds
Parameters:
Name Type Argument Description
notation string
bpm number <optional>
timeSignature number <optional>
Inherited From:
Source:
Returns:
Type
number

now() → {number}

Inherited From:
Source:
Returns:
the currentTime from the AudioContext
Type
number

<abstract> pause(time)

Parameters:
Name Type Description
time Tone.Time
Inherited From:
Source:

receive(channelName)

recieve the input from the desired channelName to the input gain of 'this' node.
Parameters:
Name Type Description
channelName string
Inherited From:
Source:

samplesToSeconds(samples) → {number}

convert a sample count to seconds
Parameters:
Name Type Description
samples number
Inherited From:
Source:
Returns:
Type
number

secondsToFrequency(seconds) → {number}

convert a number in seconds to a frequency
Parameters:
Name Type Description
seconds number
Inherited From:
Source:
Returns:
Type
number

send(channelName, amount) → {GainNode}

send signal to a channel name
Parameters:
Name Type Description
channelName string
amount number
Inherited From:
Source:
Returns:
Type
GainNode

setVolume(value)

Parameters:
Name Type Description
value number
Inherited From:
Source:

start(time)

start the _stream. accepts a time to stay consisten with other sources, even though it can't be stopped in a sample accurate way. uses setTimeout to approximate the behavior
Parameters:
Name Type Description
time Tone.Time
Source:

stop(time)

stop the _stream. accepts a time to stay consisten with other sources, even though it can't be stopped in a sample accurate way. uses setTimeout to approximate the behavior
Parameters:
Name Type Description
time Tone.Time
Source:

sync()

sync the source to the Transport
Inherited From:
Source:

toFrequency(time) → {number}

convert a time to a frequency
Parameters:
Name Type Description
time Tone.Time
Inherited From:
Source:
Returns:
the time in hertz
Type
number

toMaster()

connect 'this' to the master output
Inherited From:
Source:

toSamples(time) → {number}

convert a time into samples
Parameters:
Name Type Description
time Tone.time
Inherited From:
Source:
Returns:
Type
number

toSeconds(time) → {number}

convert Tone.Time to seconds this is a simplified version which only handles numbers and 'now' relative numbers. If the Transport is included this method is overridden to include many other features including notationTime, Frequency, and transportTime
Parameters:
Name Type Description
time Tone.Time
Inherited From:
Source:
Returns:
Type
number

toSeconds(time, bpm, timeSignature) → {number}

convert Tone.Time into seconds. unlike the method which it overrides, this takes into account transporttime and musical notation
Parameters:
Name Type Argument Description
time Tone.Time
bpm number <optional>
timeSignature number <optional>
Inherited From:
Source:
Returns:
Type
number

toTransportTime(seconds, bpm, timeSignature) → {string}

Convert seconds to the closest transportTime in the form measures:quarters:sixteenths
Parameters:
Name Type Argument Description
seconds Tone.Time
bpm number <optional>
timeSignature number <optional>
Inherited From:
Source:
Returns:
Type
string

transportTimeToSeconds(transportTime, bpm, timeSignature) → {number}

convert transportTime into seconds i.e.: 4:2:3 == 4 measures + 2 quarters + 3 sixteenths
Parameters:
Name Type Argument Description
transportTime string
bpm number <optional>
timeSignature number <optional>
Inherited From:
Source:
Returns:
seconds
Type
number

unsync()

unsync the source to the Transport
Inherited From:
Source: