Path: utzoo!attcan!utgpu!news-server.csri.toronto.edu!mailrus!cs.utexas.edu!samsung!uakari.primate.wisc.edu!nic.MR.NET!uc!shamash!mpe From: mpe@shamash.cdc.com (2375) Newsgroups: comp.sys.ibm.pc Subject: Re: Speaker Control/Music Message-ID: <21857@shamash.cdc.com> Date: 27 May 90 17:34:26 GMT References: <1990May23.162547.26538@agate.berkeley.edu> <948@ashton.UUCP> Reply-To: mpe@shamash.cdc.com Distribution: usa Organization: Control Data Corporation, Arden Hills, MN Lines: 27 You can seemingly control the speaker volume by alternating the interval between tones. An example of a routine is: for i:=1 to count do begin sound(1000); nosound; delay(volume); end; In this routine, the tone of the sound is the value 1000 and the volume is somewhat controlled by the delay interval between sounds. Please note, the method outlined here only approximates the function you want and the REAL output tone will be a rather complex combination of the actual sound tone and the delay time. Find someone who knows something about FFT's to explain what I mean... As for a TSR routine to implement this, I leave that to the reader as an exercise. The fastest method that I know to implement a solution to control the volume of a PC for the purpose of not waking everyone up during midnight programming sessions is to splice-in a variable resistor is series with the speaker. cat *flame* > /dev/null .