Skip to content
Permalink
Browse files
Update documents for 4.6 release.
  • Loading branch information
nitslp-ri committed Aug 26, 2020
1 parent 0297df3 commit adfd0fc8ccca1bbd550853b05a15bb7acf91aeae
Show file tree
Hide file tree
Showing 7 changed files with 73 additions and 127 deletions.
@@ -23,10 +23,10 @@
(Rev 2.0 1999/02/20)
(Rev 1.0 1998/02/20)

Copyright (c) 1991-2019 京都大学 河原研究室
Copyright (c) 1991-2020京都大学 河原研究室
Copyright (c) 1997-2000 情報処理振興事業協会(IPA)
Copyright (c) 2000-2005 奈良先端科学技術大学院大学 鹿野研究室
Copyright (c) 2005-2019 名古屋工業大学 Julius開発チーム
Copyright (c) 2005-2020 名古屋工業大学 Julius開発チーム
All rights reserved
======================================================================

@@ -58,48 +58,33 @@ Julius のコード開発は2016年より GitHub へ移行しました.開発
http://julius.osdn.jp/


What's new in Julius-4.5
What's new in Julius-4.6
==========================

VADの強化のために WebRTC ベースの VAD アルゴリズムが追加されました.
統合されたのは以下のコードです.
Julius-4.6 はマイナーリリースです。主な変更点は以下のとおりです。
全ての変更の詳細は同梱の Release-ja.txt をご覧ください。

https://github.com/dpirch/libfvad

4.5以降のJuliusには2つのVADモジュールがあります.1つは従来からある振
幅とゼロ交差数ベースのモジュール、もうひとつは4.5で導入された libfvad
(モデルベース).両モジュールは同じオーディオ入力に対して並列して動作
し、並列動作時は「両モジュールともトリガを検知したとき」音声入力を検知
します.新モジュールはデフォルトでは OFF で、オプション "-fvad 値" で
有効になります.

DNN-HMMの計算にCPUマルチスレッドが追加されました.マルチスレッドを有効
にすることで大規模なDNNでの計算時間が多少削減されます.スレッド数は
dnnconf 内の "num_threads" で指定します.デフォルト値は 2 です.

モジュールモードのXML形式出力で XML special character のエスケープを
行うようになりました.従来バージョンから "<s>", "</s>" 等の出力が
"&lt;s&gt;" のように変わっていますのでご注意ください.従来の動作に
戻したい場合は "-noxmlescape" を指定して下さい.

全ての変更点と使い方については Release-ja.txt をご覧ください.
- DNN-HMM 計算での CUDA サポート
- 1パス文法認識の実装
- DNN-HMM で出力が log10 化されていないモデルのサポート
- 特徴量正規化モードを追加:平均は入力自身、分散は固定値を使うモード
- 修正BSDライセンスへ移行
- 不具合の修正


UTF-8への移行について
======================

テキストエンコーディングとして SJISや EUC が混在していましたが、
バージョン4.5から以降、ソースコードのテキストエンコーディングは
UTF-8に変換されました.以降の更新は UTF-8 ベースで行われます.
バージョン4.5以前はテキストエンコーディングとして SJISや EUC が混在していましたが、
バージョン4.5から全て UTF-8 に変換されました.

コードの変更を追ったり以前のバージョンとの差分をチェックしやすいよう、
バージョン4.5の時点でのテキストエンコード変換前のコードを
"master-4.5-legacy" ブランチで保存してあります.4.5 リリース以前の
コードから 4.5 までの差分を見る場合はそちらのブランチを checkout して
ください.


Julius-4.5のファイルの構成
Julius-4.6 のファイルの構成
=============================

00readme-ja.txt 最初に読む文書(このファイル)
@@ -4,9 +4,10 @@

Julius

(Rev 4.5 2019/01/02)
(Rev 4.4.2 2016/09/12)
(Rev 4.4 2016/08/30)
(Rev 4.6 2020/09/02)
(Rev 4.5 2019/01/02)
(Rev 4.4.2 2016/09/12)
(Rev 4.4 2016/08/30)
(Rev 4.3.1 2014/01/15)
(Rev 4.3 2013/12/25)
(Rev 4.2.3 2013/06/30)
@@ -22,10 +23,10 @@
(Rev 2.0 1999/02/20)
(Rev 1.0 1998/02/20)

Copyright (c) 1991-2019 Kawahara Lab., Kyoto University
Copyright (c) 1991-2020 Kawahara Lab., Kyoto University
Copyright (c) 1997-2000 Information-technology Promotion Agency, Japan
Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
Copyright (c) 2005-2019 Julius project team, Nagoya Institute of Technology
Copyright (c) 2005-2020 Julius project team, Nagoya Institute of Technology
All rights reserved
======================================================================

@@ -54,83 +55,53 @@ on Windows, MacOS, iOS, Android and other OS. Julius is distributed
with open license together with source codes.


What's new in Julius-4.5
What's new in Julius-4.6
==========================

A WebRTC-based voice activity detection (VAD) was newly added into
Julius for robust voice detection.
Julius-4.6 is a minor release with a few new features and many fixes.

