jasny/audio

使用SoX处理音频文件

v0.1.1 2014-08-05 14:51 UTC

This package is auto-updated.

Last update: 2024-09-21 16:17:18 UTC


README

使用SoX处理音频文件

波形

使用Jasny\Audio\Waveform类,您可以创建一个类似于PNG的波形图。

waveform

$waveform = new Waveform($filename, $options);
$waveform->output();

或者,您可以请求一组样本。这可以用来在JavaScript中绘制波形(参见waveform.js)。

选项

跟踪统计

$track = new Track($filename);
$track->getStats();
{
    channels: "1",
    dc_offset: "0.000016",
    min_level: "-0.162134",
    max_level: "0.153157",
    pk_lev: "-15.80",
    rms_lev: "-33.56",
    rms_pk: "-24.31",
    rms_tr: "-55.44",
    crest_factor: "7.72",
    flat_factor: "0.00",
    pk_count: "2",
    bit_depth: "30/32",
    length: "1.935601",
    scale_max: "1.000000",
    window: "0.050",
    samples: "42680",
    scaled_by: "2147483647.0",
    maximum_amplitude: "0.153157",
    minimum_amplitude: "-0.162134",
    midline_amplitude: "-0.004489",
    mean_norm: "0.010709",
    mean_amplitude: "0.000016",
    rms_amplitude: "0.020990",
    maximum_delta: "0.115579",
    minimum_delta: "0.000000",
    mean_delta: "0.003656",
    rms_delta: "0.008325",
    rough_frequency: "1391",
    volume_adjustment: "6.168",
    sample_rate: "22050"
}

转换轨道

将轨道转换为不同的格式。使用avconv(或ffmpeg)。

$track = new Track("sometrack.wav");
$track->convert("sometrack.mp3");

组合轨道

组合两个轨道。使用sox --combine

可用方法

  • concatenate
  • merge
  • mix
  • mix-power
  • multiply
  • sequence
$track = new Track($track1);
$track->combine($method, $track2, $outputFilename);