#!/usr/athena/bin/perl use strict; my $freq = shift; my $samrate = 44100; my $secpersamp = 1.0 / $samrate; my $x = 0; my $y = 0; my $xmax = 0.01; my $pi = 3.141592653589; # approx while ($x < $xmax) { $x += $secpersamp; $y = sin ($x * 2 * $pi * $freq); my $yword = int ($y * 32767); print pack ("ss", $yword, 0); }