A
aaronwmail-usenet
SKIMPY CAPTCHA ADDS AUDIO, AND A PROBLEM
[or what I did over xmas weekend at the inlaws
-- python/web/audio experts skip to the bottom
and solve my problem please.]
Skimpy Gimpy CAPTCHA now supports WAVE audio
output to help people with visual impairments
answer Skimpy challenges.
Read more, try it out, download it here:
http://skimpygimpy.sourceforge.net
Skimpy is a tool for generating HTML visual
and WAVE audio representations for strings
which people can understand but which web robots
and other computer programs will have
difficulty understanding. Skimpy is an example
of a Captcha: an acronym for "Completely Automated
Public Turing test to tell Computers and Humans
Apart".
The visual HTML Skimpy program skimpyGimpy.py
and API (applications programmer interface) is
implemented in a single self contained Python
script (module). The input for Skimpy are words
or phrases. The output of the program and API
are strings containing HTML preformatted text.
The preformatted text contains "ASCII art" representing
the input phrase, which looks like somewhat
sloppy handwriting on a speckled page,
when viewed in an HTML browser.
It is intended that it is easy for a human to read
the word or phrase when rendered as HTML, but it is
difficult for a program to extract the word or phrase
automatically. The program uses a number of
techniques to make the output difficult for a
computer to interpret: curve interpolation, random
rotation, random skew, random scale adjustment,
"smearing", and addition of noise.
In order to allow CAPTCHA tests that are usable by
people with visual empairment, Skimpy also provides
an audio implementation. The audio WAVE Skimpy
program waveTools.py uses a compiled audio sample
file waveIndex.zip. The input of the program are words
or phrases and the output are the words or phrases
spelled as individual spoken characters in an
audio stream.
It is intended that a human can understand the
audio stream but a computer program will not be
able to analyse the stream and extract the
letters. To make the audio stream more difficult
to automatically analyse (without making it
unintelligible) the program randomly overlaps and
stretches/shrinks the input samples, among other
things.
The Skimpy tools are far easier to install, use,
and embed than other similar technologies.
THE PROBLEM
Unfortunately there is a problem with using Firefox
and Quicktime with the Skimpy audio. If you save the
audio to a temporary file and stream from there
everything works fine, but if you try to stream directly
from the CGI or mod-python module via HTTP Quicktime
TRUNCATES THE AUDIO TO ABOUT 3 SECONDS. This ONLY
happens under Firefox afaik -- IE, for example has
no problems. Am I doing something wrong? Please inform.
The skimpygimpy1.1 download has all the relevant source
code if you'd like to have a look. Help! Thanks
in advance.
I'm leaving the bug demonstrated in my sample web scripts
for now, but if no one comes up with a fix I will hack around
it in a few days... probably...
-- Aaron Watters
===
Later on, we'll perspire
as we stare at the fire
and face so afraid
the bills left unpaid
walking in a winter wonderland
-- seen in "For Better or Worse"
[or what I did over xmas weekend at the inlaws
-- python/web/audio experts skip to the bottom
and solve my problem please.]
Skimpy Gimpy CAPTCHA now supports WAVE audio
output to help people with visual impairments
answer Skimpy challenges.
Read more, try it out, download it here:
http://skimpygimpy.sourceforge.net
Skimpy is a tool for generating HTML visual
and WAVE audio representations for strings
which people can understand but which web robots
and other computer programs will have
difficulty understanding. Skimpy is an example
of a Captcha: an acronym for "Completely Automated
Public Turing test to tell Computers and Humans
Apart".
The visual HTML Skimpy program skimpyGimpy.py
and API (applications programmer interface) is
implemented in a single self contained Python
script (module). The input for Skimpy are words
or phrases. The output of the program and API
are strings containing HTML preformatted text.
The preformatted text contains "ASCII art" representing
the input phrase, which looks like somewhat
sloppy handwriting on a speckled page,
when viewed in an HTML browser.
It is intended that it is easy for a human to read
the word or phrase when rendered as HTML, but it is
difficult for a program to extract the word or phrase
automatically. The program uses a number of
techniques to make the output difficult for a
computer to interpret: curve interpolation, random
rotation, random skew, random scale adjustment,
"smearing", and addition of noise.
In order to allow CAPTCHA tests that are usable by
people with visual empairment, Skimpy also provides
an audio implementation. The audio WAVE Skimpy
program waveTools.py uses a compiled audio sample
file waveIndex.zip. The input of the program are words
or phrases and the output are the words or phrases
spelled as individual spoken characters in an
audio stream.
It is intended that a human can understand the
audio stream but a computer program will not be
able to analyse the stream and extract the
letters. To make the audio stream more difficult
to automatically analyse (without making it
unintelligible) the program randomly overlaps and
stretches/shrinks the input samples, among other
things.
The Skimpy tools are far easier to install, use,
and embed than other similar technologies.
THE PROBLEM
Unfortunately there is a problem with using Firefox
and Quicktime with the Skimpy audio. If you save the
audio to a temporary file and stream from there
everything works fine, but if you try to stream directly
from the CGI or mod-python module via HTTP Quicktime
TRUNCATES THE AUDIO TO ABOUT 3 SECONDS. This ONLY
happens under Firefox afaik -- IE, for example has
no problems. Am I doing something wrong? Please inform.
The skimpygimpy1.1 download has all the relevant source
code if you'd like to have a look. Help! Thanks
in advance.
I'm leaving the bug demonstrated in my sample web scripts
for now, but if no one comes up with a fix I will hack around
it in a few days... probably...
-- Aaron Watters
===
Later on, we'll perspire
as we stare at the fire
and face so afraid
the bills left unpaid
walking in a winter wonderland
-- seen in "For Better or Worse"