openvortex-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Openvortex-dev] Quad surround?


From: Callum Lerwick
Subject: [Openvortex-dev] Quad surround?
Date: Sat, 14 Jun 2003 03:10:53 -0500
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4b) Gecko/20030508

So can we start making wishlists now? :) I'd really like to be able to use four speakers, for starters just mirroring the front output on the rear speakers would be useful. I remember someone mentioning in an old post you just had to tweak an AC97 register, but never gave any details. The mixer has a bunch of Surround sliders, but none of them seem to do anything.

I've played with ac97mixer in Windows, apparently the ac97codec has a cheezy 3D effect unused in the windows drivers, there's some sliders in ALSA that appear to be for tweaking it, one of them barely percepibly changes the sound a little but the effect doesn't seem to get fully enabled like can be done in windows, unmuting doesn't seem to do it. Would be fun to play with this, with the lack of A3D...

Next step is of course full 4 speaker output. Do we know enough to do this any time soon? Some surround sound in Xine would be sweet.

And beyond this I had a lengthy rant about 3D Wavetracing/HRTF sound typed up but a power failure ate it. So here's a different one. I've been reading up on 3D sound and playing with Aureal's A3D SDK and think I have a pretty good handle on how it all works, just search Google for 'HRTF' and you'll get a ton of documentation and freely licenced HRTF measurements, which is the hardest part to get right. A DSP wizard could easily write up a GPL HRTF system with the info thats freely available. (there's even some example highly SGI specific source code)

Where the Aureal hardware fits in to it all I don't know, my guess from looking at the process involved at the very least its a mean lean multi-channel EQ-ing machine, perhaps it can also run a delay line and pitch shift per channel for doppler effects. Probably has crosstalk cancelation in hardware. I think reverb was hacked on in software after EAX became popular, though Wavetracing was really just a nice marketing term for realistically simulating early reflections rather than just faking it, combined with the late reverb its as accurate a simulation of a real world space as you're going to get. Is the Aureal hardware programmable in anything resembling a general DSPish way at all or is it all hard wired?

IMHO PC sound is trailing behind in the stone age and always has been. The Amiga had (rather low quality but...) wavetable in the mid 80's, in the early 90's the rise of the clones bring us the Soundblaster, a pathetic single channel codec. The Gravis Ultrasound, a very nice wavetable card started gaining ground in DOS, only to be shot down by Gravis's failure to come out with working Win95 drivers, leaving us with the AWE32, a weak imitation not useable as anything but a MIDI synth, multiple channels in hardware useable in a general way isn't seen again until PCI cards become common and supported in DirectSound. (Late 90's!) Later we get the Vortex, with a technology not even seen before in a consumer product, shot down by Creative's marketing of cheezy DSP effects that have been around as long as digital sound itself.

If sound were like 3D graphics, right now we'd have the entire audio system, with HTRF, wavetracing/reverb, etc in hardware, with programmable 'audio shaders' (pardon my making up trendy stupid marketing terms based on current trends...) integrated INTO the video card, feeding off the video card's geometry information and geometry processing ability (why duplicate the effort?). OpenGL/Direct3D would have to be extended to integrate closely with what A3D/EAX/DirectSound3D currently does...

Too radical perhaps? I don't want my sound card in my video card you say? Its the way we're going to have to go to do detailed 3D audio efficiently.

I need to pull a copy of OpenAL and see what Creative is doing to it.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]