Hur man använder Automator för att generera talade ringsignaler

I en tidigare handledning, ge din Mac en röst med text-till-tal, visade jag dig hur du använder talfunktionen på din Mac. En särskild del av det som guider detaljerad processen att skapa ett talat ord ringsignal genom att använda Mac: s säga kommandot och Mac-app ringsignalen.

I den här handledningen visar jag dig hur du kan automatisera denna process genom att skapa ett plugin-modul för Kontakter med Automator. Den här plugin-modulen genererar automatiskt ett talat ord ringsignal för oss att använda utan att behöva skriva oändligt något i Terminal.


Innan vi börjar

För att få ut det mesta av våra ringsignaler behöver du Mac-app ringsignalen ($ 3,99 från Mac App Store). Jag förklarar varför den här appen krävs lite senare.

Vår service för kontakter fungerar som följer:

  • Välj ett kontaktnamn som vi vill skapa en ringsignal för.
  • Markera texten på kontaktens namn, smeknamn eller företag.
  • Högerklicka på den markerade texten och, vid val av vår tjänst, genereras en ny ringsignal automatiskt och skickas till Ringer för att lägga till några luckor eller bleknar.
  • Ringsignalen kan sedan skickas till iTunes.

1. Automator

Jag ska använda en kombination av Automator och ett skalskript för att uppfylla våra krav. Automator är ett extremt kraftfullt automatiseringsverktyg som gör det möjligt för nästan alla att skapa extremt kraftfulla skript med liten eller ingen erfarenhet av skript.

Automator-arbetsflöden fungerar genom att ta en inmatning, oavsett om det här är ett fil- eller textval och sedan utför en åtgärd.

Tips: Om du inte är känd med Automator kan du kolla in våra tidigare handledning, Automator 101: Bygga ditt första arbetsflöde och dyka djupare in i automatorn i OS X.

Steg 1

Öppna Automator, ligger i din tillämpningar mapp och välj Service som dokumenttyp.


vi kommer att skapa en tjänst för kontakter (adressbok) som tar någon text vi väljer inom appen och konverterar den till en talad ringsignal för vår iPhone.

När ett nytt dokument har laddats ser du att vår tjänst förväntar dig att få utvalda valda text i någon ansökan. Lämna det första alternativet som det är men ändra någon ansökan till Kontakter.


Ändra applikationen så att den här tjänsten endast gäller Kontakter.

Steg 2

I Åtgärder lista, sök efter skal och du får se en åtgärd som heter Kör Shell Script. Dra över det till arbetsflödesområdet.


Lägg till åtgärden "Run Shell Script" till huvudflödet.

Du måste göra en liten ändring så att vi kan använda texten som vi har valt som en del av skriptet, känt som a variabel.

Ändra alternativet för Pass Input från till stdin till som argument. Innehållet i åtgärden ändras sedan och visas som nedan.


När "Run Shell Script" har lagts till i vårt arbetsflöde, se till att ändra hur inmatningen har passerat.

2. Skalskriptet

För att göra det enklare har jag inkluderat det skript som du behöver ange nedan. Det är allt du behöver inom åtgärden så att du kan rensa åtgärden helt och ersätt det med texten nedan.


Så här ser arbetsflödet ut med det fullständiga skalskriptet.
 för f i "$ @" gör # Steg 1: Ange en tillfällig plats och filnamn för att spara vår ringsignal till loc = ~ / Desktop filename = temp.aiff # Steg 2: Använd kommandot "say" för att generera vår ringsignal säg -o $ loc / $ filnamn "$ 1 ringer" # Steg 3: Nu har vi skapat en tillfällig ringsignal, låt oss byta namn på det mv $ loc / $ filnamn "$ loc / $ 1.aiff" # Steg 4: Låt oss öppna det här Ringer för att göra några slutliga justeringar öppna -a /Applications/Ringer.app "$ loc / $ 1.aiff" gjort

Låt oss bryta ner det här skriptet och utforska vad det gör först.

Steg 1

 # Steg 1: Ange en tillfällig plats och filnamn för att spara vår ringsignal till loc = ~ / Desktop filename = temp.aiff

Det handlar om att ställa in tillfällig information. I skriptet ovan anger vi ett temporärt namn och plats för vår ringsignalfil och tilldelar dem som en variabel. Shell-skriptvariablerna börjar med en dollar tecken när vi vill använda dem.

