In un tutorial precedente, Dai al tuo Mac una voce con sintesi vocale, ti ho mostrato come utilizzare la funzione vocale del tuo Mac. Una sezione specifica di quella guida illustra in dettaglio il processo di creazione di una suoneria della parola pronunciata utilizzando il Mac dire
comando e l'app Mac Ringer.
In questo tutorial, ti mostrerò come puoi automatizzare questo processo creando un plug-in per i Contatti Automator. Questo plug-in genererà automaticamente una suoneria della parola pronuncia per noi da utilizzare senza dover digitare continuamente qualcosa nel terminale.
Per ottenere il massimo dalle nostre suonerie, è necessario l'app Mac Ringer ($ 3,99 dal Mac App Store). Spiegherò perché questa app è richiesta un po 'più tardi.
Il nostro servizio per i contatti funzionerà come segue:
Userò una combinazione di Automator e uno script di shell per soddisfare i nostri requisiti. Automator è uno strumento di automazione estremamente potente che consente a quasi tutti di creare script estremamente potenti con poca o nessuna esperienza di scripting.
I flussi di lavoro di Automator funzionano prendendo un input, che si tratti di un file o di una selezione di testo, e quindi eseguono un'azione su di esso.
Mancia: Se non hai familiarità con Automator, dai un'occhiata alle nostre esercitazioni precedenti, Automator 101: Costruire il tuo primo flusso di lavoro e approfondire l'automazione in OS X.
Aperto Automator, situato nel tuo applicazioni cartella e selezionare Servizio come il tipo di documento.
Una volta caricato un nuovo documento, vedrai che il nostro servizio è in attesa di essere selezionato testo nel qualsiasi applicazione. Lascia la prima opzione così com'è ma cambia qualsiasi applicazione a Contatti.
Nel Azioni lista, cerca conchiglia e vedrai un'azione chiamata Esegui Shell Script. Trascinarlo sull'area del flusso di lavoro principale.
È necessario apportare una leggera modifica in modo da poter utilizzare il testo che abbiamo selezionato come parte dello script, noto come a variabile.
Cambia l'opzione per Passa input a partire dal per stdin a come argomenti. I contenuti dell'azione cambieranno e appariranno come di seguito.
Per semplificare le cose, ho incluso lo script che devi inserire qui sotto. È tutto ciò che ti serve all'interno dell'azione in modo da poter cancellare completamente l'azione e sostituirla con il testo sottostante.
per f in "$ @" do # Passaggio 1: specificare una posizione temporanea e nomefile per salvare la nostra suoneria su loc = ~ / Desktop filename = temp.aiff # Passaggio 2: utilizzare il comando 'say' per generare la nostra suoneria dire -o $ loc / $ nomefile "$ 1 sta chiamando" # Step 3: Ora abbiamo creato una suoneria temporanea, rinominiamolo mv $ loc / $ nomefile "$ loc / $ 1.aiff" # Step 4: Infine, apriamolo in Suoneria per eseguire eventuali aggiustamenti finali -a /Applications/Ringer.app "$ loc / $ 1.aiff" terminato
Rompiamo questo copione ed esploriamo ciò che fa per primo.
# Passaggio 1: specificare una posizione temporanea e un nome file per salvare la nostra suoneria su loc = ~ / Desktop filename = temp.aiff
Questo riguarda l'impostazione di alcune informazioni temporanee. Nello script sopra, specifichiamo un nome temporaneo e una posizione per il nostro file suoneria e li assegniamo come a variabile. Le variabili di script della shell inizieranno con un segno di dollaro quando vogliamo usarle.
Qui, la nostra suoneria inizierà a essere chiamata temp.aiff (che verrà indicato come $ filename
) e saranno salvati nel tuo Desktop (indicato come $ loc
).
# Step 2: Usa il comando 'say' per generare la nostra suoneria dire -o $ loc / $ nomefile "$ 1 sta chiamando"
Qui, usiamo il dire
comando per pronunciare il nome del contatto evidenziato e salvarlo in un file audio. Noi usiamo $ 1
per rappresentare l'input che Automator ci ha fornito. Il nostro servizio utilizza il testo che avremo selezionato come input, trasmettendolo al nostro script di shell, rappresentato da $ 1
. Proprio come il nostro nome file temporaneo, la nostra variabile qui inizia con un segno di dollaro.
La nostra suoneria dirà "Nome del contatto sta chiamando ". Se lo hai fatto per Johnny Appleseed, la suoneria direbbe" Johnny Appleseed chiama ".
# Passo 3: Ora abbiamo creato una suoneria temporanea, rinominiamolo mv $ loc / $ nomefile "$ loc / $ 1.aiff"
Questo passaggio rinomina il file temporaneo con il nome del nostro contatto. Ad esempio, se ho generato una suoneria per "Johnny Appleseed", inizierebbe come temp.aiff e quindi essere rinominato Johnny Appleseed.aiff. sebbene il dire
comando crea il file e lo chiama, non si adatta bene con caratteri speciali o spazi all'interno del nome file. Richiediamo questo passaggio aggiuntivo in modo che possiamo nominare il nostro nuovo file dopo il nostro contatto.
# Step 4: Infine, apriamolo in Ringer per rendere aperte le eventuali modifiche finali -a /Applications/Ringer.app "$ loc / $ 1.aiff"
Infine, la suoneria appena creata viene aperta nell'app Ringer, permettendoci di apportare alcune modifiche aggiuntive.
Una volta copiato e incollato lo script sopra in Automator Esegui Shell Script azione, è tempo di salvare. Salva il file con il nome Genera suoneria ... e quindi aprire Contatti.
Seleziona un contatto e seleziona il nome, il nickname o il nome dell'azienda. Fare clic con il tasto destro e selezionare Genera suoneria ... che sarà sotto il Servizi menu. Non appena lo selezioni, una nuova suoneria verrà immediatamente creata sul desktop con il nome del contatto come nome del file. Pochi istanti dopo, Ringer si avvierà con la suoneria caricata e pronta per apportare eventuali modifiche.
Il dire
il comando può effettivamente generare file di suonerie compatibili con un iPhone senza qualsiasi software aggiuntivo. Se dovessimo modificare lo script in modo che generi a .m4r file invece di .AIFF quindi potremmo bypassare completamente l'app e inserirla in iTunes.
Ma c'è un problema con questo. Suonerie sul loop iPhone. A meno che non usiamo un'app come Ringer per aggiungere una lacuna alla nostra suoneria, sarebbe incredibilmente fastidioso ascoltarla "Johnny Appleseed sta suonando, sta suonando Johnny Appleseed, sta suonando Johnny Appleseed" senza alcuna lacuna. Sembrerebbe certamente come se Siri fosse eccessivamente impaziente con noi!
Ora che la nostra suoneria è all'interno di Ringer, assicurati di aggiungere uno spazio di almeno tre secondi alla fine del file. In questo modo, c'è una bella lacuna prima che la suoneria giri.
È quindi possibile inviare la suoneria a iTunes che avrà ancora il nome del contatto come suoneria. Tutto quello che devi fare è assegnarlo come suoneria.
Sebbene non del tutto autonomo, è possibile creare un numero di diverse suonerie per diversi contatti in modo rapido e semplice. Inoltre, poiché il servizio che abbiamo creato utilizza qualsiasi forma di testo selezionato dai Contatti, puoi generare una suoneria utilizzando un nickname o un nome commerciale.
Come parte di questo tutorial, ho incluso un flusso di lavoro di Automator già pronto per l'uso. Basta aprire il file ed è possibile selezionare se modificare il flusso di lavoro in Automator o installarlo come servizio.