[Speex-dev] Add noise programmatically after encode

Age Bosma agebosma at gmail.com
Mon Feb 20 09:39:47 PST 2012


I'm currently playing around with Securimage [1], a PHP captcha package.
In addition to showing you a picture it can also play it as audio for you.

At the moment, multiple WAV files are merged together and random
background noise is being added.
The drawback is the size of the audio files. Speex is able to reduce the
size with 85%(!) with hardly any quality loss.
This is enough reason for me to try to make the switch from WAV to Speex.

There are separate Speex files for each alphanumeric character on the
The different characters will simply be concatenated into one Speex file
depending on the generated code.
A simple Flash object is used on the front-end to play the generated
audio file.
(Background) Noise needs to be added to the composed audio file to mask
the pronounced characters to some degree. The degree of noise should
preferably be configurable.
Because it's a FOSS package, I need to prevent any additional
server-side dependencies. You never know in which environment it is
going to be used. The only thing one can be sure of is that PHP is

Is there a way to add noise to an already encoded Speex file
It can be done for WAV files in PHP, but how about Speex?
I realize Speex is quite something else in terms of codec, container and
all the compression going on, and I don't deem it to be likely that it
is possible, but I wanted to give it a try here anyway.

Adding noise to the initial separate files would be an alternative, but
I'd like to prevent that if I can.

Yours sincerely,

Age Bosma

[1] http://www.phpcaptcha.org/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 554 bytes
Desc: OpenPGP digital signature
Url : http://lists.xiph.org/pipermail/speex-dev/attachments/20120220/acdf51eb/attachment.pgp 

More information about the Speex-dev mailing list