From owner-freebsd-questions@FreeBSD.ORG Thu Jan 14 22:31:20 2010 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 85ED1106566C for ; Thu, 14 Jan 2010 22:31:20 +0000 (UTC) (envelope-from kline@thought.org) Received: from ethic.thought.org (plato.thought.org [209.180.213.209]) by mx1.freebsd.org (Postfix) with ESMTP id 3CDFA8FC1B for ; Thu, 14 Jan 2010 22:31:20 +0000 (UTC) Received: from thought.org (tao.thought.org [10.47.0.250]) (authenticated bits=0) by ethic.thought.org (8.14.3/8.14.3) with ESMTP id o0EMV5SK047220; Thu, 14 Jan 2010 14:31:05 -0800 (PST) (envelope-from kline@thought.org) Received: by thought.org (nbSMTP-1.00) for uid 1002 kline@thought.org; Thu, 14 Jan 2010 14:31:05 -0800 (PST) Date: Thu, 14 Jan 2010 14:31:05 -0800 From: Gary Kline To: Dan Nelson Message-ID: <20100114223105.GA84284@thought.org> References: <20100114012059.GA3921@thought.org> <20100114013746.GB67999@orion.hsd1.pa.comcast.net> <20100114024242.GA9744@thought.org> <20100114165717.GA5651@dan.emsphone.com> <20100114201616.GA73961@thought.org> <20100114211947.GB5651@dan.emsphone.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20100114211947.GB5651@dan.emsphone.com> User-Agent: Mutt/1.4.2.3i X-Organization: Thought Unlimited. Public service Unix since 1986. X-Of_Interest: With 23 years of service to the Unix community. X-Spam-Status: No, score=-1.2 required=3.6 tests=ALL_TRUSTED,BAYES_00, FH_DATE_PAST_20XX autolearn=no version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on ethic.thought.org Cc: Glen Barber , freebsd-questions@freebsd.org Subject: Re: any port use /dev/dsp directly? X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jan 2010 22:31:20 -0000 On Thu, Jan 14, 2010 at 03:19:47PM -0600, Dan Nelson wrote: > In the last episode (Jan 14), Gary Kline said: > > On Thu, Jan 14, 2010 at 10:57:17AM -0600, Dan Nelson wrote: > > > In the last episode (Jan 13), Gary Kline said: > > > > On Wed, Jan 13, 2010 at 08:37:46PM -0500, Glen Barber wrote: > > > > > Gary Kline wrote: > > > > > > I have a couple short programs where I mess with /dev/dsp. I'll > > > > > > open check to be sure the speed is right, open in mono or stereo, > > > > > > &c. is there anything is ports that uses this dev by opening, doing > > > > > > ioctls and so forth? > > > > > > A better way to play wav files would be to install the sox port and use > > > its included "play" command, which will parse the wav file format and > > > only send the audio data to /dev/dsp. It'll also play compressed audio > > > files (mp3, or other non-raw wav encodings). > > > > the hiss at the end probably is due to whatever metadata at the end of my > > WAV file. Can sox translate this file into a raw byte-stream of data that > > I can cat of write() into the device? > > Didn't I just say that in the paragaph above? :) The sox port comes with > its own "play" command that can parse many containers and encodings, > including wav files. I did see that. I'm wondering of theses is some sox translation that would do say %sox -w WAV -r [rawoutfile] I found that using your code, or part of it, I can do very nearly what my own dspplayer.c was doing. Only yours works and mine works with the hiss. I'm only using the dev/dsp part of your program; it reads from stdin; I.... well, I'm not sure where I screwup.... rats. time to take printouts and go in a corner and see why my 109-lines fails. --Of course, it worked before to create two flawless sine waves. I modified it, but not correctly. Meanwhile, I've rebuilt sox and will poke it with a stick! > > > (I thought that /dev/dsp was associated with the *.WAV files ... but > > evidently not.) > > Well, it's an audio device, and wav files contain audio data, but that's > about it. The driver doesn't parse its input looking for file headers or > anything. If you're lucky and /dev/dsp's default settings happen to match > the format of a raw-encoded wav file, then you can cat your file to > /dev/dsp. But otherwise you'll get static. Try catting any of the sample > wavs at http://en.wikipedia.org/wiki/WAV to /dev/dsp and see how many sound > good. > Wow, great; thanks for the pointer... > -- > Dan Nelson > dnelson@allantgroup.com -- Gary Kline kline@thought.org http://www.thought.org Public Service Unix http://jottings.thought.org http://transfinite.thought.org The 7.79a release of Jottings: http://jottings.thought.org/index.php