Slashdot Mirror


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.

33 of 220 comments (clear)

  1. What's wrong with the old ones? by martinde · · Score: 4, Interesting

    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?

    1. Re:What's wrong with the old ones? by akeru · · Score: 5, Informative
      1. esound sucks, I mean, really
      2. network transparent sound (ala X)
      3. tightly coupled video and audio (check out their page for the latency requirements)
      4. cooperates with the X server:
        can send audio data over a number of different transports, including CORE X


      I could go on, but I can summarize with: MAS is a much, much better solution than those you mentioned for X applications. To top it all off, I'm pretty sure it doesn't require X, and can be used for console apps as well. (mpg321, etc.)
      --

      Let's hope that there's intelligent life somewhere out in space 'Cause there's bugger-all down here on Earth.

    2. Re:What's wrong with the old ones? by optikSmoke · · Score: 3, Interesting

      arts = network-transparent, can be configured to send data over X, works with console apps, includes a plugin architecture for combining sound streams and applying funky effects and whatnot, and is already well-developed and stable. Also, it supports multiple underlying sound architectures (OSS, ALSA, and some for non-linux unices). Plus, it can play formats such as ogg and mp3, and can route normal oss apps to use it using artsdsp. Why the need to constantly be reinventing the wheel?

    3. Re:What's wrong with the old ones? by DunbarTheInept · · Score: 4, Interesting

      For one thing, I've wanted for a long time the convenience of being able, in one setting, to describe the remote-relationship for all media. I don't want to have to say, "send my $DISPLAY to this host, and then here's a command-line arg to do the same thing for this one music file I want to play." I want to be able to say, "Send all my media to $DISPLAY, both visual and audio" and then be able to have all X programs pick up on that.

      --

      Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.

    4. Re:What's wrong with the old ones? by VistaBoy · · Score: 3, Informative

      I have much to bitch about aRts...Quake 3 for Linux crashes at startup with it on, and artsdsp doesn't work very well with Quake 3. Not only do you have to do "artsdsp -m quake3", but when you fire a shot, you see the shot, and about two seconds later you hear it. To alleviate that little problem, you have to turn down the buffer that the aRts server has. However, in doing that, you make the sound stutter like a mofo. OSS works properly with Quake3, but aRts is a stumbling block.

      Remember: The first thing you should do when you log into KDE for the first time is go to the KDE sound server window and turn off the aRts server.

    5. Re:What's wrong with the old ones? by eviltypeguy · · Score: 5, Informative

      You only need the sound server if you want "gee neato" sound effects from KDE or Gnome. I'm not aware of any game or program personally that specifically requires one of these sound servers to be active. XMMS for example can output directly to /dev/dsp using the OSS driver.

    6. Re:What's wrong with the old ones? by dozer · · Score: 4, Informative

      aRts is every bit as bad as esd. That performance/latency slider is impossible to set such that sound has decent latency and doesn't stutter.

      This is life with aRts:

      Open control panel. Tweak slider down. Launch MAME.
      Open control panel. Tweak slider way up. Play mp3s while I work.
      Open control panel. Tweak slider down. Launch Quake3.
      Open control panel. Tweak slider up. Launch Xine. Live with audio and video being ~300ms out of sync because anything less causes horrible stutter.

      The worst part is, if aRts were designed properly, this slider would be totally unnecessary. aRts also uses an insane amount of CPU time.

      I'd like to see Gnome and KDE adopt Jack. Jack works. MAS sounds interesting too. I look forward to seeing comparisons.

  2. About time by InterruptDescriptorT · · Score: 3, Interesting

    From all the experience I've had with X applications, a sound server is the first thing that they need.

    I've used a lot of X apps that have crashed due to bad requests (especially those dealing with unsupported colourmaps), and it makes sense that someone would shore up the current state of the code and work on stability. But why has it taken so long?

    At any rate, this is a good step forward--hopefully we'll see more X-based apps improved as to stability and speed (X isn't the speediest thing in the world).

    --
    Karma: Excellent Birds (mostly as a result of listening to Laurie Anderson)
  3. Is it something like... by cronot · · Score: 3, Insightful

    ESound? Asd? ARTs? It seems a little different in concept, but I just can't get it. If it is, so cheers to the guys that made it... Linux at least (as I understand this is for X, so *BSDs and other *nix should benefit too) need a more standardized sound architecture (Yeah, I know about ALSA, but I mean something more higher level - like DirectSound)

    1. Re:Is it something like... by ikewillis · · Score: 5, Informative
      "ESound? Asd? ARTs? It seems a little different in concept"

      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.

  4. I'll have to see the bandwidth tests first. by FreeLinux · · Score: 4, Insightful

    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.

    1. Re:I'll have to see the bandwidth tests first. by akeru · · Score: 5, Interesting

      If XMMS is using that much, then it is seriously broken. Admittedly, X *can* use a lot of bandwidth, but the onus for this is almost entirely on the application (toolkit) developer. Gtk+ and QT used to be really bad at this, but have since improved dramatically. Even so, there are a lot of variables to consider and using a light-weight theme in your respective toolkit can make a large impact on network performance.

      When I work from home, I do so *entirely* out of an ssh-forwarded X connection, including, but not limited to, multiple XEmacs sessions, terminals and occasionally a remote Mozilla. The *only* problems I have encountered involved XEmacs doing silly things with the cut-buffer and pausing momentarily.

      I am, admittedly, not an expert on the X11 wire protocol, but from what I have read from those who are, it is not inherently bandwidth heavy, but any protocol can be abused.

      Additionally, sound is surprisingly light on a LAN. Doing some tests with K12LTSP esd integration Eric Harrison discovered that streaming audio frequently takes up less bandwidth than moving a window in "opaque" mode (contents continually updated)

      --

      Let's hope that there's intelligent life somewhere out in space 'Cause there's bugger-all down here on Earth.

    2. Re:I'll have to see the bandwidth tests first. by aardvarkjoe · · Score: 4, Insightful

      Your problem is that you're trying to use a program that relies on eye-candy over the network. (At least, I think that's the idea. I can't imagine any other reason for the incredibly bizarre interface of XMMS.) Of course it's going to be slow without a fast link. How is a "new protocol" going to help?

      This will essentially be the same as streaming audio from the network. (You might be able to cache some sounds locally, for improvement, but for playing music or whatever that's probably not much of an option.) No, the modem users probably won't find this useful. But those of us with a fast connection to the other computer can benefit greatly.

      --

      How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
    3. Re:I'll have to see the bandwidth tests first. by xeniten · · Score: 5, Informative
      It sounds like ( pun intended ) that they have taken bandwidth into account. There are a number of references to bandwidth performance on the MAS site.


      "MAS enables low-latency Internet conferencing and telephony. Automatic bandwidth measurements and MAS's dynamically-switchable CODECs insure that the conference quality scales from 56K modems to T1 lines. "


      "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. "


      "MAS handles network-distributed media processing and intricate format configuration tasks. It continually measures system performance and adjusts its actions depending on the available system resources. The longer it runs, the better it knows your system."

      --
      Romana: "How did you know?" Doctor Who: "Ah, well, knowing is easy. Everyone does THAT ad nauseum. I just sort of hope"
    4. Re:I'll have to see the bandwidth tests first. by eviltypeguy · · Score: 5, Informative

      Actually, MAS may integrate with X11, but it doesn't use the X11 protocol, it uses the "RTP" (Real Time Protocl RFC 1889, January 1996) for all communications. Except for multicast mode or in multi-participant mode. RTP is obviously very efficient for this type of data payload...

  5. no mas! by prockcore · · Score: 4, Funny

    Great, all the people who think X is too bloated as it is will now be crying "No mas!"

  6. Virtual Environments - Network Monitors by VoidEngineer · · Score: 5, Interesting

    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).

    1. Re:Virtual Environments - Network Monitors by Greedo · · Score: 4, Insightful

      You're talking about Peep, right?

      --
      Tuus crepidae innexilis sunt.
    2. Re:Virtual Environments - Network Monitors by ryanvm · · Score: 3, Interesting

      I'm surely getting some of the details wrong, but I believe that one of the big tech universities had something like this. It was a big cable that extended from the floor to the ceiling, and it moved according to the amount of network congestion being experienced. So if utilization was down around 5 or 10 percent it would be gently wiggling, but as utilization increased the degree to which it would thrash and flail increased too.

      I always thought that would be wicked in a server room.

  7. But does it go to 11 by niall2 · · Score: 5, Funny

    Thats the real question...

    --
    Today is a gift. Save the receipt.
    1. Re:But does it go to 11 by stem · · Score: 3, Funny

      The official reason is that we're going to restrict the volume settings to 0-100 for non-privileged users, and allow privileged users to set the volume up to 110. This way, privileged users can always punch through the mix with something that's a little bit louder. How much louder, you ask? One louder.

      There's also a db scale, but... it's just not the same thing.

      -Mike

  8. Poor name choice by soupdevil · · Score: 3, Informative

    There is already a MAS associated with audio -- MOTU Audio System plugins.
    (http://www.motu.com/english/software/gl obal/index .html)

    Perhaps they should have done a bit of name research.

  9. Stability at last! by YetAnotherName · · Score: 3, Funny

    A sound, solid server will certainly help with all sorts of stability problems I've experienced with X over the years.

    Oh wait ... you meant sound as in audio? Oh, nevermind.

  10. Is the X Consortium relevant anymore? by GGardner · · Score: 4, Interesting
    Is the X Consortium (err, the Open Group), even relevant anymore? Substantially all the good work for X is done under the auspices of the XFree86 folks, or the higher level toolkits (GTK, KDE, etc.).

    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.

    1. Re:Is the X Consortium relevant anymore? by Anonymous Coward · · Score: 3, Insightful

      > XFree86 is the "Official" X.Org references implementation, if that answers your question.

      For a long time, x.org snubbed XFree86. It was finally accepted into the fold because the popularity of XFree86 had gone way above and beyond any other, and X.org had thus become quite irrelevent compared to Xfree86.

  11. NIH = Not Invented Here. by Ungrounded+Lightning · · Score: 3, Insightful

    What does the National Institutes of Health have to do with this? :_|

    NIH = Not Invented Here. (Implication: So let's ignore it and reinvent this wheel our own way. Like maybe without that obnoxious radial symmetry. Besides, a round wheel might violate some patent. So let's have lots of engineer fun and waste lots of money, instead of pulling an existing design off the shelf, filing off a few rough spots so it will fit, and installing it.)

    NIH goes along with management that thinks you need young developers who are constantly creating (and will reinvent the bubble sort), rather than experienced developers who already have the answers in the can (and will pull down their copy of Knuth Vol III and pick the right sort for the job.)

    Which is not to say that I agree with the poster's conclusion that they may be ignoring fine solutions in order to construct one of their own. Integrating the video and audio server and protocols - rather than grafting audio onto an existing video server (which is in turn grafted onto something originally designed for more static displays) - is the right solution for synchronized video/audio. And the integration may have different problems than gluing the bag onto the side of the kludge.

    --
    Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
  12. About time! by Kickasso · · Score: 3, Insightful

    And for those who are asking what's wrong with existing sound servers: there's no standard mechanism to query whether one of them is running, especially on a remote machine. (No, relying on magic port numbers is wrong.) And not all of these servers run under all Unix variants. I personally have had very hard time trying to make aRTs work under comercial unices. With this stuff you just talk to X server. There's hope big players will support it because X is the industry standard. esd, to put it bluntly, isn't.

  13. Re:What X needs more than a sound server: by diamondc · · Score: 3, Insightful

    No. The X clipboard takes some used to (text copied with left button is different from text that is copied from ctrl+c), but it's been standard for over a decade.

    --
    "I keep looking in the want-ads under 'revolutionary' but there don't seem to be any listings.. "
  14. What about NAS? by axxackall · · Score: 4, Informative
    Why not use NAS, The Network Audio System?

    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: Not a troll
    --

    Less is more !
  15. Interesting, but is it Pro Audio? by Anonymous Coward · · Score: 3, Interesting

    I got excited when I read the word "synchronized"
    thinking this might be a mixer with SMPTE timecode capabilities. One of the most important distinctions between "pro" A/V and "consumer" A/V is whether the tracks have a standard sync encoding. Without that, the best you can hope for is "close", and that is not acceptable for broadcast or production.

    This requirement is serious enough that pro gear has an input for a real hardware clock.

    Sync capabilities and clock controlled sampling are a few of the keys to us having pro audio production on inexpensive hardware. Unfortunately, the barriers to entry remain outrageously high.

    For most PC users, the sound card is strictly an output device. few will spend more than $100.00 on it, and even fewer will have audio tracks for which the bitrate or noise floor of these cards is a limiting factor. We tend to regard the sound card as a device for playing back audio that is at most, 44.1Khz, and at the deepest, 16 bit.

    For the rest, the sound card is an input device. As such, it theoretically could be as good an input device as that found on a $100,000 audio workstation, and there isn't really a good reason why we CAN'T make the poor-man's DAW if we use one of the better sound cards as a starting point.

    A timecoded 24-bit audio track which has not been resampled for the finished output is a minimum for "professional" work, and we *almost* have it on consumer gear! Everything except real timecode.

    I place this problem in the same category as the absense of colorspace management on The Gimp. Those who understand what it is, realize that it makes the difference of whether they can use it professionally; those who do not understand, don't care, and don't realize the magnitude of the problem.

  16. Slightly OT-Network Audio by mrmag00 · · Score: 3, Interesting

    Slightly offtopic, but I figured I might as well take a shot- Has anyone successfuly piped audio from a Unix machine to a windows machine, across the network? I got it working using esd and a java version of esd, however the sound quality sucked (and java's sound support didn't like my 5.1 sound, I wouldn't mind but it had 0 bass).

    I've looked but can not find a native sound server for windows at all, in any form. Even somthing compiled with cygwin would probably work, but no luck there either.

  17. The view of the MAS developers by leon163 · · Score: 5, Informative

    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

  18. Why not NAS, from a MAS developer by stem · · Score: 5, Informative

    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