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

时间:2012-12-11 13:11:04

标签: php audio

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

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

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

非常感谢:)

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

1 个答案:

答案 0 :(得分:1)

试试这个。 (它使用SoX,因此它不是一个纯PHP解决方案,但效果很好。

您的HTML

<embed height="50" width="100" src="/test.php?tone=1000">

你的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);