2 votos

SpeechRecognitionServer no se encuentra en Mavericks con applescript?

Estoy tratando de usar un applescript para obtener la entrada de voz de un usuario y, a continuación, realice acción. Sin embargo, el código que estoy usando se hizo para osx lion. Cuando lo pongo en el editor applescript, el editor me da un pop-up preguntando donde "speechrecognitionserver". ¿Cómo puedo encontrarlo? Estoy en OSX mavericks ahora.

el código está aquí: http://media.pragprog.com/titles/mrhome/code/GivingYourHomeAVoice/osx-voice-automation.scpt

4voto

0942v8653 Puntos 3617

A la derecha en

/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognitionServer.app

Cuando se le pide, haga clic en Examinar y tipo de comando ⌘+mayús ⇧+G, a continuación, pegar la ruta de acceso.

Con un guión hay un par de errores (usted necesita para deshacerse de la Âs con buscar y reemplazar, y no es un comentario después de un carácter de continuación de línea en else if voiceResponse is "pause music" or ¬ -- <callout id="code.osx-voice-automation.scpt.miscmusic"/>). Después de hacerlo que he conseguido que funcione en mi máquina.

Ah, y si usted se está preguntando cómo me encontró - mdfind es el Foco de la interfaz de Terminal, y muestra los archivos ocultos, así que cuando me encontré mdfind SpeechRecognitionServer se vino para arriba con el camino.

Final de la secuencia de comandos (esto no va a solucionar su problema original):

con tiempo de espera de 2629743 segundos
 conjunto de exitApp a "no"
 repita mientras exitApp es "no"
 indica la aplicación "SpeechRecognitionServer" -- 
activar
trate de
 conjunto de voiceResponse para escuchar {"luz", "luz apagada", 
 "abra la puerta", "escuchar música", "pausa de la música", 
 "volver a la música", "stop music", "pista siguiente", 
 "subir volumen", "bajar el volumen", 
 "pista anterior", "comprobar correo", "tiempo", "hacer una llamada", 
 "colgar", "salir de la aplicación"} dar para arriba después de 2629743
 en caso de error -- tiempo de espera
volver
 end try
 final dicen

 si voiceResponse es "la luz" de entonces ... 
 -- abrir dirección URL para activar el Interruptor de la Luz 
 abrir ubicación "http://192.168.1.100:3344/command/on"
 decir "La luz es de ahora".

 si por el contrario, voiceResponse es "apagar la luz", a continuación,
 -- abrir dirección URL para apagar el Interruptor de la Luz
 abrir ubicación "http://192.168.1.100:3344/command/off"
 dicen que "La luz está ahora apagado."

 si por el contrario, voiceResponse se "abra la puerta", a continuación,
 -- abrir dirección URL para desbloquear Android de Bloqueo de la Puerta
 abrir ubicación "http://192.168.1.230:8000"
 decir "Desbloqueo de la puerta."

 si por el contrario, voiceResponse es "reproducir música" entonces ... 
 indica la aplicación "iTunes"
 conjunto de musicList {"Cancelar"} como la lista de
 conjunto de milista (artista de cada pista 
 de la lista de reproducción 1) como la lista de
 repita con mielemento en milista
 si musicList no contiene mielemento, a continuación,
 conjunto de musicList a musicList & mielemento
 end if
 final de la repetición
 final dicen

 decir "Qué artista te gustaría escuchar?"
 indica la aplicación "SpeechRecognitionServer"
 conjunto de theArtistListing a 
 (escuchar para musicList con el símbolo de musicList)
 final dicen
 si theArtistListing no es "Cancelar" y, a continuación,
 decir "Que de" & theArtistListing & 
 "álbumes te gustaría escuchar?"
 indica la aplicación "iTunes"
 dígale a la fuente de "la Biblioteca"
 dígale a la biblioteca de listas de reproducción 1
 conjunto de uniqueAlbumList a {}
 conjunto de albumList a álbum de las pistas 
 donde el artista es igual a theArtistListing

 repita hasta que albumList = {}
 si uniqueAlbumList no contiene 
 (primer elemento de albumList), a continuación,
 copia (primer elemento de albumList) a fin de 
uniqueAlbumList
 end if
 conjunto de albumList el resto de la albumList
 final de la repetición

 conjunto de theUniqueAlbumList {"Cancelar"} & uniqueAlbumList
 indica la aplicación "SpeechRecognitionServer"
 conjunto de theAlbum (escuchar el theUniqueAlbumList 
 con el símbolo de theUniqueAlbumList)
 final dicen
 final dicen
 si theAlbum no es "Cancelar" y, a continuación,
 si no ((nombre de listas de reproducción) contiene "Álbum Actual"), a continuación,
 conjunto de theAlbumPlaylist a 
 hacer nueva lista de reproducción con las propiedades {nombre:"Álbum Actual"}
otra cosa
 conjunto de theAlbumPlaylist a la lista "Álbum Actual"
 eliminar todas las pistas de theAlbumPlaylist
 end if
 dígale a la biblioteca de listas de reproducción 1 para duplicar 
 (cada pista cuyo álbum es theAlbum) a theAlbumPlaylist
 jugar theAlbumPlaylist
