Commit a4c1b62a authored by Daniel Povey's avatar Daniel Povey
Browse files

Some documentation change, regarding github transition; other minor unrelated changes.

parent a2d3a639
......@@ -33,6 +33,17 @@ mv stylesheet.css html/
if [[ $(hostname -f) == * ]]; then
cp ../misc/logo/KaldiIco.png html/favicon.ico
tar -czf html.tar.gz html
echo "**First copying to**"
# First copy to
scp html.tar.gz newrelay:/var/www/kaldi-asr
echo 'cd /var/www/kaldi-asr/; rm -rf html doc.old;
tar -xzf html.tar.gz; mv doc doc.old; mv html doc; rm -rf doc.old' \
| ssh newrelay bash
echo "**Now copying to sourceforge**"
# Next copy to sourceforge.
scp html.tar.gz
#may have to do this:
......@@ -22,18 +22,28 @@
\page install Downloading and installing Kaldi
\section install_warning Warning on recent Sourceforge update
\section install_transition Transition to github
This is a warning to all those who originally downloaded Kaldi before March 20, 2013.
The svn location where Kaldi's repository resides has changed. In order to get the
latest updates you need to update your repository. Go to the root of the directory where
you previously checked it out, and type:
svn switch --relocate svn://
You can verify that it worked by typing "svn info". You should see the new location.
Due to the long recent sourceforge outage, we have now transitioned to
github for all future development. We still intend to maintain a
read-only subversion mirror of the github parent, located at sourceforge and mirrored
by us; however, we won't be able to set that up until Sourceforge comes back up.
\section install_download Dowloading Kaldi
While sourceforge is still down, the easiest way to access Kaldi as follows:
git clone
You can then keep it up-to-date using "git pull".
When sourceforge comes back up, you will be free to access it either through github
or through the subversion commands below.
If you may want to contribute to Kaldi, this will mostly be done using pull requests.
You would first log in to github and go to and click on
"fork" to fork the repository. Then, in your local fork of the repository you would
do your work in a differently named branch, and generate a pull request through the
online interface of github. We will soon provide more detailed instructions on this.
\section install_download Dowloading Kaldi (old instructions)
You first need to install Subversion (SVN). The most current version of Kaldi,
possibly including unfinished and experimental features, can
......@@ -41,9 +51,6 @@
svn co kaldi-trunk
We used to maintain a "stable" branch of Kaldi, but found that this
was too much additional work; currently, we always recommend people to use
the latest version of trunk, and we do our best to make sure that it always works.
If you want to get updates and bug fixes you can go to some checked-out
directory, and type
......@@ -65,68 +72,4 @@
The example scripts are in egs/
\section install_switch For contributors: switching repositories
Just for reference: if you have downloaded a copy of Kaldi in the normal "read-only" way without
using your Sourceforge account and you want to contribute to the project, then you need
to create a username on Sourceforge and give it to one of the administrators (typically Dan Povey,
After discussing what it is you want to contribute and the best way to proceed, we may add your username to the project, and
you should switch your repository over to an SSH-based link which
will allow you to commit changes:
svn switch --relocate svn+ssh://
where USERNAME is replaced by your Sourceforge username. Do this while
you are in the top level of your copy of the repository (e.g. in trunk/). To avoid entering passwords
every time you update, use ssh keys: see
\section git_svn Using Kaldi with git
<a href=>git-svn</a> is a useful tool for bridging
between git and svn. A local git repository of the trunk branch of
kaldi can be created using
git svn clone kaldi-trunk
To get the latest updates and bug-fixes from the SVN repository, type
git svn rebase
Your local git repository can be used like any other git repository. However,
it is recommended that you always maintain a linear history by avoiding
integrating changes into your own branches and remotes using merge. For this
"git rebase" must be used instead of "git merge" and "git pull --rebase"
instead of "git pull". It is a good practice is to leave the master branch of
your git repository "clean" with only commits from SVN and work on a branch
such as "trunk", which can be periodically rebased onto master.
As an alternative to using git-svn, you can clone or fork the git mirror at The master branch of this is
synced with the trunk branch of the SVN repository. The recommendations for
linear history apply here as well.
\section git_contributor Contributing from git
If you are a contributor, you would have to change the remote to an SSH-based
link which allows you to commit changes:
git remote add origin svn+ssh://
or in case you cloned your git kaldi repository from another git repository
git remote set-url origin svn+ssh://
in both cases USERNAME here is that of your Sourceforge account.
Changes can be committed directly to SVN using "git svn dcommit". You would
still need to follow the instructions in \ref install_switch.
"dcommit", by default, creates a commit in SVN for each Git commit. So it is
preferred that you squash all your commits into a single commit and "dcommit"
only this single commit. For example, if your changes are in the trunk branch,
you can do
git rebase -i master
and using the editor, choose to "squash" everything but "pick" only the oldest
commit. You can then "git merge" the branch with master and commit it afterward
using "git svn dcommit".
......@@ -29,6 +29,11 @@
\mainpage Kaldi
Now <a></a> is now only a backup
location. <a href=></a> is the
definitive location of this documentation. We are working on transitioning the
code repository away from Sourceforge.
See also Kaldi's <a href=>project page on Sourceforge</a>,
and <a href=></a> where you can download pre-built models.
......@@ -23,39 +23,19 @@
\page other Other Kaldi-related resources (and how to get help)
The main places where Kaldi knowledge can be found are this website,
and in the subversion repository (see \ref install for instructions).
and in the code repository (which we are currently in the process of moving
from subversion to git; see \ref install for instructions).
The repository contains the Kaldi code; the installation scripts;
and example scripts for a number of different datasets, which are located
in the sub-directory egs/).
Kaldi's <a href=>project page on Sourceforge</a> contains
a number of useful resources, but after the recent extended outage we are migrating away from
Sourceforge. <a href=></a> is now the top-level
location you should go to; see in particular information about help forums and email
lists at <a href=></a>.
Kaldi's <a href=>project page on Sourceforge</a> also contains
a number of useful resources.
The <a href=> Kaldi forums on Sourceforge </a> are
a good place to ask questions. Most user questions go to the "Help" forum. If you want to receive
all the traffic, you have to be logged in to Sourceforge; you can subscribe to the forum by clicking
on the "Help" forum and then clicking the envelope icon towards the top right. There are also
"Open Discussion" and "Developers" forums, which get less traffic.
There is a mailing list <a></a>
(<a href=>archives here</a>), which you
may subscribe to <a
This gets only a moderate amount of traffic, and the aim is for any important
developments to be communicated to that list. Clueless questions to that list
are discouraged. There is also a kaldi-users list there, which gets less
traffic and is deprecated. Note: if you email these lists and your email address is not
subscribed to that list, it goes to the moderators so there will be a delay
before your message appears.
The site <a href=""> </a> was created in August 2014 to host the Kaldi model-build
directories that were built with the example scripts. This will be useful as a reference for
debugging and for those who want access to the built models. With time it will contain an increasingly
large fraction of the outputs of the example scripts in the repository.
This <a href=> job postings page </a> is not directly Kaldi-related
but may be useful to many of the same people.
......@@ -593,7 +593,7 @@ class OnlinePreconditioner {
This function finds the approximate top eigenvectors and eigenvalues of S = beta M
M^T (if trans == kNoTrans) or S = beta M^T M (if trans == kTrans).
Each row p of P will be set to an approximate
eigenvector of M, and the corresponding value in s will exactly equal p^T S p.
eigenvector of S, and the corresponding value in s will exactly equal p^T S p.
(note: it will actually be those with the largest absolute value that we return,
which makes a difference only if S has negative eigenvalues).
We do the eigenvalue computation on the CPU, mainly to avoid the hassle of
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment