<?php

require_once('makeWaveData.php');

// $sampleRate = 8000; // Phone quality
$sampleRate 44100// CD quality
$nChannel 1// 1:monoral, 2:stereo
$toneA 440;
// $sampleBits = 8; // 8 or 16
$sampleBits 16// 8 or 16

$period 0.05// seconds;
$data '';
$theta 0;
$theta_delta $toneA M_PI $sampleRate;

$amp 0x1000;
$totalSamples $sampleRate $period;

for (
$i $i $sampleRate $period $i++) {
// signed 16-bit array (little endian)
//    $v = 0 + 0x4000 * sin($theta);
    
$v $amp * ($totalSamples $i) / $totalSamples mt_rand() / mt_getrandmax();
    
$data .= pack('v'$v); // acrovatic using for 'v'
    
$theta += $theta_delta;
}

echo 
makeWaveData($data$nChannel$sampleBits$sampleRate);