Solución de problemas «Sistema de propiedad mbrola.la base es indefinido. No utilizar MBROLA voces» cuando la conversión de texto a voz con JSAPI

Me da el siguiente error:

La propiedad del sistema "mbrola.base" es indefinido. No utilizar MBROLA voces. 
import javax.speech.*;
import javax.speech.synthesis.*;
import java.util.Locale;

public class HelloWorld
 {

public static void main(String args[]) 
{

try 
{
//Create a synthesizer for English

Synthesizer synth = Central.createSynthesizer(
new SynthesizerModeDesc(Locale.ENGLISH));

//Get it ready to speak

synth.allocate();

synth.resume();

//Speak the “Hello world” string

synth.speakPlainText("Hello", null);

//Wait till speaking is done

synth.waitEngineState(Synthesizer.QUEUE_EMPTY);

//Clean up

synth.deallocate();

} 
catch (Exception e)
 {
e.printStackTrace();
}

}

}
  • Para su INFORMACIÓN, el botón con unos y ceros en ayuda a dar formato a cualquier código que pones en tu pregunta correctamente.
  • Además, el uso de capitales es generalmente considerado grosero!
InformationsquelleAutor user481404 | 2010-10-20

6 Kommentare

  1. 4

    Para aquellos que todavía están luchando con esto, esto es lo que yo tengo que trabajar en Windows en un simple bloc de notas, no Eclipse involucrados.

    1. Fui a http://tcts.fpms.ac.be/synthesis/mbrola.html
      y descargado 2 paquetes de descargas de binario voces:
      PC/Windows y PC/DOS

    2. descomprimir todo y poner PC/Windows binario en el mismo directorio como PC/DOS ejecutable mbrola.exe.
      Por favor nota mbrola.exe no funciona para mí b/c es de 16 bits (vaya usted a saber!), pero he encontrado este enlace:

      http://sourceforge.net/projects/freetts/forums/forum/137669/topic/1219083

      que había un archivo zip con los 2 archivos binarios, de 2004, que apareció a trabajar en mi Windows de 64 bits.

    3. Luego he descargado las voces en mbrola sitio web en la sección 1 I
      quería una voz femenina así que la agarré de la us1 y poner toda la carpeta en el mismo directorio

      PC/Windows binarios arriba y PC/DOS ejecutable.

    4. En el código que he especificado lo siguiente:
      Sistema.setProperty(«mbrola.base», «C:\devsrc\main\Head-Rev\src\java\freetts-1.2\mbrola»);
      voz=vm.getVoice(«mbrola_us1»);

    Y tengo mi voz de mujer. Yo no tenía necesidad alguna de compilación o en tiempo de ejecución banderas.

    Espero que esto ayude a alguien.

  2. 2

    Para mí :

    1. He descargado Mbrola Herramienta

    2. He descargado Mbrola carpeta de Base de

    3. Descargado el requerido voz de Llegar el MBROLA Voces sección de Mbrola Sitio

    4. Extraido el archivo desde el paso 3 para los ficheros del directorio consiguió desde el paso 2 .

    5. Establecer la propiedad «mbrola.base» mediante el uso de : System.setProperty("mbrola.base", "E:\\xxx\\xxx\\mbrxxx");

    • Por favor, ¿qué debemos descargar desde el paso 3 y donde debemos instalarlo por Favor ?
    • Sitio : tcts.fpms.ac.be/synthesis/mbrola.html Desplácese hacia abajo y descargar cualquier voz que desee.
    • Sí, yo tampoco desplácese hacia abajo muchas gracias
    • para el mbrola archivo de base debemos ponerlo en algún lugar? 😀
  3. 0

    El código necesidades MBROLA de la aplicación que está en el sistema. Así que usted necesita decirle a su aplicación que MBROLA está aquí:

    1. Desde la línea de comandos o eclipse configuración de lanzamiento: -Dmbrola.base=/location/to/mbrola O
    2. System.setProperty("mbrola.base", Morbola.class.getName()) y poner el mbrola JAR es el classpath.

    Ver este similar pregunta

    (Usted puede usar cualquiera de la solución)

  4. 0

    Funciona en Sistemas Windows para la configuración de la mbrola.base:
    – establezca la variable de entorno «MBROLA_HOME» en el sistema operativo windows
    – el uso de este fragmento de código para establecer la propiedad mbrola.base

    clase pública FreeTTSVoice {

    private static String path = System.getenv("MBROLA_HOME");
    // System.out.println(path);  
    
    public FreeTTSVoice(){
        System.setProperty("mbrola.base", path);
        listAllVoices();
    }
    
    public static void listAllVoices() {
        System.out.println("All voices available:");        
        VoiceManager voiceManager = VoiceManager.getInstance();
        Voice[] voices = voiceManager.getVoices();
        for (int i = 0; i < voices.length; i++) {
            System.out.println("    " + voices[i].getName()
                               + " (" + voices[i].getDomain() + " domain)");
        }
    
    }
    

  5. 0

    Porque yo repositorio de maven para mbrola en lugar de la descarga, tuve que reemplazar este archivo en mi proyecto de java: com.sol.discurso.freetts -> internal_voices.txt y agrega:

    # Uncomment to allow MBROLA voices:
    de.dfki.lt.freetts.en.us.MbrolaVoiceDirectory
    
  6. 0

    Estoy usando ubuntu
    Si está utilizando windows que se requiere sólo el paso 1 y 2 .

    Creado una carpeta llamada mbrola
    1. poner descargado mbrola-base de mi sistema operativo linux para que
    2. poner descargado us1, us2, us3 extraído carpetas a esta carpeta
    3. Instalar el mbrola en ubuntu por línea de comandos.
    sudo apt-get istall mbrola

    After installation use this commad to check where your files has located
    dpkg -L mbrola
    
    1. Copiado /usr/bin/mbrola archivo a la anterior mbrola carpeta
    2. Actualizar el programa con la ruta de acceso al programa anterior
      Sistema.setProperty(«mbrola.base», «/home/ngs/INCUBADORA/huevo-8/libries/MBROLA/mbrola»);

    Ahora se debe trabajar

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea