Introduction
To the next generation of computer users, the
keyboard and mouse will probably look as ridiculous and obsolete
as out-of-date accessories like a data-recorder and, as yet
to a lesser extent, a floppy drive do to ours. That is because
in a few years from now (the exact number is still heavily
debated among computer theorists), we will be able to make
our wishes known to the computer simply by pronouncing them.
The future, in other words, is with speech-recognition. So
although none of us had any prior experience with the subject,
it seemed interesting to do something with it for our project,
and see if we could integrate it with an already existing
application.
The initial plan was to create a voice-controlled flying
game. We would design an airplane and make it speech-controlled
using SAPI, after which we would transfer it to a 3D-environment.
The problem with that idea however, was that in a flying game
you always have to deal with at least two types of commands:
one for accelerating the flying device, and one for steering
it into the desired direction. To have both commands handled
by voice simultaneously, we figured, would be virtually impossible.
The other option was to use a keyboard for the acceleration
part and make just the steering voice-controlled. But in that
case the thrill of being able to play a game with just a microphone
would be gone.
So instead we decided to ‘vocalize’ not a flying
game, but a game that virtually everybody knows: Tetris. In
Tetris you have multiple commanding options as well, but they
are all of the ‘steering’ type; because it is
tumbling blocks that one controls, the ‘acceleration’
part is already taken care of by gravity. This makes the game
perfectly fit for being 100% voice-controlled. Furthermore,
although it is played by people allover the world, as far
as we could find out no voice-controlled version of the game
was yet available. So by creating it ourselves, we concluded,
we would thereby greatly enhance the playability of the game
for normal users, and even make it available for those who
could not play it before due to some physical handicap.
The result of our endeavors is called VoiceTetris, and has
been created using C++, openGL and SAPI. All commands that
are possible in regular Tetris have been substituted by voice-commands.
This means that the tumbling blocks can be moved left (“left!”)
and right (“right!”), rotated (“up!”),
and dropped all the way to the bottom (“down!”)
using nothing more than a microphone. (More logical commands
for the rotate-function such as “turn!” or “rotate!”
were not well distinguished by SAPI, which is why we decided
to use “up!” instead, which it recognizes almost
flawlessly.) Furthermore, the game can be paused saying “stop!”
– after all, Tetris can be quite an intense and demanding
experience. We hope that it will be even more so in the future
now that it has been updated using the technologies of today.