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> |
Extends
Members
-
<private> _bits :number
-
Type:
- number
-
<private> _crusher :ScriptProcessorNode
-
Type:
- ScriptProcessorNode
-
<private> _frequency :number
-
Type:
- number
-
<private> _invStep :number
-
Type:
- number
-
<private> _last :number
-
Type:
- number
-
<private> _phasor :number
-
Type:
- number
-
<private> _step :number
-
Type:
- number
-
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 -
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 Returns:
- Type
- GainNode
-
setBits(bits)
-
set the bit rate
Parameters:
Name Type Description bits
number -
setFrequency(freq)
-
set the frequency
Parameters:
Name Type Description freq
number -
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