The open source intelligent personal assistant
Khronos is a program that uses speech recognition to perform a command. Khronos also synthesizes speech in response to the given commands.
The process starts by recording a .wav
file with LibSndFile and PortAudio. PortAudio finds the default input device, and starts recording audio. Once finished, PortAudio passes along the raw PCM data to LibSndFile, which stores it in a .wav
file.
This .wav
file is passed to pocketsphinx for speech processing, which then returns the spoken text. Khronos takes this text and responds with its own speech synthesis software.
This is a list of the libraries Khronos requires to compile properly.
CMake (version 2.8 minimum): a portable Makefile generator.
Git: distributed version control system for downloading missing dependencies.
LibSndFile: a library for reading and writing files containing sampled audio data.
PortAudio: a portable audio I/O library.
sphinxbase: the basic libraries shared by the CMU Sphinx trainer and all the Sphinx decoders
pocketsphinx: open source, large vocabulary, speaker-independent speech recognition engine
tritium: a free, premium quality speech synthesis engine written completely in C.
If CMake and Git are installed, Khronos will handle the downloading of all of the other dependencies (if they are not already installed on the system).
In addition to CMake and Git, Windows builds require a C compiler such as MinGW-w64. Cygwin may also be an option, but has not been tested. Instructions are based on a build with MinGW-w64.
bin/
folder.build/
folder (it should be empty, create it if it does not exist).cmake -G "MinGW Makefiles" ..
and configuration should begin. This will create a Makefile tailored for your specific environment. Any dependencies that you need will be flagged for downloading.cmake --build .
. All flagged dependencies will download to be configured and built for Khronos to link with. Once everything has finished downloading and linked together, the build should be complete. Now you can run Khronos.exe
.build/
folder (it should be empty, create it if it does not exist).cmake ..
and configuration should begin. This will create a Makefile tailored for your specific environment. Any dependencies that you need will be flagged for downloading.make
. All flagged dependencies will download to be configured and built for Khronos to link with. Once everything has finished downloading and linked together, the build should be complete. Now you can run ./Khronos
.