AudioVector
in package
Represents audio data for Essentia processing
Table of Contents
Properties
- $channels : int
- $data : array<string|int, mixed>
- $sampleRate : int
Methods
- __construct() : mixed
- __toString() : string
- applyFade() : self
- Apply fade in/out
- applyGain() : self
- Apply gain (amplification/attenuation)
- fromArray() : self
- fromFile() : self
- Load audio from any file format supported by FFmpeg
- fromRawPCM() : self
- Create AudioVector from raw PCM binary data
- fromUrl() : self
- Load audio from a URL or stream
- fromWav() : self
- Load audio specifically from WAV files (optimized path)
- getAudioInfo() : array<string|int, mixed>
- Get audio metadata using FFprobe
- getChannels() : int
- getData() : array<string|int, mixed>
- getDuration() : float
- getLength() : int
- getSampleRate() : int
- normalize() : self
- resample() : self
- Resample audio to a different sample rate using FFmpeg
- saveToFile() : void
- Save audio data to file using FFmpeg
- slice() : self
- sliceTime() : self
- Extract a time-based slice
- toCArray() : CData
- convertToMono() : array<string|int, mixed>
- packFloatArray() : string
- unpackFloatArray() : array<string|int, mixed>
- unpackInt16Array() : array<string|int, mixed>
- unpackInt24Array() : array<string|int, mixed>
- unpackInt32Array() : array<string|int, mixed>
Properties
$channels
private
int
$channels
$data
private
array<string|int, mixed>
$data
$sampleRate
private
int
$sampleRate
Methods
__construct()
public
__construct(array<string|int, mixed> $data[, int $sampleRate = 44100 ][, int $channels = 1 ]) : mixed
Parameters
- $data : array<string|int, mixed>
- $sampleRate : int = 44100
- $channels : int = 1
__toString()
public
__toString() : string
Return values
stringapplyFade()
Apply fade in/out
public
applyFade([float $fadeInSeconds = 0 ][, float $fadeOutSeconds = 0 ]) : self
Parameters
- $fadeInSeconds : float = 0
- $fadeOutSeconds : float = 0
Return values
selfapplyGain()
Apply gain (amplification/attenuation)
public
applyGain(float $gainDb) : self
Parameters
- $gainDb : float
Return values
selffromArray()
public
static fromArray(array<string|int, mixed> $data[, int $sampleRate = 44100 ]) : self
Parameters
- $data : array<string|int, mixed>
- $sampleRate : int = 44100
Return values
selffromFile()
Load audio from any file format supported by FFmpeg
public
static fromFile(string $filePath[, int $sampleRate = 44100 ][, int $channels = 1 ]) : self
Parameters
- $filePath : string
- $sampleRate : int = 44100
- $channels : int = 1
Return values
selffromRawPCM()
Create AudioVector from raw PCM binary data
public
static fromRawPCM(string $rawData[, int $sampleRate = 44100 ][, string $format = 'f32le' ]) : self
Parameters
- $rawData : string
- $sampleRate : int = 44100
- $format : string = 'f32le'
Return values
selffromUrl()
Load audio from a URL or stream
public
static fromUrl(string $url[, int $sampleRate = 44100 ][, int $maxDuration = 300 ]) : self
Parameters
- $url : string
- $sampleRate : int = 44100
- $maxDuration : int = 300
Return values
selffromWav()
Load audio specifically from WAV files (optimized path)
public
static fromWav(string $filePath[, int $sampleRate = 44100 ]) : self
Parameters
- $filePath : string
- $sampleRate : int = 44100
Return values
selfgetAudioInfo()
Get audio metadata using FFprobe
public
static getAudioInfo(string $filePath) : array<string|int, mixed>
Parameters
- $filePath : string
Return values
array<string|int, mixed>getChannels()
public
getChannels() : int
Return values
intgetData()
public
getData() : array<string|int, mixed>
Return values
array<string|int, mixed>getDuration()
public
getDuration() : float
Return values
floatgetLength()
public
getLength() : int
Return values
intgetSampleRate()
public
getSampleRate() : int
Return values
intnormalize()
public
normalize() : self
Return values
selfresample()
Resample audio to a different sample rate using FFmpeg
public
resample(int $newSampleRate) : self
Parameters
- $newSampleRate : int
Return values
selfsaveToFile()
Save audio data to file using FFmpeg
public
saveToFile(string $filePath[, string $format = 'wav' ]) : void
Parameters
- $filePath : string
- $format : string = 'wav'
slice()
public
slice(int $start, int $length) : self
Parameters
- $start : int
- $length : int
Return values
selfsliceTime()
Extract a time-based slice
public
sliceTime(float $startSeconds, float $durationSeconds) : self
Parameters
- $startSeconds : float
- $durationSeconds : float
Return values
selftoCArray()
public
toCArray(FFI $ffi) : CData
Parameters
- $ffi : FFI
Return values
CDataconvertToMono()
private
static convertToMono(array<string|int, mixed> $data, int $channels) : array<string|int, mixed>
Parameters
- $data : array<string|int, mixed>
- $channels : int
Return values
array<string|int, mixed>packFloatArray()
private
packFloatArray(array<string|int, mixed> $data) : string
Parameters
- $data : array<string|int, mixed>
Return values
stringunpackFloatArray()
private
static unpackFloatArray(string $binaryData) : array<string|int, mixed>
Parameters
- $binaryData : string
Return values
array<string|int, mixed>unpackInt16Array()
private
static unpackInt16Array(string $binaryData) : array<string|int, mixed>
Parameters
- $binaryData : string
Return values
array<string|int, mixed>unpackInt24Array()
private
static unpackInt24Array(string $binaryData) : array<string|int, mixed>
Parameters
- $binaryData : string
Return values
array<string|int, mixed>unpackInt32Array()
private
static unpackInt32Array(string $binaryData) : array<string|int, mixed>
Parameters
- $binaryData : string