[Verse-dev] R5: Audio commands

Emil Brink emil at obsession.se
Fri Jan 21 10:52:19 CET 2005


On Thu, 20 Jan 2005 17:41:44 +0100
Emil Brink <emil at obsession.se> wrote:

[replying to myself]
> At the time of writing, the receiver is hyper-naive, and doesn't
> use buffer queuing properly, so its replay is clicky and rather
> horrible. At least I *hope* the clicks are due to the queue
> handling, heh.

I've replaced that with some more "proper" OpenAL queue management
code now, and it seems to work just fine. At leat to my ears...

My simple test procedure is as follows:

1. Start a Verse server, running R5 of course
2. Start the arx reception client.
3. Run the audio generator, atx, like so: "atx -dur=5". This
   creates a stream of a 1000 kHz tone, with a duration of 5 s.

As written, atx creates the sound 10 seconds into the future. This
is not how stream commands are meant to be used, but I think it's
enough for (semi-)simple testing of the core functionality.

I have repeatedly heard a perfect (to my laymans ears, anyway) re-
play of the tone, for a full five seconds as timed by my trusty
wrist watch, and without any clicks or pops.

Audio is transmitted 512 samples at a time (I use 16 bit integers
for this testing), and handed to OpenAL 8 KB at a time. Due to the
packet size limitations of Verse, over 400 individual a_stream
commands (=packets) are required to move the data. Then, during re-
play, the queue handler refills its OpenAL buffer over 50 times.
Not having done this kind of audio programming before, I'm slightly
amazed that it actually can work. :)

I'm feeling mildly confident that in the hands of someone who is
actually good at audio programming, it's possible to make something
with Verse that sounds. :)

Regards,

/Emil


More information about the Verse-dev mailing list