Cum se utilizează Automator pentru a genera tonuri de apel

Într-un tutorial anterior, Dă-ți un Mac Voice cu Text-To-Speech, ți-am arătat cum să folosești funcția de vorbire a Mac-ului tău. O anumită secțiune a acelui ghid care detaliază procesul de creare a unui ton de apel vocal cu ajutorul lui Mac Spune comandă și aplicația Mac Ringer.

În acest tutorial, vă voi arăta cum puteți automatiza acest proces prin crearea unui plug-in pentru Contacte utilizând Automator. Acest plug-in va genera în mod automat un ton de apel vocal pe care să-l putem folosi fără a fi nevoie să introduceți în orice moment nimic în Terminal.


Înainte de a începe

Pentru a obține cele mai bune rezultate din tonurile de sonerie, veți avea nevoie de aplicația Mac Ringer (3.99 dolari din Mac App Store). Voi explica de ce această aplicație este necesară mai târziu.

Serviciul nostru pentru Contacte va funcționa după cum urmează:

  • Selectați un nume de contact pentru care am dori să creați un ton de apel.
  • Evidențiați textul numelui, pseudonimului sau al companiei de contact.
  • Faceți clic dreapta pe textul selectat și, la selectarea serviciului nostru, va fi generat automat un nou ton de apel și trimis la Ringer pentru a adăuga eventualele lacune sau dispariții.
  • Tonul de apel poate fi apoi trimis la iTunes.

1. Automator

Voi folosi o combinație de Automator și un script shell pentru a îndeplini cerințele noastre. Automator este un instrument de automatizare extrem de puternic, care permite aproape oricui să creeze scripturi extrem de puternice, cu o experiență de scriptare foarte puțin sau deloc.

Fluxurile de lucru ale automatului funcționează prin introducerea unei intrări, fie că este vorba de selectarea unui fișier sau de text, și apoi efectuează o acțiune asupra acestuia.

Bacsis: Dacă nu sunteți familiarizați cu Automator, atunci verificați tutorialele anterioare, Automator 101: Construirea primului dvs. flux de lucru și depunerea mai profundă în automator în OS X.

Pasul 1

Deschis Automator, localizat în Aplicații și selectați Serviciu ca tip de document.


vom crea un Serviciu pentru Contacte (Address Book) care va lua orice text pe care l-am selectat în cadrul aplicației și îl vom converti într-un ton de apel vocal pentru iPhone.

Odată ce un nou document a fost încărcat, veți vedea că serviciul nostru așteaptă să primească selectat text în orice aplicație. Lăsați prima opțiune așa cum este, dar schimbați orice aplicație la Contacte.


Modificați aplicația de utilizat astfel încât acest serviciu să se aplice numai în Contacte.

Pasul 2

În acţiuni listă, căutați coajă și veți vedea o acțiune numită Deschideți Shell Script. Trageți-l în zona de lucru principală.


Adăugați acțiunea "Rulați Shell Script" în zona principală a fluxului de lucru.

Trebuie să faceți o mică modificare pentru a putea folosi textul pe care l-am selectat ca parte a scriptului, cunoscut sub numele de a variabil.

Modificați opțiunea pentru Treceți intrarea din la stdin la ca argumente. Conținutul acțiunii se va schimba și va apărea ca mai jos.


Odată ce "Run Shell Script" a fost adăugat la fluxul nostru de lucru, asigurați-vă că modificați modul în care este trecut intrarea.

2. Shell Script

Pentru a face lucrurile mai ușoare, am inclus scriptul pe care trebuie să-l introduceți mai jos. Este tot ce aveți nevoie în cadrul acțiunii, astfel încât să puteți elimina complet acțiunea și să o înlocuiți cu textul de mai jos.


Acesta este modul în care arată fluxul de lucru cu finalizarea scriptului shell.
 pentru f în "$ @" nu # Pasul 1: Specificați o locație temporară și un nume de fișier pentru a salva tonul de sonerie pentru a localiza = ~ / Desktop filename = temp.aiff # Pasul 2: Folosiți comanda "say" $ loc / $ numele fișierului "$ 1 a sunat" # Pasul 3: Acum am creat un ton de apel temporar, să îl redenumiți mv $ loc / $ nume fișier "$ loc / $ 1.aiff" # Pasul 4: Ringer pentru a face toate ajustările finale deschise -a /Applications/Ringer.app "$ loc / $ 1.aiff" făcut

Să rupem acest scenariu și să explorăm ce face mai întâi.

Pasul 1

 # Pasul 1: Specificați o locație temporară și un nume de fișier pentru a salva tonul de sonerie pentru a localiza = ~ / Desktop filename = temp.aiff

Aceasta se referă la stabilirea unor informații temporare. În scriptul de mai sus, specificăm un nume și o locație temporară pentru fișierul nostru de ton de apel și îi atribuim ca a variabil. Shell variabilele de script vor începe cu un semn de dolar atunci când vrem să le utilizeze.

