Audio data format parser/detector/serializer.
obj = format.parse(string)
Parse format properties from a string. Returns only guaranteed properties and does not try to guess them.
format// {interleaved: true, type: 'uint8', endianness: 'le', channels: 2, sampleRate: 44100} format// {channels: 2, type: 'audiobuffer', sampleRate: 96000, interleaved: false, endianness: 'le'}
str = format.stringify(obj, defaults?)
Get string identifying a format object. Optional defaults
can indicate properties to skip if format value matches them.
format// 'stereo planar' format// 'stereo planar' format// 'mono audiobuffer 44100'
obj = format.detect(obj)
Retrieve available format properties from an audio-like object.
format// {channels: 2, type: 'audiobuffer', sampleRate: 44100, endianness: 'le', interleaved: false} format// {type: 'uint8_clamped'} format// {type: 'ndarray', interleaved: false, channels: 2}
str = format.type(obj)
Get type string identifying data container.
formattypectx length: 1024 // 'audiobuffer'formattype-1 1 // 'float32'formattype-1 1buffer // 'arraybuffer'formattypeArray100 // 'array'formattypeBuffer // 'buffer'formattype // 'ndarray'
format.interleaved
marker
Value | Meaning |
---|---|
'interleaved' , 'interleave' |
interleaved is true , channels is 2 or more. |
'planar' |
interleaved is false , channels is 2 or more. |
format.endianness
marker
Value | Meaning |
---|---|
'le' |
endianness is 'le' (little endian), type is not 'int8' or 'uint8' |
'be' |
endianness is 'be' (big endian), type is not 'int8' or 'uint8' |
format.channels
marker
Value | Meaning |
---|---|
'mono' |
1 channel |
'stereo' |
2 channels |
'2.1' |
3 channels |
'quad' |
4 channels |
'5.1' |
5 channels |
'*-channel' |
N channels |
format.sampleRate
marker
Value | Meaning |
---|---|
Number |
Any number, primarily default sample-rates |
format.type
marker
Value | Meaning |
---|---|
'uint8' |
Uint8Array |
'uint8_clamped' |
Uint8ClampedArray |
'uint16' |
Uint16Array |
'uint32' |
Uint32Array |
'int8' |
Int8Array |
'int16' |
Int16Array |
'int32' |
Int32Array |
'float32' , 'float' |
Float32Array |
'float64' |
Float64Array |
'array' |
Array |
'arraybuffer' |
ArrayBuffer |
'buffer' |
Buffer |
'audiobuffer' |
AudioBuffer |
'ndarray' |
ndarray |
'ndsamples' |
ndsamples |
See also
- pcm-convert converts low-level pcm data from one format to another
License
(c) 2017 Dmitry Yvanov @ audiojs. MIT License