# What's New in Rev.3.4.2

Julius rev.3.4.2 has bug fixes and one new option. This version fixes an important bug which was found in rev.3.4 and rev.3.4.1, so all users are recommended to update to 3.4.2. The changes from rev.3.4.1 are:

- Bug fixes
  - Fixed failure of N-best search on small dictionary
  - Improved stability in module mode and networked input
  - Fixed infinite loop in "`generate`"

- New features
  - Rejection of short input: "`-rejectshort`"

- Cosmetic changes
  - Re-format code to conform `'gcc -Wall'`
  - Update `config.guess`, `config.sub`
  - Update copyright to 2004.
  - Small fixes for headers.

Details are shown in the following.

## Fixed Failure of N-Best Search on Small Dictionary

There found a new bug in Julius/Julian of rev.3.4 and rev.3.4.1 that N-best candidate sometimes does not found. This bug will takes much effect when using a small dictionary that consists of only several words.

This bug exists Julius/Julian of rev.3.4 and rev.3.4.1, when compiled with confidence scoring (default). So every users are recommended to update to this version.

The source file which concerns this bug is "`julius/search_bestfirst_main.c`".

## Improved Stability in Module Mode and Networked Input

Julius/Julian become much stable when using module mode "`-module`" (send recognition result and receive control command via TCP/IP from client application), and adinnet input mode "`-input adinnet`" (receive speech input via TCP/IP from adin process, i.e. `adintool`).

The previous version has trounble in input pause / resume when both the module mode and adinnet input mode is used. Now the input controll command to Julius and Julian are passed to the adin process, to do synchronous, cooperative start and stop.

## Fixed infinite loop in "`generate`"

A sentence generator "`generate`" sometimes enters infinite loop when using a small grammar. This version fixed this bug.

The relating source file is "`gramtool/generate/generate.c`".

## Rejection of short input: "`-rejectshort`"

A new options to reject short inputs has been added. If the input length was shorter than specified length, it will not be recognized. This option may be effective to suppress invalid input triggering by impulsive noises.

A runtime option "`-rejectshoft`" specifies the length to be rejected in milliseconds. For example, if you want to reject input shorter than 0.8 sec, you should specify

      -rejectshort 800

On file input, the input will be immediately rejected when the length is shorter than specified. In microphone input, the 1st pass will be performed concurrently with the input, and if the length is shorter at the end of the 1st pass, the 2nd pass will be canceled.

When input is rejected, Julius/Julian output the following message to stdout.

      input rejected: too short input

In module mode, the following message will be sent to client.

      <REJECTED REASON="too short input"/>

When you use this function with "`-record`", the rejected inputs will also be recorded to a file.

## List of Modified Options

`configure` options:

- No change

Runtime options:

- New: `-rejectshort msec`

$Id: WhatsNew_3.4.2.html,v 1.1 2004/04/28 08:02:13 ri Exp $