Home Manual Reference Source
import WavePacker from 'itslanguage/audio/wave-packer.js'
private class | source

WavePacker

Packer class for audio packing

Static Method Summary

Static Public Methods
public static

mergeBuffers(channelBuffer: *, recordingLength: *): *

public static

writeUTFBytes(view: *, offset: *, string: *)

Member Summary

Public Members
public
public
public
public
public
public
public

Method Summary

Public Methods
public

clear()

public

encodeWAV(interleaved: []): *

Wrap the raw audio in a header to make it a WAVE format.

public

exportMonoWAV(callback: *)

public

exportWAV(callback: *)

public

init(recordingSampleRate: number, sampleRate: number, channels: number)

Stop recording audio.

public

interleave(leftChannel: *, rightChannel: *): *

public

record(left: *, right: *)

public

recordStreaming(left: *, right: *, callback: *)

Static Public Methods

public static mergeBuffers(channelBuffer: *, recordingLength: *): * source

Params:

NameTypeAttributeDescription
channelBuffer *
recordingLength *

Return:

*

public static writeUTFBytes(view: *, offset: *, string: *) source

Params:

NameTypeAttributeDescription
view *
offset *
string *

Public Members

public channels: * source

public recBuffersL: *[] source

public recBuffersR: *[] source

public recLength: number source

public recording: boolean source

public recordingSampleRate: * source

public sampleRate: * source

Public Methods

public clear() source

public encodeWAV(interleaved: []): * source

Wrap the raw audio in a header to make it a WAVE format.

Specs: https://ccrma.stanford.edu/courses/422/projects/WaveFormat/.

Params:

NameTypeAttributeDescription
interleaved []

Array of interleaved audio.

Return:

*

public exportMonoWAV(callback: *) source

Params:

NameTypeAttributeDescription
callback *

public exportWAV(callback: *) source

Params:

NameTypeAttributeDescription
callback *

public init(recordingSampleRate: number, sampleRate: number, channels: number) source

Stop recording audio.

Params:

NameTypeAttributeDescription
recordingSampleRate number

Sample rate of recording. Must be either 48000 or 44100.

sampleRate number

Sample rate. Must be half or a quarter of the recording sample rate.

channels number

Amount of audio channels. 1 or 2.

public interleave(leftChannel: *, rightChannel: *): * source

Params:

NameTypeAttributeDescription
leftChannel *
rightChannel *

Return:

*

public record(left: *, right: *) source

Params:

NameTypeAttributeDescription
left *
right *

public recordStreaming(left: *, right: *, callback: *) source

Params:

NameTypeAttributeDescription
left *
right *
callback *