Riconoscimento vocale da riga di comando con Mac OS X

7

Come posso eseguire il riconoscimento vocale su Mac OS X dalla riga di comando? Dettagli:

% Quando guardo in ~ / Library / Speech / Speakable Items, vedo molti file,  come "Dimmi uno scherzo", i cui contenuti sono:

<?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> 

% Come fa OS X a sapere quando richiamare questo file? Quando dico qualcosa,  cerca un nome di file corrispondente?

% In che modo OS X sa quale comando eseguire? Non vedo nulla in quel file  che dice quale comando eseguire ("Tell me a joke" non è una riga di comando  comando).

% So che c'è della magia osacompile in corso, ma non riesco a capire  Cos'è.

% Come posso ottenere che OS X ascolti la stringa "s" ed esegua il programma  "cmd" in risposta? Preferirei farlo solo dal  riga di comando, ma se devo aprire un programma grafico, lo farò.

    
posta barrycarter 16.12.2010 - 00:14
fonte

1 risposta

3

Potresti essere interessato a leggere la documentazione di Apple sugli elementi parlati , ma la parte relativa a la tua domanda, "Come posso ottenere OS X per ascoltare la stringa" s "ed eseguire il programma" cmd "in risposta?" è:

You can add an item to the Speakable Items folder to make it speakable.

To open something using a spoken command, just add it to the Speakable Items folder. You can use a command to open anything you can open by double-clicking, including applications, files, and Web sites. You can also write scripts and add them to the folder.

Riguardo a "In che modo OS X sa quale comando eseguire? Non vedo nulla in quel file che dice quale comando eseguire?", la parte rilevante del file che hai postato è:

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

Questo significa che quando viene ricevuto il comando vocale "Tell me a joke", esegui l'ID comando interno 105, che è il comando "Dimmi un gioco".

In questo caso stai guardando un comando interno al sistema vocale. Ma puoi anche aggiungere AppleScript o comandi shell alla cartella degli elementi parlanti.

Anche questo articolo su Suggerimenti per Mac OS X può essere utile.

EDIT: Dopo alcune ricerche non sono sicuro che tu possa eseguire gli script di shell direttamente da lì, ma un piccolo wrapper AppleScript sarebbe abbastanza facile da scrivere e potresti persino scriverlo in modo che possa essere duplicato e rinominato, e dovrebbe solo eseguire lo script della shell corrispondente da /scripts o qualcosa del genere.

    
risposta data 16.12.2010 - 20:02
fonte

Leggi altre domande sui tag