Class: Meter

Tone. Meter

new Meter(channels, smoothing, clipMemory)

get the rms of the input signal with some averaging can also just get the value of the signal or the value in dB

inspired by https://github.com/cwilso/volume-meter/blob/master/volume-meter.js The MIT License (MIT) Copyright (c) 2014 Chris Wilson

Parameters:
Name Type Argument Description
channels number <optional>

(optional) number of channels being metered

smoothing number <optional>

(optional) amount of smoothing applied to the volume

clipMemory number <optional>

(optional) number in ms that a "clip" should be remembered

Source:

Extends

Members

<private> _jsNode :ScriptProcessorNode

Type:
  • ScriptProcessorNode
Source:

<private> _lastClip :number

last time the values clipped

Type:
  • number
Source:

<private> _values :Array.<number>

the raw values for each of the channels

Type:
  • Array.<number>
Source:

<private> _volume :Array.<number>

the rms for each of the channels

Type:
  • Array.<number>
Source:

bufferSize :number

the default buffer size

Type:
  • number
Inherited From:
Source:

channels :number

Type:
  • number
Source:

clipMemory :number

Type:
  • number
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

default output of the ToneNode

Type:
  • GainNode
Inherited From:
Source:

smoothing :number

Type:
  • number
Source:

Methods

<private> _onprocess(event)

called on each processing frame

Parameters:
Name Type Description
event AudioProcessingEvent
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()

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

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

getDb(channel) → {number}

get the volume of the signal in dB

Parameters:
Name Type Argument Description
channel number <optional>
Source:
Returns:
Type
number

getLevel(channel) → {number}

get the rms of the signal

Parameters:
Name Type Argument Description
channel number <optional>

which channel

Source:
Returns:

the value

Type
number

getValue(channel) → {number}

get the value of the signal

Parameters:
Name Type Argument Description
channel number <optional>
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

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

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, now) → {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 Argument Description
time Tone.Time
now number <optional>

if passed in, this number will be used for all 'now' relative timings

Inherited From:
Source:
Returns:
Type
number

toSeconds(time, now) → {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
now number <optional>

if passed in, this number will be used for all 'now' relative timings

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
Tone No Tone Copyright © 2014.
Documentation generated on Mon Jun 23 2014 13:34:09 GMT-0400 (EDT).