Subject: Audio revisited.
To: None <netbsd-help@netbsd.org>
From: Richard Rauch <rkr@olib.org>
List: netbsd-help
Date: 10/30/2004 23:13:48
I've been doing some experiments in audio recording.

My biggest problem is my laptop at this point.  Its sound
hardware looks like so:

wss0 at pnpbios0 index 3 (NMX2210)
wss0: io 220-22f 530-537 388-38f 330-331 370-371, irq 11, DMA 0 1
wss0: CS4231
audio0 at wss0: full duplex, mmap
opl0 at wss0: model OPL3


...there is also an audio1 using the hardware in SoundBlaster mode.
But that apparently is limited to 8 bits per sample, so I haven't
looked much at the secondary interface.

The kernei is 1.6ZC.  I can't use a -current kernel since
around July, when the ethernet ceased working (there's a PR
open on that).

What I want to do is record the output from a tape-recorder,
without going through speakers/headphones and a mic.  I have had
good success at doing this on a desktop/tower system, but the
laptop is fighting me.  One of the problems is that the options
(and defaults) for hardware are highly hardware dependant, so
that audioctl/mixerctl commands that work with one system may
not be sufficient for another.

The problems that I've run into are:

 * If I hook up the headphone output to the mic input, the
   volume tends to overwhelm the NetBSD audio device.  Apparently
   the port has "preamp" on.

 * I can't find a "preamp" option to turn off with this laptop's
   sound.

 * If I hook up to the "line in", then (with "monitor" enabled)
   the audio comes out the laptop's speaker.  BUT it does not
   seem that NetBSD's audiorecord is recording at all through
   the "line in".

   Instead what happens is that the audio signal is sent over the
   "line in" port, pumped to the speaker, played, and then picked
   up by the laptop's mic, which is close to the speaker.  Actual
   recording seems to be done through the "mic", even when I
   ask audiorecord to get data from "line".

   This results in lowered quality an also, since the microphone
   is used for getting audio data, it is susceptible to background
   noise interfering.


I do not absolutely require this feature, but if I can get it,
I'd like to have it work.  I'm considering putting LINUX or
FreeBSD on this laptop, as NetBSD has regressed somewhat on
the laptop over the last few months (the -current kernel no
longer can use its ethernet at all).  But, given my preferences,
I'd rather run NetBSD on the laptop.

More info (dmesg, audioctl -a, mixerctl -a) available on
request.

Or is the laptop's hardware likely just not capable of doing
what I expect?  (Record on "line" to the exclusion of
whatever is coming in on "mic"---or turn off "preamp" on
the "mic" input.)

-- 
  "I probably don't know what I'm talking about."  http://www.olib.org/~rkr/