I en tidligere opplæring, Gi din Mac en stemme med tekst til tale, viste jeg deg hvordan du bruker talefunksjonen til din Mac. En bestemt del av det som veiledet detaljert prosessen med å lage et talet ord ringetone ved hjelp av Mac-en si
kommandoen og Mac-app-ringeren.
I denne veiledningen vil jeg vise deg hvordan du kan automatisere denne prosessen ved å lage en plugin-modul for kontakter ved hjelp av Automator. Denne plugin-modulen genererer automatisk et taletone ringetone for oss å bruke uten å måtte uendelig skrive noe inn i Terminal.
For å få mest mulig ut av våre ringetoner trenger du Mac-app-ringeren ($ 3,99 fra Mac App Store). Jeg skal forklare hvorfor denne appen kreves litt senere.
Vår tjeneste for kontakter vil fungere som følger:
Jeg skal bruke en kombinasjon av Automator og et skalskript for å oppfylle våre krav. Automator er et ekstremt kraftig automatiseringsverktøy som gjør det mulig for nesten alle å lage ekstremt kraftige skript med liten eller ingen erfaring med skripting.
Automator-arbeidsflyter arbeider ved å ta inn et innspill, om dette er et fil- eller tekstvalg, og deretter utfører en handling på den.
Tips: Hvis du ikke er kjent med Automator, sjekk ut våre tidligere opplæringsoppgaver, Automator 101: Bygg din første arbeidsflyt og dypere dybere inn i automatoren i OS X.
Åpen Automator, ligger i din applikasjoner mappe og velg Service som dokumenttype.
Når et nytt dokument er lastet, ser du at tjenesten vår forventer å motta valgt tekst i enhver søknad. La det første alternativet være som det er, men endre enhver søknad til Kontakt.
I handlinger liste, søk etter shell og du får se en handling som heter Kjør Shell Script. Dra det over til hoved arbeidsflytområdet.
Du må gjøre en liten endring slik at vi kan bruke teksten vi har valgt som en del av skriptet, kjent som en variabel.
Endre alternativet for Pass Input fra å stdin til som argumenter. Innholdet i handlingen vil da endres og vises som nedenfor.
For å gjøre det enklere, har jeg tatt med skriptet som du må skrive inn nedenfor. Det er alt du trenger i handlingen, slik at du kan rydde handlingen helt og erstatte den med teksten nedenfor.
for f i "$ @" gjør # Trinn 1: Angi et midlertidig sted og filnavn for å lagre ringetonen vår til loc = ~ / Desktop filename = temp.aiff # Trinn 2: Bruk kommandoen 'say' for å generere vår ringetone si -o $ loc / $ filnavn "$ 1 ringer" # Trinn 3: Nå har vi opprettet en midlertidig ringetone, la oss omdøpe den mv $ loc / $ filnavn "$ loc / $ 1.aiff" # Trinn 4: La oss åpne dette Ringer for å foreta endringer i en åpen -a /Applications/Ringer.app "$ loc / $ 1.aiff" ferdig
La oss bryte dette skriptet ned og utforske hva det gjør først.
# Trinn 1: Angi et midlertidig sted og filnavn for å lagre ringetonen til loc = ~ / Desktop filnavn = temp.aiff
Dette handler om å sette inn midlertidig informasjon. I skriptet ovenfor angir vi et midlertidig navn og sted for vår ringetonefil og tilordne dem som en variabel. Shell-skriptvariabler vil starte med et dollarskilt når vi vil bruke dem.
Her begynner ringetonen vår å bli kalt temp.aiff (som vil bli referert til som $ filnavn
) og vil bli lagret i din Desktop (referert til som $ loc
).
# Trinn 2: Bruk kommandoen "say" til å generere vår ringetone si -o $ loc / $ filnavn "$ 1 ringer"
Her bruker vi si
beordre å si navnet på vår uthevede kontakt og lagre den i en lydfil. Vi bruker $ 1
å representere innspillet som Automator har gitt oss. Vår tjeneste bruker teksten vi vil ha valgt som inngang, overfører den til vårt skalskript, representert av $ 1
. På samme måte som vårt midlertidige filnavn, begynner vår variabel her med et dollarskilt.
Vår ringetone vil si "Kontakt navn ringer. "Hvis du gjorde dette for Johnny Appleseed, ville ringetonen si" Johnny Appleseed ringer ".
# Trinn 3: Nå har vi opprettet en midlertidig ringetone, la oss omdøpe den mv $ loc / $ filnavn "$ loc / $ 1.aiff"
Dette trinnet omdøper den midlertidige filen til navnet på kontakten vår. For eksempel, hvis jeg genererte en ringetone for "Johnny Appleseed", ville det starte som temp.aiff og deretter bli omdøpt til Johnny Appleseed.aiff. Selv om si
kommando lager filen og navngir den, det går ikke bra med noen spesialtegn eller mellomrom i filnavnet. Vi krever dette ekstra trinnet, slik at vi kan navngi vår nye fil etter vår kontakt.
# Trinn 4: La oss nå åpne dette i Ringer for å gjøre noen endringer tilpasning -a /Applications/Ringer.app "$ loc / $ 1.aiff"
Endelig åpnes den nyopprettede ringetonen i appen Ringer, slik at vi kan gjøre noen ekstra endringer.
Når du har kopiert og limt inn skriptet ovenfor i Automators Kjør Shell Script handling, det er på tide å redde. Lagre filen med navnet Generer ringetone ... og deretter åpne Kontakt.
Velg en kontakt og merk av enten navnet, kallenavnet eller firmanavnet. Høyreklikk og velg deretter Generer ringetone ... som vil være under tjenester Meny. Så snart du velger den, vil en ny ringetone bli opprettet umiddelbart på skrivebordet ditt, som har navnet på kontakten som filnavnet. Et øyeblikk senere starter Ringer med ringetonen lastet og klar til å gjøre endringer i.
De si
kommandoen kan faktisk generere ringetone filer som er kompatible med en iPhone uten noen ekstra programvare. Hvis vi skulle endre skriptet slik at det genererer en .M4r fil i stedet for .aIFF da kunne vi omgå bruken av appen helt og plassere den i iTunes.
Men det er et problem med det. Ringetoner på iPhone-sløyfen. Med mindre vi bruker en app som Ringer for å legge til et gap i ringetonen vår, så ville det bli utrolig irriterende å høre "Johnny Appleseed ringer, Johnny Appleseed ringer, Johnny Appleseed ringer" uten noe gap. Det ville sikkert høres ut som Siri er overdrevet utålmodig med oss!
Nå som ringetonen er innenfor Ringer, må du legge til et mellomrom på minst tre sekunder til slutten av filen. På den måten er det et fint gap før ringetone-løkkene.
Du kan deretter sende ringetonen til iTunes som fortsatt vil ha kontaktnavnet som ringetone. Alt du trenger å gjøre er å tildele det som en ringetone.
Selv om det ikke er helt autonomt, kan du raskt og enkelt lage en rekke forskjellige ringetoner til forskjellige kontakter. Dessuten, siden tjenesten vi har opprettet tar noen form for valgt tekst fra Kontakter, kan du generere en ringetone ved hjelp av et kallenavn eller firmanavn.
Som en del av denne opplæringen har jeg tatt med en ferdig Automator-arbeidsflyt for deg å bruke. Bare åpne filen, og du kan velge om du vil redigere arbeidsflyten i Automator eller installere den som en tjeneste.