PHPackages                             podcasthosting/audiowaveform-php-client - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Image &amp; Media](/categories/media)
4. /
5. podcasthosting/audiowaveform-php-client

ActiveLibrary[Image &amp; Media](/categories/media)

podcasthosting/audiowaveform-php-client
=======================================

A PHP wrapper for easy access to the BBC project audiowaveform client.

v0.2.2(5mo ago)169MITPHP

Since Jan 19Pushed 5mo agoCompare

[ Source](https://github.com/podcasthosting/audiowaveform-php-client)[ Packagist](https://packagist.org/packages/podcasthosting/audiowaveform-php-client)[ Docs](https://github.com/podcasthosting/audiowaveform-php-client)[ RSS](/packages/podcasthosting-audiowaveform-php-client/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (2)Versions (16)Used By (0)

This project is straight forward to use. It implements all the arguments from the commandline audiowaveform command as methods. The script calls the shell command. So audiowaveform has to be installed for this script to work.

Create a new instance of the AudiowaveformClient class to work with it. It automatically tries to detect where the audiowaveform command is installed.

`$ac = new AudiowaveformClient();`

Get the version of the installed audiowaveform:

`echo $ac->getVersion();`

The `__constructor()` method calls a method called `detectAndSetPath()` to find the `audiowaveform` binary.

You can override the name of the binary by using the setter method `setBinaryName(string $binaryName)`.

All parameters have their own setter method:

- `setColors(string $color)`
- `setWaveformColor(string $color)`
- `setBorderColor(string $color)`
- `setBackgroundColor(string $color)`
- `setAxisLabelColor(string $color)`
- `setInputFilename(string $name)`
- `setInputFormat(string $name)`
- `setOutputFilename(string $name)`
- `setSplitChannels()`
- `setPixelsPerSecond(Int $pixels)`
- `setBits(Int $bits)`
- `setStart(Int $start)`
- `setEnd(Int $end)`
- `setWidth(Int $width)`
- `setHeight(Int $height)`
- `setNoAxisLabels()`
- `setWithAxisLabels()`
- `setAmplitudeScale(Float $scale)`
- `setCompression(Int $level)`
- `setCompression(Int $level)`
- `setQuiet()`
- and more

`setInputFilename()` and `setOutputFilename()` are required.

After you have set all parameters you have to call the `execute()` method to run the program, e.g.

```
$ac = new AudiowaveformClient()
$ac->setInputFilename('my-audio-file.mp3');
$ac->setBackgroundColor('000000');
$ac->setPixelsPerSecond(300);
$ac->setOutputFilename('my-audio-file.dat');
$ac->execute();

```

You can also chain all setters:

```
(new AudiowaveformClient)->setInputFilename('other-audio.wav')setColors('ff9900')->setPixelsPerSecond(300)->setOutputFilename('my-audio-file.dat')->execute();

```

###  Health Score

35

—

LowBetter than 79% of packages

Maintenance74

Regular maintenance activity

Popularity10

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~73 days

Recently: every ~140 days

Total

15

Last Release

177d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e46ceaecf02019e15394a97fff218f9c9593bbdb8637f840d7ab1ee0b4d2f836?d=identicon)[podcasthosting](/maintainers/podcasthosting)

---

Top Contributors

[![OpenHaus](https://avatars.githubusercontent.com/u/209948?v=4)](https://github.com/OpenHaus "OpenHaus (11 commits)")

---

Tags

audiomp3waveformwavaudiowaveformbbc

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/podcasthosting-audiowaveform-php-client/health.svg)

```
[![Health](https://phpackages.com/badges/podcasthosting-audiowaveform-php-client/health.svg)](https://phpackages.com/packages/podcasthosting-audiowaveform-php-client)
```

###  Alternatives

[php-ffmpeg/php-ffmpeg

FFMpeg PHP, an Object Oriented library to communicate with AVconv / ffmpeg

5.0k21.7M163](/packages/php-ffmpeg-php-ffmpeg)[wapmorgan/mp3info

The fastest php library to extract mp3 tags &amp; meta information.

1481.4M7](/packages/wapmorgan-mp3info)[wapmorgan/media-file

A unified reader of metadata from audio &amp; video files

158232.7k3](/packages/wapmorgan-media-file)[buggedcom/phpvideotoolkit

PHPVideoToolkit is a set of classes aimed to provide a modular, object oriented and accessible interface for interacting with videos and audio through the FFmpeg program.

26382.1k1](/packages/buggedcom-phpvideotoolkit)[kiwilan/php-audio

PHP package to parse and update audio files metadata, with `JamesHeinrich/getID3`.

3012.6k1](/packages/kiwilan-php-audio)[falahati/php-mp3

PHP-MP3 is a simple library for reading and manipulating MPEG audio (MP3)

5069.3k1](/packages/falahati-php-mp3)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
