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.
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:
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.
Öppna Automator, ligger i din tillämpningar mapp och välj Service som dokumenttyp.
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.
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.
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.
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.
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: 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: 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: 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: 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.
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ä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.
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.
Ä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.
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.