Här börjar vår ringsignal ringas temp.aiff (som kommer att kallas som $ filnamn) och kommer att sparas i din Desktop (kallad $ loc).

Steg 2

 # Steg 2: Använd kommandot "say" för att generera vår ringsignal säger -o $ loc / $ filnamn "$ 1 ringer"

Här använder vi säga beordra att säga vår utmärkta kontakt namn och spara den i en ljudfil. Vi använder $ 1 för att representera den inmatning som Automator har gett oss. Vår tjänst använder den text som vi har valt som inmatning, och skickar den vidare till vårt skalskript representerat av $ 1. Precis som vårt temporära filnamn börjar vår variabel här med ett dollar tecken.

Vår ringsignal kommer att säga "Kontaktnamn ringer ". Om du gjorde det för Johnny Appleseed, skulle ringsignalen säga" Johnny Appleseed ringer ".

Steg 3

 # Steg 3: Nu har vi skapat en tillfällig ringsignal, låt oss byta namn på det mv $ loc / $ filnamn "$ loc / $ 1.aiff"

Det här steget byter namn på den temporära filen till namnet på vår kontaktperson. Om jag till exempel skapade en ringsignal för "Johnny Appleseed" skulle den börja som temp.aiff och sedan bytt namn till Johnny Appleseed.aiff. Även om säga kommando skapar filen och namnger den, det hanterar inte några speciella tecken eller mellanslag inom filnamnet. Vi behöver detta ytterligare steg så vi kan namnge vår nya fil efter vår kontakt.

Steg 4

 # Steg 4: Låt oss öppna detta i Ringer för att göra några slutliga justeringar öppna -a /Applications/Ringer.app "$ loc / $ 1.aiff"

Slutligen öppnas den nyskapade ringsignalen i appen Ringers, tillåter oss att göra några ytterligare ändringar.


3. Generera en ringsignal

När du har kopierat och klistrat in skriptet ovan i Automators Kör Shell Script åtgärd, det är dags att spara. Spara filen med namnet Generera ringsignal ... och öppna sedan Kontakter.


Vår nya tjänst visas under kontextmenyn när vi högerklickar på någon markerad text.

Välj en kontakt och markera antingen namn, smeknamn eller företagsnamn. Högerklicka och välj sedan Generera ringsignal ... som kommer att vara under tjänster meny. Så snart du väljer den, skapas en ny ringsignal direkt på skrivbordet med namnet på kontakten som filnamn. Några minuter senare kommer Ringer att starta med ringsignalen laddad och redo att göra några ändringar.


4. Ringer


Med Ringer kan vi lägga till ett gap i slutet av vår ringsignal så att vår iPhone inte blir för irriterande.

De säga kommandot kan faktiskt generera ringsignalfiler som är kompatibla med en iPhone utan någon ytterligare programvara. Om vi ​​skulle ändra manuset så att det alstrar en .M4R fil istället för .aiff då kunde vi kringgå användningen av appen helt och placera den i iTunes.

Men det finns ett problem med det. Ringsignaler på iPhone-slingan. Om vi ​​inte använder en app som Ringer för att lägga till en lucka till vår ringsignal så skulle det bli oerhört irriterande att höra "Johnny Appleseed ringer, Johnny Appleseed ringer, Johnny Appleseed ringer" utan några luckor. Det skulle säkert låta som Siri är överdrivet otålig mot oss!

Nu när vår ringsignal ligger inom Ringer, måste du lägga till ett mellanrum på minst tre sekunder till slutet av filen. På så sätt finns det ett fint gap framför ringsignalerna.

Du kan sedan skicka din ringsignal till iTunes som fortfarande har kontaktnamnet som ringsignal. Allt du behöver göra är att tilldela det som en ringsignal.


Avslutar

Även om det inte är helt självständigt kan du snabbt och enkelt skapa ett antal olika ringsignaler för olika kontakter. Dessutom, eftersom tjänsten vi skapat tar någon form av utvald text från Kontakter kan du skapa en ringsignal med ett smeknamn eller företagsnamn.


Med hjälp av Automator-tjänsten som tillhandahålls med denna handledning kan du antingen titta på koden eller installera den för att använda dig själv.

Som en del av denna handledning har jag inkluderat ett färdigt Automator-arbetsflöde för dig att använda. Öppna bara filen och du kan välja om du vill redigera arbetsflödet i Automator eller installera det som en tjänst.