使用PHP创建特定频率的.wav文件

5 php audio

我是这个东西的新手,所以很容易......

我想要做的就是使用PHP构建一个特定频率的简单音调.它应该输出一个.wav文件,可以直接插入HTML音频标签.

我真的不知道从哪里开始,因为我甚至不了解音频数据的存储方式.任何人都可以建议资源或直接帮助我吗?

非常感谢:)

PS有一个类似的问题,虽然我不认为这是我正在寻找的.

chr*_*don 1

尝试这个。(它使用 SoX,所以它不是一个纯 PHP 解决方案,但它运行良好。

您的 HTML

<embed height="50" width="100" src="/test.php?tone=1000">
Run Code Online (Sandbox Code Playgroud)

你的PHP

<?php
    $tempFile = tempnam(sys_get_temp_dir(), 'AUD') . '.wav';
    $pitch    = (int)$_GET['tone'];

    exec("sox -n $tempFile synth 5 sin $pitch");

    header('Cache-Control: max-age=604800');
    header('Content-type: audio/x-wav');
    header('Content-Transfer-Encoding: binary');
    header('Content-Length: '.filesize($tempFile));
    readfile($tempFile);
Run Code Online (Sandbox Code Playgroud)