Skip to content

syb0rg/Khronos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Khronos - Version 0.5 (alpha)

Khronos is a program that uses speech recognition to perform a command. Khronos also synthesizes speech in response to the given commands.

Build Status Gitter


How Khronos Works

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.


Dependencies

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).


Configuration & Installation Instructions

Windows

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.

  1. Make sure your PATH variable contains the location to the MinGW-w64 bin/ folder.
  2. Locate the main source directory in your terminal. Change into the build/ folder (it should be empty, create it if it does not exist).
  3. Run 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.
  4. Run 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.
Unix
  1. Locate the main source directory in your terminal. Change into the build/ folder (it should be empty, create it if it does not exist).
  2. Run 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.
  3. Run 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.