Date: Wed, 18 Jul 2001 14:18:18 -0600 (MDT) From: Mike Holling <myke@ees.com> To: Christoph Kukulies <kuku@gilberto.physik.rwth-aachen.de> Cc: multimedia@FreeBSD.ORG Subject: Re: writing a sine to a .wav Message-ID: <Pine.BSF.4.21.0107181410590.345-100000@av.fks.lan> In-Reply-To: <200107181542.f6IFgtl63993@gilberto.physik.rwth-aachen.de>
next in thread | previous in thread | raw e-mail | index | archive | help
> Does anyone know of a function (API) or whatever that allows for generating > .wav data (or .mp3) data out of mathematical functions like sin(x),sin(2x), > sin(3x) etc. Here's a quick and dirty perl script to generate a tone. Just direct the output to /dev/dsp, which should be set for 8khz mono 8 bit by default: perl wave.pl > /dev/dsp You can use sox to convert the output to a .wav file. #!/usr/bin/perl # Generate a sine wave at some frequency $rate="8196"; $pi=3.141; $seconds=5; $length= $rate*$seconds; foreach $f (220) { $period= $rate/$f; $glob=2*$pi/$period; for($s=1;$s<$length;$s++) { $out=sin($s*$glob)*127+128; printf("%c",$out); } } - Mike To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0107181410590.345-100000>