in reply to playing sound files

You can send audio direct to the /dev/dsp, but it can get tricky depending on your soundcard and sounddrivers. You need to make sure the wav is in the default input format for your sound system, or else you will hear static. Usually, you need to "set" the soundcard parameters before playing anything. Here is a way to generate your wav directly.
#!/usr/bin/perl use warnings; use strict; use Audio::DSP; $| = 1; my $sample_rate = 22050; #44100 gives best sound, but highest cpu #8000 works my $channels = 1; my $format = AFMT_S16_LE; #8 bit won't work on SBLive my $buffer = 4096; my $dsp = new Audio::DSP(buffer => $buffer, channels => $channels, format => $format, rate => $sample_rate); $dsp->init() || die $dsp->errstr(); ############################################################ my $freq_adj = .1; my $vol = .5; my $toggle = 1; while(1){ make_tone($freq_adj, $vol); if(($freq_adj > 4) or ($freq_adj < .1)){ $toggle *= -1;} $freq_adj += ($toggle * .001); #higher increment numbers are slower #0 is pure tone } sub make_tone { my $rad = 0; my ($freq_adj, $vol) = @_; while ( $rad < 6.283 ){ $rad += $freq_adj; my $raw = ($vol*32768) * sin($rad); #max times my $num = pack( 'V', $raw ); $dsp->dwrite($num); } }

I'm not really a human, but I play one on earth. flash japh