Class: BitCrusher

BitCrusher

new BitCrusher(bits, frequency)

downsample incoming signal inspiration from https://github.com/jaz303/bitcrusher/blob/master/index.js
Parameters:
Name Type Argument Description
bits number <optional>
frequency number <optional>
Source:

Extends

Members

<private> _bits :number

Type:
  • number
Source:

<private> _crusher :ScriptProcessorNode

Type:
  • ScriptProcessorNode
Source:

<private> _frequency :number

Type:
  • number
Source:

<private> _invStep :number

Type:
  • number
Source:

<private> _last :number

Type:
  • number
Source:

<private> _phasor :number

Type:
  • number
Source:

<private> _step :number

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

Methods

<private> _audioprocess(event)

Parameters:
Name Type Description
event AudioProcessingEvent
Source:

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

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:

send(channelName, amount) → {GainNode}

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

setBits(bits)

set the bit rate
Parameters:
Name Type Description
bits number
Source:

setFrequency(freq)

set the frequency
Parameters:
Name Type Description
freq number
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

toSeconds(time, bpm, timeSignature)

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:

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