https://github.com/dpirch/libfvad

Now Julius has two VAD modules: old module (input level and zero-cross
based) and new module (libfvad = model based), and both of them runs
concurrently in parallel for an audio input. When enabled, Julius
will detect speech trigger only if *both of them are signaled as
speech*.

DNN-HMM computation now supports CPU multi-threading. Multi-threading
may speed up DNN-HMM computation to some extent. The number of
threads can be specified by "num_threads" in dnnconf. This feature is
enabled by default, and the default number of threads is 2.

Notice for module-mode users: in order to make module output
XML-compiliant, the XML special characters are now escaped their
escaped form, ex. '>' to '&gt;'. A backward option "-noxmlescape" is
still available to inhibit escaping and output as the same as previous
versions.
- New CUDA support for DNN computation
- New 1-pass grammar recognition
- Support non-log10nized state priors in DNN model
- Feature normalization pattern added: mean = input self, variance = static
- Now delivered under simplified BSD License

See Release.txt for full changes and usage example.


Moving to UTF-8
================

We are going to move to UTF-8.

The master branch after the release of 4.5 (2019/1/2) has codes
converted to UTF-8. All files were converted to UTF-8, and future
update will be committed also in UTF-8.

For backward compatibility and log visibility, we are keeping the old
encoding codes at branch "master-4.5-legacy". The branch keeps legacy
encoding version of version 4.5. If you want to inspect the code
progress before the release of 4.5 (2019/1/2), please checkout the
branch.


Contents of Julius-4.5
Contents of Julius-4.6
=======================

(Documents with suffix "ja" are written in Japanese)

00readme.txt ReadMe (This file)
LICENSE.txt Terms and conditions of use
Release.txt Release note / ChangeLog
00readme-DNN.txt DNN-HMM related issues
README.md description about Julius for GitHub
configure configure script
configure.in
Sample.jconf Sample configuration file
Sample.dnnconf Sample DNN configuration file
julius/ Julius sources
libjulius/ JuliusLib core engine library sources
libsent/ JuliusLib low-level library sources
adinrec/ Record one sentence utterance to a file
adintool/ Record/split/send/receive speech data (GUI)
generate-ngram/ Tool to generate random sentences from N-gram
gramtools/ Tools to build and test recognition grammar
jcontrol/ A sample network client module
mkbingram/ Convert N-gram to binary format
mkbinhmm/ Convert ascii hmmdefs to binary format
mkgshmm/ Model conversion for Gaussian Mixture Selection
mkss/ Estimate noise spectrum from mic input
support/ some tools to compile from source
jclient-perl/ A simple perl version of module mode client
plugin/ Several plugin source codes and documentation
man/ Unix online manuals
msvc/ Files to compile on Microsoft VC++ 2013
dnntools/ Sample programs for dnn and vecnet client
binlm2arpa/ Convert binary N-gram to ARPA format
(Documents with suffix "ja" are written in Japanese)

00readme.txt ReadMe (This file)
LICENSE.txt Terms and conditions of use
Release.txt Release note / ChangeLog
00readme-DNN.txt DNN-HMM related issues
README.md description about Julius for GitHub
configure configure script
configure.in
Sample.jconf Sample configuration file
Sample.dnnconf Sample DNN configuration file
julius/ Julius sources
libjulius/ JuliusLib core engine library sources
libsent/ JuliusLib low-level library sources
adinrec/ Record one sentence utterance to a file
adintool/ Record/split/send/receive speech data (GUI)
generate-ngram/ Tool to generate random sentences from N-gram
gramtools/ Tools to build and test recognition grammar
jcontrol/ A sample network client module
mkbingram/ Convert N-gram to binary format
mkbinhmm/ Convert ascii hmmdefs to binary format
mkgshmm/ Model conversion for Gaussian Mixture Selection
mkss/ Estimate noise spectrum from mic input
support/ some tools to compile from source
jclient-perl/ A simple perl version of module mode client
plugin/ Several plugin source codes and documentation
man/ Unix online manuals
msvc/ Files to compile on Microsoft VC++ 2013
dnntools/ Sample programs for dnn and vecnet client
binlm2arpa/ Convert binary N-gram to ARPA format


License and Citation
@@ -171,5 +142,5 @@ Julius is now hosted on GitHub:
You can still find older documents and files in previous web page:

http://julius.osdn.jp/
https://osdn.jp/projects/julius/
https://osdn.jp/projects/julius/

@@ -36,28 +36,18 @@ Linux (tested on Ubuntu-14.04 and later)
% make
% (optional) make install

If you want only one audio interface, use `--with-mictype=xxx`.
If you want to explicitly choose an audio interface, use `--with-mictype=xxx`.

% ./configure --with-mictype=pulseaudio
% make
% (optional) make install

-----------------------------------------------
Linux with CUDA support (tested on Ubuntu-16.04 and CUDA-9.0, but later should work)

Just compile with nvcc, by giving CC and CFLAGS like this for configure script:
(4.6 and later) For CUDA support, compile with nvcc:

% CC=/usr/local/cuda-x.x/bin/nvcc CFLAGS=-O3 ./configure

