A Sound Server For X
An anonymous reader writes "X.org, the organization that governs the evolution of the X11R6 specifications, has released a sound server for X, called MAS. According to their site: 'MAS integrates with a compatible X11 server on your desktop. It processes graphic information locally, alleviating the need for network transmission of uncompressed graphical content. Graphic events are easily synchronized with audio events for professional-quality multimedia and accessibility-enabled applications.'" The X.org site describes MAS as an "affiliated technology" rather than "official," but it is released under the same license. "MAS" stands for "Media Application Server," and it's developed by Shiman Associates.
There are already a bunch of remote sound servers. I happen to like rplay, but there is also artsd, nas, esd, etc... Was the problem simply NIH syndrome?
It processes graphic information locally, alleviating the need for network transmission of uncompressed graphical content.
Since it relies on X11 I suspect the bandwidth requirements are going to be really high. X11 over the network is a bandwidth hog, that's all there is to it. Now they're adding sound?
X11 needs a new protocol. Graphical applications run across the network consume ridiculous amounts of bandwidth. If you want to do a test try running the XMMS gui across the network via X11. The last time I did it, XMMS was using 11 megabits per second. It would really suck to try that over a modem or a 64K frame-relay link.
Great, all the people who think X is too bloated as it is will now be crying "No mas!"
Lots of neat applications, actually. One of my favorites is a network monitoring room... For instance: network monitoring apps sample your network traffic once a second... while bandwidth and processor utilization of your servers is within preset values, an audio file of a creek is played over your X-enabled speaker system. When congestion occurs, you here a new audio file played (which is, of course, mixed into the original creek audio-file) of a herd of cows drinking water, or something... When a router or server goes down, an alarm is triggered, and a flock of crows start caw-ing; or an elephant trumpets, or whatever...
The point is, when everything is going fine, the audio environment of your network control room sounds like a peacefull woodland setting, or something. When something goes wrong, you hear the animals going crazy. It's a really, really great way to monitor a large network, without being glued to a network monitor all the time.
Typically, an X-server would alert you to each of these above mentioned alerts and statistics by displaying a video-file of some sort, which is displayed on your video monitor (CRT, LCD). With an X-sound-server, you can pipe the same alerts and statistics to audio-files which are 'displayed' on your sound monitors (speakers).
You should've read a little more about it. It's quite a bit more than a sound server, it's a graph-based media architecture, similar to DirectShow in Windows.
Thats the real question...
Today is a gift. Save the receipt.
The last big push from the Open Group was Broadway, which was an X protocol based plugin for web browsers. Look at how popular it is today! Their XPrint work is just as successful.
Key features of the Network Audio System include:
- Device-independent audio over the network
- Lots of audio file and data formats
- Can store sounds in server for rapid replay
- Extensive mixing, separating, and manipulation of audio data
- Simultaneous use of audio devices by multiple applications
- Use by a growing number of ISVs
- Small size
- Free! No obnoxious licensing terms
Applications that support NAS natively:- Festival - The Festival Speech Synthesis System.
- mpg123 - a command line MP3 player
- GAIM - a free AOL IM client
- OpenOffice (StarOffice) - the (now opensourced) StarOffice Suite has built-in NAS support for the Solaris and Linux Platforms.
- The Qt Library - from Trolltech supports NAS natively. You will need to pass the '-system-nas-sound' to './configure' before building.
- libSDL - SDL, the Simple DirectMedia Layer library, now has native NAS support thanks to Erik Inge Bols\x{00F8}
- XAnim - the X Animation viewer
- XBoing - a blockout type X game
- XPilot - a multiplayer client/server space warfare game
- Xemacs - the best cross-plaform, cross-language IDE
- Alsaplayer - A NAS Output plugin written by Erik Inge Bols\x{00F8} is now supplied with the Alsaplayer distribution.
- X MultiMedia System (XMMS). A NAS Output plugin written by Willem Monsuwe is available at ftp://ftp.stack.nl/pub/users/willem/
- Wine. A NAS plugin written by Nicolas Escuder is now available with the WINE distrubution.
Not a trollLess is more !
This major code release is only our first step. We're putting the MAS core out there in order to create a useful open standard. We feel that this code represents a radical departure from prior attempts to manage time-critical data on the desktop and across the network. We see this as a valid and innovative architecture with extensive implications for the management of media of all modes. In particular, one of the important applications of this architecture is to time-critical accessibility tasks which can now be handled in a completely generic fashion.
We encourage close examination of the code and we will do our best in the near term to bring as much of our insight and intention to the open community. We see this as an opportunity for collective and collaborative innovation.
From our website:
MAS will provide a complete mechanism for media support, for all pluri-modal media, for all platforms, for all operating systems, for all window systems.
MAS supports the desktop and, transparently, the network. In particular, MAS will provide complete support for the X Window System, across the network.
MAS is an open system: the complete core will remain under the original MIT ("X") license, equally supporting open and proprietary use and development.
MAS provides mechanisms for structured extension, and will be supported by dedicated testing and certification processes.
We wish explicitly to thank Sun Microsystems and X.org for their generous support.
Leon Shiman for the MAS Development Team
Well, we looked hard at the Network Audio System (NAS), and at DEC AudioFile, and esound and aRTs. And we looked hard at the efforts of Tice and Welch at the X Consortium whose X Common Audio project was to take the best of the NAS and DEC AudioFile to form the standard solution. And, we looked hard at all kinds of other soundserver-related things out there.
Our conclusion: none of them had the kind of system-pervasive time management one needs to handle sound, let alone video or other time-dependent information. The system that came closest to meeting our timing needs was DEC AudioFile, but it was not extensible enough for our needs, and lacked support for sample rate conversion.
We didn't take the conclusion lightly. As you say, there's all these applications that support the Network Audio System natively. There's all those old NCD X tubes that support it in firmware, too. And, I really have no interest in stepping away from code that has most of its bugs worked out. But, we just did not see how NAS would scale in both performance and in functionality to handle the kind of high-performance multi-media we all want to see on Linux and UNIX.
I think MAS is a great platform to handle the timing. It's young, though. We're working hard now on a soundserver-style API to ride on top of the lower level core API that's in the source distribution. Beyond that, there are a host of security issues to work through, and the X.org standards process. (Also on our to-do list is a more detailed developement roadmap for the website!)
I think there's a ton of cool, useful stuff in the core of MAS now. For instance, we compute a running estimate of your soundcard's actual sampling rate. You can use that estimate to drive the sample rate converter (srate) device to resample audio to the actual rate of your sound card. We've been appalled at how far off some soundcards' crystals have been!
Please be patient if you e-mail us... We're getting a lot of e-mails for some reason.
Thanks,
Mike Andrews
Lead Developer, Media Application Server (MAS) Project