Read Me
/////////////////////////////////////////////////////////////////////////////
Sphinx-4 Speech Recognition System
/////////////////////////////////////////////////////////////////////////////
Sphinx4 used to be available only from a Subversion repository on sourceforge.
As contributors became more diverse in locations, time zones, and goals the
distributed nature of the project increasingly was at odds with the tools.
Using a tool that could not adequately support distributed development and
which had many other serious problems such as the inability to track renames,
an incomplete merge record that lost changes, and a rather massive checkout
size was no longer a reasonable proposition. Thanks to the contribution of
many people, including the folks at sourceforge who created separate
repository space, Sphinx4 was converted from a Subversion repository to a git
repository on March 13, 2009.
Due to better repository design and some clever submodule magic the original
sphinx4 repository checkout of 262M now takes up less than 10M of space in a
git repository while retaining full history. That may sound incredible if
you're used to sphinx4's massive checkout, but it is true. You can now clone
and build sphinx4 while downloading less than 10 megabytes.
The new git repository is located https://sourceforge.net/projects/sphinx4/
You can check it out anonymously from
git://sphinx4.git.sourceforge.net/gitroot/sphinx4 (read-only)
If you're a github user we recommend forking from the repository located at
http://github.com/juanzanos/sphinx4/tree/master
This will save some space on Github compared to cloning a new repository from
sourceforge and copying it there. It will also enable you to use githubs
social networking features with Sphinx4. Changes from github are regularly
merged with sourceforge. We intend to keep the sourceforge version as stable
as possible and only merge there when we're very happy with the results.
The original svn repository is still available for posterity at
https://sourceforge.net/projects/cmusphinx/ There is neither a compelling need
nor a plan to remove it. However we do not recommend using it due to the
aforementioned problems.
Ok, on to building, testing, contributing, and everything...
BUILDING
First clone:
git clone git://sphinx4.git.sourceforge.net/gitroot/sphinx4
-- or for github fans --
git clone git://github.com/juanzanos/sphinx4.git
Next, build everything using Ruby Rake*
rake
To see all build targets
rake -T
* Rake comes with the ever popular Ruby programming language, which is
available at http://www.ruby-lang.org/en/. It is also available through many
popular package managers.
RUNNING TESTS
First get the test submodule:
git submodule init
git submodule update s4_new_tests
Next, run the tests
rake tests
COMMITTING CHANGES
Please be kind! Here are some guidelines to follow *before* commiting, pushing,
or requesting a pull. Your fellow coders will greatly appreciate your
contribution if you follow these simple rules. (1) If git status reveals any
untracked files then *all* test results should be considered tainted and
unnacceptable and no commit should be performed. (2) Repositories should not be
pushed or pulled unless tests pass and no uncommited or untrackeed files
remained. The git status command reveals all uncommited and untracked files.
(3) Do not commit large binary files that may not be necessary to core s4 --
Even if they are used by tests. We're trying to keep sphinx4 slim and
attractive. She only weighs about 10M for the whole repository. You can keep
large binaries in the submodules.
ENJOY!
Sphinx4 has always been free software. Now the repository itself is free. You
can create your own branches for your own projects without our permission.