Re: midi player?

Simon Kagedal wrote:
> Hi,
> On Sat, Jun 13, 1998 at 05:53:19AM +0000, Zack Williams wrote:
> > Midi is an example of a medium that should not be mixed with other music
> > streams of the same type. I had always assumed the simultaneous sound features
> > of EsounD were to be used not to mix music, but to allow output of user event
> > sounds (warnings, sounds from window manager events, etc.) Having any two
> > simultaneous, contiuous sound streams, no matter what the format, would result
> > in an undesireably cacophony. For formats such as midi or mod that can really
> Undesirable for who? Excuse me if I'm totally misunderstanding you, but I
> can think of a lot of situations where one would want to play several
> continous sound streams - crossfading between two songs, listening to
> a tracker module quietly while hearing and RA interview, crazy
> experimenting ... These are all jobs for EsounD...

I give you the power, You abuse it as you see fit. =)

> IMHO, MIDI is nothing EsounD should care about. If one wants to access
> /dev/sequencer or /dev/midi while using esound, that's no problem.
> (right?) And if one wants to use a software synthesizer such as
> timidity, that can be made output to EsounD.
> (for some interesting MIDI things, check out NetMIDI [1], a
>  protocol for MIDI over TCP/IP, and midid [2], a MIDI daemon)

That would be the net-capable midi player then.

[sinp confusion over "one stream per channel", i don't understand either]

> > Zack (feeling exposed from all of this non-lurking)
> Here's another lurker (mostly), but I'm interested in this since I'd
> like to help coding on sound things in GNOME.
> Has EsounD been chosen as The audio server for GNOME? I know in the
> beginning of the the RHAD Labs "Rumour Mill" there was talk about
> using NAS. Has anyone done a thorough comparison? Not that EsounD
> doesn't look great to me, I'm just wondering.

The following represents my opinions, and should in no way be 
construed as the official position of The Gnome Project. As the 
EsounD maintainer, I may be slightly biased. =P

I have yet to see NAS run properly on Linux. I've tried the latest 
sources from  Someone pointed me to a patched prior 
version that is supposed to work fine.   I had problems compiling 
that.  What I eventually got running, would play one stream for
three seconds and then stop.  Never mind trying to play multiple
streams simultaneously.   I've heard reports of people who could 
actually get it running, that it would start to break up with three
simultaneous streams.  When stress testing EsounD, I play ten
44.1 kHz .wav files at the same time.  It eats about 40% cpu on
my AMD K6-200, and besides the occasional clipping static, still 
sounds fine, well as fine as ten simultaneous sound streams can
sound.  While NAS runs, no other programs can use the audio 
device.  EsounD (in cvs) has a feature where you can free the sound 
card for use by other programs, without invalidatnig the state
of the server (cached samples, other connections, etc.).  Another
neat EsounD trick is allowing clients to fallback to /dev/dsp if a 
local server cannot be contacted.  Porting of applications that 
talk to /dev/dsp already is fairly trivial.  mpg123 took a total
of one hour, including me driving home from work fixing a minor bug
in EsounD before raster and I had it fully operational.  I should
post that modified source so people can compare what it takes to 
write a NAS client, vs an ESD client.  Time to update the wab page...
NAS also allows you to play certain waveforms (sin, square, sawtooth)
generated at the server side.  Currently, EsounD does not have this
feature. It could be added, if so desired by the programmers at large.

If NAS support is a requirement, I think the way to handle that is 
to rig up the appropriate DRIVER_NAS, create it's own audio_nas.c, 
and have EsounD act as a NAS client.  A command line option can be
used both to activate NAS compatibility mode, tell it which NAS 
server to contact.  I'll probably add the ability to "nest" EsounD
servers, i.e. have one act as a client to another, if only for my 
testing purposes.  Sometime soon, I'll publish a combination 
proposal/requirements/design page about EsounD, as I haven't received 
nearly enough flame mail recently. =P  Seriously, I think I know 
enough details about where this is going, and where it is not going 
to put something on paper for those who haven't chosen to dive in yet.

> Thanks,
> --
> Simon Kågedal <> - Homepage:

-- ebm
|  __                         a.k.a. Eric B. Mitchell |
|  |_) .  _  _|      _|  _  |
|  | \ ( (_ (_| (_| (_| (/_ |
| How's My Programming?   Call:  1 - 800 - DEV - NULL |

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