Slik bruker du Automator til å generere talte ringetoner

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.


Før vi begynner

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:

  • Velg et kontaktnavn vi ønsker å lage en ringetone for.
  • Fremhev teksten til navnet, kallenavnet eller firmaet til kontakten.
  • Høyreklikk på den valgte teksten, og ved å velge vår Service, genereres en ny ringetone automatisk og sendes til Ringer for å legge til noen hull eller svindel.
  • Ringetonen kan deretter sendes til iTunes.

1. Automator

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.

Trinn 1

Åpen Automator, ligger i din applikasjoner mappe og velg Service som dokumenttype.


vi skal lage en tjeneste for kontakter (adressebok) som vil ta hvilken som helst tekst vi velger i appen og konvertere den til en talet ringetone til vår iPhone.

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.


Endre programmet for å bruke slik at denne tjenesten kun gjelder for kontakter.

Steg 2

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.


Legg til handlingen "Run Shell Script" 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.


Når "Run Shell Script" har blitt lagt til i vår arbeidsflyt, må du sørge for å endre hvordan inngangen er bestått.

2. The Shell Script

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.


Slik ser arbeidsflyten ut med skalskriptet som er fullført.
 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

 # 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).

Steg 2

 # 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

 # 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

 # 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.


3. Generer en ringetone

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.


Vår nye tjeneste vises under kontekstuell meny når vi høyreklikker på en uthevet tekst.

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.


4. Ringer


Med Ringer kan vi legge et gap til slutten av ringetonen, slik at vår iPhone ikke blir for irriterende.

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.


Wrapping Up

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.


Ved hjelp av Automator-tjenesten som følger med denne opplæringen, kan du enten se på koden eller installere den for å bruke deg selv.

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.