PHP does not have built-in extensions to manipulate audio. This apparent limitation can be compensated by using external audio manipulation programs that PHP can execute.
Sometimes it is necessary to manipulate large audio files. If PHP retrieves the resulting audio files into memory before serving them to the users, that may exceed the configured PHP memory limits.
That also would impose a delay caused by the time that programs take to finish the audio processing operations.
Another alternative is to generate temporary files to store the result of the requested audio manipulation operations. This would solve the memory problem, but it could take too much disk space and would not solve the delay problem.
This class implements an alternative that takes advantage of pipes between programs that are available under Unix, Linux and other systems, to execute external audio manipulation programs.
This way, the resulting audio files can be streamed directly to the user browser without any delays, and without taking too much server memory or any disk space.