Surround Sound WAV Editors?
dayeight
asks:
"Are there any surround sound .wav editor anywhere?
I want to sit in the middle of my room and have one speaker
start counting and have it jump to the next and so fourth.
Something with CoolEdit's stereo split would be nice, but
for all the (5.1) speakers available. Now that I have a
cd-burner I really want to do this. Or maybe, put a
seperate song for each speaker (screw the woofer). Can a
burners even do this?"
Also remember with Dolby Pro Logic (DPL) the rear channels are not discrete. You really want AC3 which would allow you to position sound around you rather than behind, left, center, right.
Sam (too lazy to create an account)
Yes, as stated in the previous comment, Sonic Foundry's Soft Encode will work for you, but it's a little pricey. There's a DirectX plugin called called PanHandler (http://www.kellyindustries.com/) that costs $79 that should also do the trick for you.
What about front? Or is that center?
Take a peek at Sonic Foundry's "Dolby Digital Audio Encoding Software"
;^)...
t .asp?PID=101
You can d/l a demo to get the hang of the concept and maybe get inspired to track down the specs for a little OSS dev (sorry, making phun of the other post in this stream re:OSS vs. OSS
[from the site]:
Multichannel Dolby Digital audio encoding is now available in a software-only solution! Soft Encode converts your multichannel audio files to the standard AC-3 format for use in DVD and laser disc authoring projects or ATSC/DVB television, cable, or satellite applications. Soft Encode is highly compatible with Windows 9x/Windows NT audio editing systems. Sonic Foundry offers the audio-coding technology in two versions: 5.1-channel and 2-channel.
http://www.sonicfoundry.com/Products/ShowProduc
Unfortunetly the CD audio specs (some colored booked) are only 2 channels. Therefore you can not get quadraphonic (or greater) "songs" in cdda format.
But, you could just burn your wav files to a disc and play them through that. I'm not too sure about how the soundcards handle the mixing, but if my creativity is as conforming as those at Creative I am sure you could just load up different sound players and dump them to the different speakers. Well, that is if your programs can control their output like that, or atleast your mixer.
-- DrZaius - Minister of Sciences and Protector of the Faith
Lets ASSUME the following:
:( but might not be a bad start.
1) linux has support for only stereo (no 3+ speakers)
2) linux supports multiple soundcards OR you have multiple systems networked both equiped with soundcards
3) you make one wave file for every pair of speakers (the same length of course)
4) you can take these wave files and using perl or other language and send the data to the appropate sound card.
I assume that could work.. although It wouldn't be the most practical and would require multiple wav files
The limiting factor in getting multichannel sound out of your sound card is seldom the driver; it is almost always the card itself. If your card has more than two physical channels of output, chances are that the driver can address them, although many applications are not designed to take advantage of this.
Quadraphonic and other more-than-two channel sound is well supported with all the Linux sound drivers I know, including both the free and commercial versions of Opensound (OSS), and its more modern free competitor ALSA.
If you have more than one sound card in your machine, you can even use a few audio channels from each at once to drive different speakers.
One program I know that can handle quadraphonic sound (maybe more) is Csound. It is a difficult program to learn, but very powerful and might suit your purpose (it is general enough to suit many purposes). Information about this and just about everything audio-related for Linux is available at the Linux Audio Developers Resource Site.
Hope this helps,Div.
--
But my grandest creation,
As history will tell,
Was Firefrorefiddle,
But my grandest creation, as history will tell,
Was Firefrorefiddle, the Fiend of the Fell.
Actually, the red book standard does allow for 4 channels. In fact every track on every cd has a bit in the subcode to say whether or not it has 4 channels.
I don't know if there are any commercially available players or even software available.
> Since OSS doesn't offer any method of synchronizing multiple soundcards or transparently rolling multiple soundcards into one, the only way to do it is a very platform and soundcard dependant DMA routine at the application level. Only a couple soundcards work with DMA methods and anyone using it has to rewrite their program everytime a new kernel comes out so it hasn't really worked.
:-p =). I wrote a program that does real-time sample / separate / output for Dolby decoding with two soundcards, one full-duplex and one half-duplex. I watched the first of the third Star Wars episode with it.. it sounded pretty bad ass =).
Sorry, you are wrong
You can setup DMA buffers with OSS and then use select() to synchronize output. This only works right if you have two soundcards of the same kind (or they are willing to share a DMA buffer size) but it is NOT kernel or card dependent.
That doesn't cover 5.1 encoding though ^_^;
Cryptic Allusion - New Mac and Dreamcast Games!
First of all, no soundcards greater than 2 channels are supported by
any Linux sound driver today. Secondly, whether your software
interfaces OSS, ESounD, WMSound, NAS, CRAPI, libmikmod, rplay, pciaudio, or
any of the other abstraction layers, the libraries themselves all
interface OSS.
Before Microsoft coined the term OSS to mean Open Source Software and
changed the world, OSS was better known as the Open Sound System
standard.
This unmicrosoftened OSS is what 99% of Linux audio applications use to
interface the audio hardware. There were some attempts to improve on
OSS itself, like ALSA, but these are platform dependant and
dynamically linking the ALSA library, or even so much as #including the ALSA
include file in your program locks you into very very restrictive
licensing.
OSS is platform independant and very liberal in its licensing, so it's
become the most pervasive.
OSS by definition can only support 4 channels per soundcard. Even if a
5 channel soundcard was supported by the Linux kernel, the method the
software uses to interface the soundcard, the OSS API, is limited to 4
channels. Supporting more than 4 channels per soundcard is binary
impossible without breaking all Linux software.
There were some attempts to support simultaneous soundcards at the
application level, limiting you only to the PCI slot count. Slab tried
to do this. Since OSS doesn't offer any method of synchronizing
multiple soundcards or transparently rolling multiple soundcards into
one, the only way to do it is a very platform and soundcard dependant
DMA routine at the application level. Only a couple soundcards work
with DMA methods and anyone using it has to rewrite their program
everytime a new kernel comes out so it hasn't really worked.
Okay this is easy. I'm assuming you're talking about dolby surround sound -- like what you get off TV and movies, the left, right, center and mono rear arrangement rather than the Dolby Digital 5.1 arrangement... doing the latter means having a licensed AC3 encoder.
Doing the former is a piece of cake. Surround sound is based on a simple concept of pulling two additional channels from the left and right channels. Center is easy -- anything that runs in the left and right channel at the same time, same amplitude, and so on, goes to the center channel. That's why you can turn the center channel off on a surround sound receiver and not really lose much.
The rear is just as simple. The rear is any sound thats identical in the left and right except the phase. Ie, one's the inverse of the other. So, to play sounds out your soundcard moving around the room, starting at the rear you'd output data like this: (assuming a mono source, where X is the 16 bit value for the current sample)
Left | Right
-----------------
Left X | 0
Center X | X
Right 0 | X
Rear 65535-X| X
Does that make sense? You simply want to invert the data stream on one of the channels to send it to the rear.