Re: audio?
> you probably are. default setting for /dev/audio is 8bit mono ulaw. a wav
> may or may not have a header which happens to be of the correct size to be
> one or more audio "blocks" and hence not upset things when you cat it to
> /dev/audio, i dunno.
I was under the impression that an audio "block" for an 8-bit mono wav file
was 8 bits. Headers are multiples of 8 bits, so that should be ok. The
real problem is the ulaw format. i386 /dev/dsp defaults to linear mode, no?
I used sox to convert a wav file from linear to ulaw encoding and then
used cat to send it to /dev/dsp and it sounded ok once I dropped the sampling
rate to 8 KHz. (It was still intelligible without the rate conversion of
course.)
> sun "au" is more my bag,
I see. These default to u-law?
> though lately it's been mp3 or nothing.
None of the Debian supplied mp3 players will run correctly, if at all. (At
least for me.)
> In reality a player problem like tplay would be your best bet;
> If you get noise, add the -x arg (for byte swapping) and try again. I have
> a 4231 in my SS4, and I wrote the driver. I assure you, it does work.
Ok. I'd have to download the source for that. That's not included with
Debian. I still haven't gotten around to it.
> As to /dev/dsp versus /dev/audio, in 2.2 kernels SunOS/Solaris ioctls
> worked much better than Linux ioctls. People whined,
Understandably so. This is Linux, after all.
> so I went back and
> entirely rewrote the Linux (OSS-compatibility) interface. [clip]
> Anyhow, you *should* be able to get all of drivers/sbus/audio/* and
> include/asm-sparc/audioio.h (or include/asm-sparc64/audioio.h if sparc64)
> from the CVS tree on cvs.on.openprojects.net,
I'm sorry. It's not obvious to me how to access this server. Is it the
same as the drive included in the v2.3 snapshots?
> in the devel (2.3) tree,
> drop them in your 2.2 kernel, and compile.
I downloaded several different 2.3 kernels/patches from .18 to .23. I
haven't yet been able to get any of them to compile. Has anyone on this
list successfully compiled a recent 2.3 kernel?
I tried your suggestion of dropping the 2.3 audio related files into the
2.2 source, but that failed miserably:
make[4]: Entering directory `/usr/src/kernel-source-2.2.12/drivers/sbus/audio'
sparc64-linux-gcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -m64 -pipe -mno-fpu -mcpu=ultrasparc -mcmodel=medlow -ffixed-g4 -fcall-used-g5 -fcall-used-g7 -Wno-sign-compare -DEXPORT_SYMTAB -c audio.c
In file included from audio.c:38:
/usr/src/linux/include/asm/audioio.h:277: parse error before `wait_queue_head_t'
/usr/src/linux/include/asm/audioio.h:277: warning: no semicolon at end of struct or union
/usr/src/linux/include/asm/audioio.h:290: parse error before `output_write_wait'
/usr/src/linux/include/asm/audioio.h:290: warning: type defaults to `int' in declaration of `output_write_wait'
/usr/src/linux/include/asm/audioio.h:290: warning: type defaults to `int' in declaration of `output_drain_wait'
/usr/src/linux/include/asm/audioio.h:290: warning: data definition has no type or storage class
/usr/src/linux/include/asm/audioio.h:298: parse error before `input_read_wait'
/usr/src/linux/include/asm/audioio.h:298: warning: type defaults to `int' in declaration of `input_read_wait'
/usr/src/linux/include/asm/audioio.h:298: warning: data definition has no type or storage class
/usr/src/linux/include/asm/audioio.h:304: parse error before `}'
I can probably back-port this code, but, do you have any better suggestions
before I do this? (As you can gather from the latency of my reply, I don't
have as much time to devote to this as I'd like.)
Eric
Reply to:
- Follow-Ups:
- Re: audio?
- From: Derrick J Brashear <shadow@dementia.org>
- References:
- Re: audio?
- From: Derrick J Brashear <shadow@dementia.org>