otra cosa
 decir "Cancelando la selección de música"
 end if
 final dicen
 final dicen
otra cosa
 decir "Cancelando la selección de música"
 end if

 si por el contrario, voiceResponse es "poner en pausa la música" o 
 voiceResponse es "volver a la música", a continuación,
 indica la aplicación "iTunes"
playpause
 final dicen

 si por el contrario, voiceResponse es "detener la música", a continuación,
 indica la aplicación "iTunes"
parada
 final dicen

 si por el contrario, voiceResponse es "pista siguiente", a continuación,
 indica la aplicación "iTunes"
 la siguiente pista
 final dicen

 si por el contrario, voiceResponse es "pista anterior", a continuación,
 indica la aplicación "iTunes"
 la pista anterior
 final dicen

 -- Subir y bajar el volumen de las rutinas de cortesía de HexMonkey post: 
 -- http://forums.macrumors.com/showthread.php?t=144749 
 si por el contrario, voiceResponse es "subir volumen" entonces ... 
 conjunto de currentVolume a volumen de salida de (conseguir que los ajustes de volumen)
 conjunto de scaledVolume a ronda (currentVolume / (100 / 16))
 conjunto de scaledVolume a scaledVolume + 1
 si (scaledVolume > 16 años),
 conjunto de scaledVolume 16
 end if
 conjunto de newVolume a ronda (scaledVolume / 16 * 100)
 ajustar el volumen de salida de volumen newVolume
 si por el contrario, voiceResponse es "reducir volumen", a continuación,
 conjunto de currentVolume a volumen de salida de (conseguir que los ajustes de volumen)
 conjunto de scaledVolume a ronda (currentVolume / (100 / 16))
 conjunto de scaledVolume a scaledVolume - 1
 si (scaledVolume 
 indica la aplicación "Correo"
activar
 comprobar correo nuevo
 conjunto de unreadEmailCount a número de mensajes no leídos en la bandeja de entrada
 si unreadEmailCount es igual a 0 entonces
 decir "Usted no tiene mensajes no leídos en la Bandeja de entrada."
 si por el contrario, unreadEmailCount es igual a 1, entonces
 decir "tiene 1 mensaje no leído en la Bandeja de entrada."
otra cosa
 decir "tiene" & unreadEmailCount & 
 "los mensajes no leídos en la Bandeja de entrada."
 end if
 si unreadEmailCount es mayor que 0, entonces
 decir "usted me gustaria leer su correo electrónico no leídos?"
 indica la aplicación "SpeechRecognitionServer"
activar
 conjunto de voiceResponse para escuchar {"sí", "no"} 
 dar hasta después de la 1 * minutos
 final dicen
 si voiceResponse es "sí", entonces
 conjunto de allMessages para cada mensaje en la bandeja de entrada
 repita con amensaje en allMessages
 si se lee el estado de amensaje es falsa
 conjunto de theSender al remitente de amensaje
 conjunto {savedDelimiters, AppleScript del elemento de texto delimitadores} 
 a {AppleScript del elemento de texto delimitadores "
 conjunto de current_time a (tiempo de la cadena de (fecha actual))
 conjunto {savedDelimiters, AppleScript del elemento de texto delimitadores} 
 {AppleScript del elemento de texto delimitadores ":"}
 establecer horas para el primer elemento de texto de current_time
 ajuste los minutos con el segundo elemento de texto de current_time
 conjunto de AMPM a tercer elemento de texto de current_time
 conjunto de AMPM de texto de 3 a 5 de la AMPM
 conjunto de AppleScript del elemento de texto delimitadores para savedDelimiters
 dicen que "El tiempo es" & horas & "" & minutos & AMPM
 --si por el contrario, voiceResponse es "hacer una llamada", a continuación, 
 -- indica la aplicación de "Skype"
 -- -- Skype de Seguridad de la API de diálogo emergente de primera 
 -- -- acceder a Skype con este script.
 -- -- Seleccione "Permitir que esta aplicación para el uso de Skype" para 
 -- -- ininterrumpido de Skype acceso a la API.
 -- activate
 -- -- reemplazar echo123 Llamada de Skype Pruebas de IDENTIFICACIÓN de Servicio con 
 -- -- o el número de teléfono de tu contacto de Skype ID
 -- enviar el comando "LLAMAR echo123" nombre de secuencia de comandos 
 -- "En Lugar De Llamadas De Skype"
 -- fin de contar
 -- si por el contrario, voiceResponse se "cuelgue", a continuación,
 -- indica la aplicación de "Skype"
 - dejar de fumar
 -- fin de contar
 si por el contrario, voiceResponse es "salir de la aplicación" entonces ... 
 conjunto de exitApp a "sí"
 decir "Escucha desactivado. Salir de la aplicación."
 delay 1
 do shell script "killall SpeechRecognitionServer"
 end if
 final de la repetición
fin de tiempo de espera

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X