"configure" will automatically detects using nvcc and enables specific CUDA codes.
Then will build julius and other tools with CUDA runtime.

Whole process: after installing CUDA toolkit under /usr/local/cuda-x.x,
% sudo apt-get install build-essential zlib1g-dev libsdl2-dev
% sudo apt-get libasound2-dev (or libpulse-dev, whichever you want to enable)
% CC=/usr/local/cuda-x.x/bin/nvcc CFLAGS=-O3 ./configure
% make
% (optional) make install
where "/usr/local/cuda-x.x/" is the location of the CUDA sdk toolkit.
(tested on Ubuntu-16.04 and CUDA-9.0, but later should work)

-----------------------------------------------
Mingw on Ubuntu (tested on 16.04)
@@ -2,10 +2,10 @@ Julius: Open-Source Large Vocabulary Continuous Speech Recognition Engine
==========================================================================
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.2530396.svg)](https://doi.org/10.5281/zenodo.2530396)

Copyright (c) 1991-2019 [Kawahara Lab., Kyoto University](http://sap.ist.i.kyoto-u.ac.jp/)
Copyright (c) 2005-2019 [Julius project team, Lee Lab., Nagoya Institute of Technology](http://www.slp.nitech.ac.jp/)
Copyright (c) 1997-2000 Information-technology Promotion Agency, Japan
Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
Copyright (c) 1991-2020 [Kawahara Lab., Kyoto University](http://sap.ist.i.kyoto-u.ac.jp/)
Copyright (c) 2005-2020 [Julius project team, Lee Lab., Nagoya Institute of Technology](http://www.slp.nitech.ac.jp/)
Copyright (c) 1997-2000 Information-technology Promotion Agency, Japan
Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology

# About Julius

@@ -17,7 +17,6 @@ Julius has been developed as a research software for Japanese LVCSR since 1997,

The main developer / maintainer is Akinobu Lee (ri@nitech.ac.jp).


# Features

- An open-source LVCSR software (BSD 3-clause license).
@@ -145,6 +144,7 @@ To run Julius on live microphone input, save the following text as "`mic.jconf`"
```

and run Julius with the mic.jconf instead of julius.jconf

```shell
% ../julius/julius/julius -C mic.jconf -dnnconf dnn.jconf
```
@@ -236,7 +236,7 @@ Other, old documents:
- A. Lee, T. Kawahara and K. Shikano. "Julius --- an open source real-time large vocabulary recognition engine." In Proc. European Conference on Speech Communication and Technology (EUROSPEECH), pp. 1691--1694, 2001.
- T. Kawahara, A. Lee, T. Kobayashi, K. Takeda, N. Minematsu, S. Sagayama, K. Itou, A. Ito, M. Yamamoto, A. Yamada, T. Utsuro and K. Shikano. "Free software toolkit for Japanese large vocabulary continuous speech recognition." In Proc. Int'l Conf. on Spoken Language Processing (ICSLP) , Vol. 4, pp. 476--479, 2000.

# Moving to UTF-8
# Moved to UTF-8

We are going to move to UTF-8.

@@ -11,7 +11,7 @@
- ".dfa.forward" は前向き文法ファイルで、これ以降のバージョンの "mkdfa" で自動生成される。
- DNN-HMM で出力が log10 化されている/いないモデルに両対応
- .dnnconf で "state_prior_log10nize=yes/no" で指定する
- 新たな特徴量正規化モードを追加:平均は入力自身、分散は固定値を使うモード
- 特徴量正規化モードを追加:平均は入力自身、分散は固定値を使うモード
- 新たなオプション "-cvnstatic" で指定可能
- 新モードを含めた全体的な動作の説明が "doc/Normalize.md" にまとめられた
○更新
@@ -9,7 +9,7 @@ New features:
- The ".dfa.forward" file will be generated by "mkdfa" of recent version. Leave it to enable, or delete it to let Julius work as previous version.
- Support non-log10nized state priors in DNN model
- New .dnnconf option "state_prior_log10nize=yes/no" to switch the behavior
- Another feature normalization pattern (mean = input self, variance = static) support
- Feature normalization pattern added: mean = input self, variance = static
- New option "-cvnstatic" to choose this behavior
- See the updated doc "doc/Normalize.md" to know how to set feature normalization in Julius.
Updates:
@@ -20,7 +20,7 @@ feature_type FBANK_D_A_Z
# the specified string will be expanded inline at the point where this
# dnnconf file is specified by "-dnnconf", and passed to Julius.
# As the same as other options in Julius, the later option will override
# former. Please check the start-up messages to check if the
# former. Please check the start-up messages to check if the
# feature extraction are correctly set up.
#
feature_options -htkconf model/dnn/config.lmfb.40ch.jnas -cvn -cmnload model/dnn/norm.jnas -cmnstatic
@@ -89,4 +89,4 @@ num_threads 2
#
# default is "global,128" when enabled, "disable" when not compiled with CUDA

cuda_mode global,128
#cuda_mode global,128

0 comments on commit adfd0fc

Please sign in to comment.