Aici, tonul de apel va începe să fie sunat temp.aiff (care va fi denumit $ filename) și va fi salvat la dvs. Spațiul de lucru (referit ca $ loc).

Pasul 2

 # Pasul 2: Folosiți comanda "spune" pentru a genera tonul de apel spun -o $ loc / $ numele fișierului "$ 1 a sunat"

Aici, folosim Spune comanda pentru a spune numele contactului nostru evidențiat și salvați-l într-un fișier audio. Folosim $ de 1 pentru a reprezenta datele introduse de Automator. Serviciul nostru folosește textul pe care l-am selectat ca intrare, transmite-l pe scriptul nostru shell, reprezentat de $ de 1. La fel ca numele de fișier temporar, variabila noastră aici începe cu un semn de dolar.

Tonul de apel va spune "Nume de contact este de asteptare. "Dacă ați făcut acest lucru pentru Johnny Appleseed, tonul de apel ar spune" Johnny Appleseed este de asteptare ".

Pasul 3

 # Pasul 3: Acum am creat un ton de apel temporar, să îl redenumiți mv $ loc / $ filename "$ loc / $ 1.aiff"

Acest pas redenumeste fisierul temporar la numele contactului nostru. De exemplu, dacă am generat un ton de sonerie pentru "Johnny Appleseed", ar începe ca temp.aiff și apoi să fie redenumit Johnny Appleseed.aiff. desi Spune comandă creează fișierul și îl numește, nu se ocupă bine cu niciunul dintre caracterele sau spațiile speciale din numele fișierului. Avem nevoie de acest pas suplimentar pentru a putea numi noul nostru fișier după contactul nostru.

Pasul 4

 # Pasul 4: În cele din urmă, să deschidem acest lucru în Ringer pentru a face toate ajustările finale deschise - /Applications/Ringer.app "$ loc / $ 1.aiff"

În cele din urmă, tonul de sonerie nou creat este deschis în aplicație clopotar, permițându-ne să facem câteva schimbări suplimentare.


3. Generați un ton de apel

După ce ați copiat și ați lipit scriptul de mai sus în Automator Deschideți Shell Script acțiune, este timpul să salvați. Salvați fișierul cu numele Generați tonul de apel ... și apoi deschideți Contacte.


Noul nostru serviciu va apărea sub meniul contextual atunci când faceți clic dreapta pe orice text evidențiat.

Selectați o persoană de contact și evidențiați numele, pseudonimul sau numele companiei. Faceți clic dreapta și apoi selectați Generați tonul de apel ... care va fi sub Servicii meniul. Imediat ce o selectați, un nou ton de apel va fi creat instantaneu pe desktop, care are numele de contact ca nume de fișier. Câteva momente mai târziu, Ringer va lansa cu tonul de apel încărcat și gata să facă schimbări.


4. Ringer


Cu Ringer, putem adăuga un decalaj la sfârșitul tonului de apel, astfel încât iPhone-ul nostru să nu devină prea iritant.

Spune comanda poate genera de fapt fișiere de tonuri de apel compatibile cu un iPhone fără orice software suplimentar. Dacă ar fi trebuit să modificăm scenariul astfel încât să genereze a .M4R fișier în loc de .AIFF atunci am putea ocoli folosind aplicația complet și plasați-o în iTunes.

Dar există o problemă cu asta. Tonuri de apel pe bucla iPhone. Cu excepția cazului în care vom folosi o aplicație ca Ringer pentru a adăuga un decalaj la tonul de apel, atunci ar deveni incredibil de enervant să aud "Johnny Appleseed sună, sună Johnny Appleseed, sună Johnny Appleseed" fără nici un decalaj. Cu siguranță, s-ar părea că Siri este excesiv de nerăbdătoare cu noi!

Acum că sunetul nostru este în Ringer, asigurați-vă că adăugați un decalaj de cel puțin trei secunde până la sfârșitul fișierului. În acest fel, există un decalaj frumos înainte de buclele tonurilor de apel.

Apoi puteți trimite tonul de sonerie la iTunes, care va avea în continuare numele de contact ca ton de apel. Tot ce trebuie să faceți este să-l asociați ca ton de apel.


Înfășurarea în sus

Deși nu sunt complet autonome, puteți crea rapid și ușor diferite tonuri de apel pentru contacte diferite. Mai mult, din moment ce serviciul pe care l-am creat are orice formă de text selectat din Contacte, puteți genera un ton de apel utilizând un pseudonim sau un nume de firmă.


Utilizând serviciul Automator furnizat împreună cu acest tutorial, puteți să aruncați o privire asupra codului sau să îl instalați pentru a vă folosi.

Ca parte a acestui tutorial, am inclus un flux de lucru automatizat gata pentru utilizare. Deschideți pur și simplu fișierul și puteți selecta dacă doriți să modificați fluxul de lucru în Automator sau să îl instalați ca serviciu.