Menu

#29 speech.properties cannot be found with OS not running in C:\

open
None
5
2009-02-08
2004-08-19
Rob Taft
No

I have the same code running on 3 different machines.
2 of them have the OS's (both XP Pro) running on C:\. I
have a Win2000 machine that runs on E:\. On windows
2000, I get the following errors:

VoiceSynthesizer: no available synthesizers.
Make sure that there is a "speech.properties" file at
either of these locations:
user.home : E:\Documents and Settings\Administrator
java.home/lib: E:\Program Files\Java\j2re1.4.2_04\lib

VoiceSynthesizer: Can't find synthesizer

I have speech.properties in both locations that it
specifies. I also attempted to place it in C:\Documents
and Settings\Administrator but it did not work.

I'm not sure if this is a FreeTTS bug or a Java Speech
bug.

Discussion

  • Paul Lamere

    Paul Lamere - 2004-08-19

    Logged In: YES
    user_id=28272

    At startup the JSAPI layer of FreeTTS will attempt to load
    the speech.properties file. It looks in two places:

    <user.home>
    <java.home>

    If it doesn't find it in one of these locations it will
    throw the exception.

    We haven't tested FreeTTS on Windows 2000 so we can't give
    you any specific information on this. However, it may be
    that the wrong directories are being reported. You can help
    us by running a quick test. Write a little java program that
    gets the system properties (via System.getProperties())
    and dump out the values of the properties:

    user.home and
    java.home

    This will help us understand what the differences in
    behavior are between win XP and win 200.

     
  • Rob Taft

    Rob Taft - 2004-08-20

    Logged In: YES
    user_id=588658

    I ruled out the possibility of it having anyhting to do with the
    drive structure...There is now one Win2000 install on the hard
    drive and it is on the C:\ Drive.
    The user.home and java.home look correct
    C:\Documents and Settings\Administrator
    C:\Program Files\Java\j2re1.4.2_05

    This full the properties output
    java.runtime.name = Java(TM) 2 Runtime Environment,
    Standard Edition
    sun.boot.library.path = C:\Program Files\Java\j2re1.4.2_05\bin
    java.vm.version = 1.4.2_05-b04
    java.vm.vendor = Sun Microsystems Inc.
    java.vendor.url = http://java.sun.com/
    path.separator = ;
    java.vm.name = Java HotSpot(TM) Client VM
    file.encoding.pkg = sun.io
    user.country = US
    sun.os.patch.level = Service Pack 4
    java.vm.specification.name = Java Virtual Machine
    Specification
    user.dir = C:\Documents and Settings\Administrator\Desktop
    java.runtime.version = 1.4.2_05-b04
    java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
    java.endorsed.dirs = C:\Program Files\Java\j2re1.4.2_05
    \lib\endorsed
    os.arch = x86
    java.io.tmpdir = C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ line.separator =

    java.vm.specification.vendor = Sun Microsystems Inc.
    user.variant =
    os.name = Windows 2000
    sun.java2d.fontpath =
    java.library.path = C:\Program Files\Java\j2re1.4.2_05
    \bin;.;C:\WINNT\system32;C:\WINNT;C:\WINNT\system32;C:\ WINNT;C:\WINNT\System32\Wbem;C:\php4\php
    java.specification.name = Java Platform API Specification
    java.class.version = 48.0
    java.util.prefs.PreferencesFactory =
    java.util.prefs.WindowsPreferencesFactory
    os.version = 5.0
    user.home = C:\Documents and Settings\Administrator
    user.timezone = America/New_York
    java.awt.printerjob = sun.awt.windows.WPrinterJob
    file.encoding = Cp1252
    java.specification.version = 1.4
    user.name = Administrator
    java.class.path = C:\Documents and
    Settings\Administrator\Desktop\SSApplication.jar
    java.vm.specification.version = 1.0
    sun.arch.data.model = 32
    java.home = C:\Program Files\Java\j2re1.4.2_05
    java.specification.vendor = Sun Microsystems Inc.
    user.language = en
    awt.toolkit = sun.awt.windows.WToolkit
    java.vm.info = mixed mode
    java.version = 1.4.2_05
    java.ext.dirs = C:\Program Files\Java\j2re1.4.2_05\lib\ext
    sun.boot.class.path = C:\Program Files\Java\j2re1.4.2_05
    \lib\rt.jar;C:\Program Files\Java\j2re1.4.2_05
    \lib\i18n.jar;C:\Program Files\Java\j2re1.4.2_05
    \lib\sunrsasign.jar;C:\Program Files\Java\j2re1.4.2_05
    \lib\jsse.jar;C:\Program Files\Java\j2re1.4.2_05
    \lib\jce.jar;C:\Program Files\Java\j2re1.4.2_05
    \lib\charsets.jar;C:\Program Files\Java\j2re1.4.2_05\classes
    java.vendor = Sun Microsystems Inc.
    file.separator = \ java.vendor.url.bug = http://java.sun.com/cgi-
    bin/bugreport.cgi
    sun.cpu.endian = little
    sun.io.unicode.encoding = UnicodeLittle
    sun.cpu.isalist = pentium i486 i386

     
  • Paul Lamere

    Paul Lamere - 2004-08-20

    Logged In: YES
    user_id=28272

    Rob:

    It may be that there is a problem with JSAPI trying to load
    a speech.properties from a directory with embedded spaces.
    If it is not too inconvienient, would it be possible to try
    loading the speech.properties file from a directory without
    an embedded space. Probably the easiest way to do that
    would be to move your java install from:
    C:\Program Files\Java\j2re1.4.2_05

    to something like:

    C:\java\j2rel1.4.2_05

    This will help us debug this issue.

    Thanks!

    Paul

     
  • Willie Walker

    Willie Walker - 2004-08-20

    Logged In: YES
    user_id=345479

    Please take this to a different forum until you're sure this is a bug.

     
  • Rob Taft

    Rob Taft - 2004-08-20

    Logged In: YES
    user_id=588658

    C:\Java\j2re1.4.2_05
    Same error.

    I don't know what else would cause this on my end. I use
    the same code (one big jar with FreeTTS packed in it) on 3
    systems, 2 XP and 1 Win2k. My development box, XP, has a
    speech.properties in C:\Program Files\Java\j2re1.4.2_05\lib
    and also in C:\JBuilder\jdk1.4\jre\lib and it works fine with
    both JRE's.

    On the 2k box I even tried putting the speech.properties file
    in C:\ and ran the application with java -Duser.home=C:\ -jar
    Application.jar and I get the message to place it in user.home
    (which it says is C:\) or the java home's lib.

    speech.properties is spelled correctly, the file matches the
    one on XP.

    Is the properties loading done in the JSAPI or the FreeTTS
    code? If it is in the FreeTTS code, I might be able to debug
    it from here more (I will look through source). Otherwise the
    JSAPI source isn't publicly downloadable (that I could find).

     
  • Rob Taft

    Rob Taft - 2004-08-20

    Logged In: YES
    user_id=588658

    I didnt realize that this message was coming from
    PlayerModelImpl.java. I will look into it more.

     
  • Dirk Schnelle-Walka

    • assigned_to: nobody --> schnelle