Reconocimiento de voz en línea de comandos con Mac OS X

7

¿Cómo puedo hacer un reconocimiento de voz en Mac OS X desde la línea de comandos? Detalles:

% Cuando miro en ~ / Library / Speech / Speakable Items, veo muchos archivos,  como "Cuéntame una broma", cuyos contenidos son:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd"> 
<plist version="0.9"> 
<dict> 
        <key>BuiltInCommandID</key> 
        <integer>105</integer> 
        <key>semanticCategory</key> 
        <string>globalTellMeAJoke</string> 
        <key>alternativeSpokenFeedback</key> 
        <string></string> 
        <key>suppressSpokenConfirmation</key> 
        <string>yes</string> 
        <key>alternativeFeedback</key> 
        <string></string> 
        <key>DefaultCommandName</key> 
        <string>Tell me a joke</string> 
</dict> 
</plist> 

% ¿Cómo sabe OS X cuándo invocar este archivo? Cuando digo algo  ¿Busca un nombre de archivo coincidente?

% ¿Cómo sabe OS X qué comando ejecutar? No veo nada en ese archivo  que dice qué comando ejecutar ("Dime una broma" no es una línea de comandos  mando).

% Sé que hay algo de magia de osacompilación en marcha, pero no puedo entenderlo  lo que es.

% ¿Cómo puedo hacer que OS X escuche la cadena "s" y ejecute el programa?  "cmd" en respuesta? Prefiero hacer esto puramente desde el  línea de comandos, pero si tengo que abrir un programa gráfico, lo haré.

    
pregunta barrycarter 16.12.2010 - 00:14

1 respuesta

3

Es posible que le interese leer documentación de Apple sobre elementos que se pueden hablar , pero la parte relevante para su pregunta, "¿Cómo puedo hacer que OS X escuche la cadena" s "y ejecute el programa" cmd "en respuesta? es:

  

Puede agregar un elemento a la voz   Carpeta de elementos para que sea hablada.

     

Para abrir algo usando un hablado   comando, solo agrégalo al Speakable   Carpeta de elementos. Puedes usar un comando para   abre cualquier cosa que puedas abrir por   doble clic, incluyendo   Aplicaciones, archivos y sitios web.   También puedes escribir scripts y añadirlos.   a la carpeta.

En lo que respecta a "¿Cómo sabe OS X qué comando ejecutar? No veo nada en ese archivo que diga qué comando ejecutar?", la parte relevante del archivo que publicó es:

    <key>BuiltInCommandID</key> 
    <integer>105</integer> 
    <key>DefaultCommandName</key> 
    <string>Tell me a joke</string> 

Esto indica que, cuando se recibe el comando hablado "Dígame una broma", ejecute el ID interno del comando # 105, que es el comando "Dígame una broma".

En este caso, está viendo un comando interno al sistema de voz. Pero también puede agregar AppleScripts o comandos de shell a la carpeta de elementos hablados.

Este artículo sobre sugerencias de Mac OS X también puede ser útil.

EDITAR: Después de algunas investigaciones, no estoy seguro de si puedes ejecutar shell scripts directamente desde allí, pero un pequeño contenedor de AppleScript sería lo suficientemente fácil de escribir, e incluso podrías escribirlo para que pueda se duplicará y se le cambiará el nombre, y simplemente ejecutaría el script de shell correspondiente desde /scripts o algo así.

    
respondido por el Josh 16.12.2010 - 20:02

Lea otras preguntas en las etiquetas