From owner-freebsd-multimedia Fri Jan 19 08:57:42 1996 Return-Path: owner-multimedia Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id IAA26635 for multimedia-outgoing; Fri, 19 Jan 1996 08:57:42 -0800 (PST) Received: from miller.cs.uwm.edu (miller.cs.uwm.edu [129.89.9.13]) by freefall.freebsd.org (8.7.3/8.7.3) with ESMTP id IAA26626 for ; Fri, 19 Jan 1996 08:57:34 -0800 (PST) Received: (from james@localhost) by miller.cs.uwm.edu (8.7.3/8.7.3) id KAA15680; Fri, 19 Jan 1996 10:56:03 -0600 Date: Fri, 19 Jan 1996 10:56:03 -0600 From: Jim Lowe Message-Id: <199601191656.KAA15680@miller.cs.uwm.edu> To: hasty@rah.star-gate.com, schulzrinne@fokus.gmd.de Subject: Re: FreeBSD and VAT Cc: multimedia@freebsd.org, multimedia@rah.star-gate.com Sender: owner-multimedia@freebsd.org Precedence: bulk > From: Henning Schulzrinne > > > > > Any suggestions, as to how to solve the problem that certain cards > > don't run at given frequency and that they tend to oscillate. > > > If you know the "real" rate, just configure your card to run at a > different nominal frequency (it sounds like they can be adjusted to any > rate). If the card can't keep its frequency stable, it will sound like > a tape deck which can't move the tape at constant frequency. For voice, > pauses between sentences and/or turn taking will take care of even > large frequency deviations. For music, you probably don't want to > listen to a card that can't keep pitch... > > Given how cheap crystal oscillators are, I'm amazed that people build > cards that can't stick to a nominal frequency. (All useful frequencies > are multiples of either 8000 or 11025 Hz, it seems.) Yes, and maybe this is the real solution. Just come up with a device that one can seperatly calibrate. Maybe something like /dev/caudio (calibrated audio). Then run a calibration program that would sample against the time of day clock and set the frequency based on sampled results. The calibration program could be run at boot up of the system and determine actual speeds for the different sound cards and tell the driver what these speeds are. This way when the user would ask for 8khz, they should be able to get something within .1% of 8khz from /dev/caudio (or for Amancio /dev/cdsp :-). I don't know why I didn't think of this before (a year or two ago). Thank you. I suppose one could make caudio/cdsp a little more complicated and add features for full duplex utilizing the oddities of the different sound cards. Such as pas-16, 2 SB's, SB-16, gus, gus-max, etc... This way one could have a calibrated full duplex interface for whatever application they wanted to use it for. The BSD audio interface seems to have all the stuff needed. It would certainly solve a lot of problems. Anyone care to write it and add it to the VOXware distribution? -Jim