In einem früheren Tutorial, Geben Sie Ihrem Mac eine Stimme mit Text-zu-Sprache. Ich habe Ihnen gezeigt, wie Sie die Sprachfunktion Ihres Mac verwenden. In einem bestimmten Abschnitt dieses Handbuchs wurde ausführlich beschrieben, wie ein Klingelton aus gesprochenen Wörtern mithilfe der Macs erstellt wird sagen
Befehl und die Mac App Ringer.
In diesem Tutorial zeige ich Ihnen, wie Sie diesen Prozess automatisieren können, indem Sie ein Plug-In für Kontakte erstellen Automator. Dieses Plug-In generiert automatisch einen Klingelton für das gesprochene Wort, den wir verwenden können, ohne unendlich viel in Terminal eingeben zu müssen.
Um unsere Klingeltöne optimal zu nutzen, benötigen Sie die Mac-App Ringer (3,99 US-Dollar aus dem Mac App Store). Ich werde später erklären, warum diese App erforderlich ist.
Unser Service für Kontakte funktioniert wie folgt:
Ich werde eine Kombination aus Automator und einem Shellskript verwenden, um unsere Anforderungen zu erfüllen. Automator ist ein extrem leistungsfähiges Automatisierungswerkzeug, mit dem fast jeder extrem leistungsfähige Skripts erstellen kann, die nur wenig oder gar keine Erfahrung mit Skripts haben.
Automator-Workflows funktionieren, indem sie eine Eingabe entgegennehmen, unabhängig davon, ob es sich um eine Datei- oder Textauswahl handelt, und anschließend eine Aktion ausführen.
Spitze: Wenn Sie mit Automator nicht vertraut sind, schauen Sie sich unsere vorherigen Tutorials an, Automator 101: Erstellen Ihres ersten Workflows und tieferes Einsteigen in Automator unter OS X.
Öffnen Automator, befindet sich in Ihrem Anwendungen Ordner und wählen Sie Bedienung als Dokumenttyp.
Sobald ein neues Dokument geladen wurde, sehen Sie, dass unser Service ausgewählt wird Text im jede Anwendung. Behalten Sie die erste Option bei, aber ändern Sie sie jede Anwendung zu Kontakte.
In dem Aktionen liste, suche nach Schale und Sie werden eine Aktion sehen Führen Sie das Shell-Skript aus. Ziehen Sie es in den Hauptarbeitsbereich.
Sie müssen eine geringfügige Änderung vornehmen, damit wir den ausgewählten Text als Teil des Skripts verwenden können, das als a bezeichnet wird Variable.
Ändern Sie die Option für Eingabe übergeben von stdin zu als Argumente. Der Inhalt der Aktion ändert sich und wird wie folgt angezeigt.
Zur Vereinfachung habe ich das Skript hinzugefügt, das Sie unten eingeben müssen. Es ist alles, was Sie innerhalb der Aktion benötigen, damit Sie die Aktion vollständig löschen und durch den folgenden Text ersetzen können.
für f in "$ @" do # Schritt 1: Geben Sie einen temporären Speicherort und einen Dateinamen an, um unseren Klingelton unter loc = ~ / Desktop dateiname = temp.aiff # zu speichern $ loc / $ Dateiname "$ 1 ruft an" # Schritt 3: Jetzt haben wir einen temporären Klingelton erstellt. Umbenennen in mv $ loc / $ Dateiname "$ loc / $ 1.aiff" # Schritt 4: Zum Schluss öffnen wir diesen in Klingelton, um letzte Einstellungen vorzunehmen, -a /Applications/Ringer.app "$ loc / $ 1.aiff" abgeschlossen
Lassen Sie uns dieses Skript aufschlüsseln und erkunden, was es als Erstes tut.
# Schritt 1: Geben Sie einen temporären Speicherort und einen Dateinamen an, um unseren Klingelton unter loc = ~ / Desktop dateiname = temp.aiff zu speichern
Dies betrifft die Einstellung temporärer Informationen. Im obigen Skript geben wir einen temporären Namen und einen Ort für unsere Klingeltondatei an und weisen sie als Variable. Shell-Skriptvariablen beginnen mit einem Dollarzeichen, wenn wir sie verwenden möchten.
Hier wird unser Klingelton abgerufen Temp.Aiff (was als bezeichnet wird $ Dateiname
) und wird in Ihrem gespeichert Desktop (bezeichnet als $ loc
).
# Schritt 2: Verwenden Sie den Befehl "say", um unseren Klingelton zu generieren. Sagen Sie -o $ loc / $ Dateiname "$ 1 ruft an"
Hier benutzen wir die sagen
Befehl, um den Namen des markierten Kontakts zu sagen und in einer Audiodatei zu speichern. Wir gebrauchen 1 US-Dollar
um den Input zu repräsentieren, den Automator uns gegeben hat. Unser Service verwendet den von uns ausgewählten Text als Eingabe und gibt ihn an unser Shell-Skript weiter, das durch dargestellt wird 1 US-Dollar
. Genau wie unser temporärer Dateiname beginnt unsere Variable hier mit einem Dollarzeichen.
Unser Klingelton sagt "Kontaktname ruft ". Wenn Sie dies für Johnny Appleseed tun würden, würde der Klingelton sagen" Johnny Appleseed ruft ".
# Schritt 3: Jetzt haben wir einen temporären Klingelton erstellt. Umbenennen in mv $ loc / $ Dateiname "$ loc / $ 1.aiff".
Dieser Schritt benennt die temporäre Datei in den Namen unseres Kontakts um. Wenn ich beispielsweise einen Klingelton für "Johnny Appleseed" generiert habe, würde es als starten Temp.Aiff und dann umbenannt in Johnny Appleseed.aiff. Obwohl die sagen
Befehl erstellt die Datei und benennt sie, behandelt Sonderzeichen oder Leerzeichen innerhalb des Dateinamens nicht. Wir benötigen diesen zusätzlichen Schritt, damit wir unsere neue Datei nach unserem Kontakt benennen können.
# Schritt 4: Zum Schluss öffnen wir das in Ringer, um die letzten Einstellungen vorzunehmen -a /Applications/Ringer.app "$ loc / $ 1.aiff"
Schließlich wird der neu erstellte Klingelton in der App geöffnet Rufton, Dadurch können wir einige zusätzliche Änderungen vornehmen.
Nachdem Sie das obige Skript kopiert und in das Automator eingefügt haben Führen Sie das Shell-Skript aus Aktion, es ist Zeit zu retten. Speichern Sie die Datei mit dem Namen Klingelton erzeugen… und dann öffnen Kontakte.
Wählen Sie einen Kontakt aus und markieren Sie entweder den Namen, den Spitznamen oder den Firmennamen. Klicken Sie mit der rechten Maustaste und wählen Sie dann aus Klingelton erzeugen… das wird unter der sein Dienstleistungen Speisekarte. Sobald Sie ihn auswählen, wird sofort ein neuer Klingelton auf Ihrem Desktop erstellt, der den Namen des Kontakts als Dateinamen enthält. Ein paar Augenblicke später startet Ringer mit dem geladenen Klingelton und ist bereit, Änderungen vorzunehmen.
Das sagen
Der Befehl kann tatsächlich Klingeltondateien generieren, die mit einem iPhone kompatibel sind ohne jede zusätzliche Software. Wenn wir das Skript so ändern würden, dass es eine .m4r Datei statt .Aiff Dann könnten wir die App komplett umgehen und in iTunes ablegen.
Aber es gibt ein Problem damit. Klingeltöne auf der iPhone-Schleife. Wenn wir nicht eine App wie Ringer verwenden, um unserem Klingelton eine Lücke hinzuzufügen, würde es unglaublich ärgerlich werden "Johnny Appleseed klingelt, Johnny Appleseed klingelt, Johnny Appleseed klingelt" ohne lücke. Es würde sicherlich so klingen, als wäre Siri bei uns übermäßig ungeduldig!
Jetzt, da sich unser Klingelton in Ringer befindet, fügen Sie am Ende der Datei eine Lücke von mindestens drei Sekunden hinzu. Auf diese Weise gibt es eine schöne Lücke vor den Klingelschleifen.
Sie können Ihren Klingelton dann an iTunes senden, wo der Kontaktname weiterhin als Klingelton angezeigt wird. Sie müssen es dann nur noch als Klingelton zuweisen.
Obwohl nicht ganz autonom, können Sie schnell und einfach eine Reihe verschiedener Klingeltöne für verschiedene Kontakte erstellen. Da der von uns erstellte Dienst eine beliebige Form von ausgewähltem Text aus den Kontakten annimmt, können Sie einen Klingelton mit einem Kurznamen oder einem Geschäftsnamen generieren.
Im Rahmen dieses Tutorials habe ich einen vorgefertigten Automator-Workflow für Sie hinzugefügt. Öffnen Sie einfach die Datei und Sie können auswählen, ob Sie den Workflow in Automator bearbeiten oder als Dienst installieren möchten.