Comment utiliser Automator pour générer des sonneries parlées

Dans un précédent tutoriel, Donnez à votre Mac une voix avec la synthèse vocale, je vous ai montré comment utiliser la fonction vocale de votre Mac. Une section particulière de ce guide décrit en détail le processus de création d’une sonnerie de mot parlé à l’aide du système Mac. dire commande et l'application Mac Ringer.

Dans ce tutoriel, je vais vous montrer comment automatiser ce processus en créant un plug-in pour Contacts à l'aide de Automator. Ce plug-in générera automatiquement une sonnerie vocale que nous pourrons utiliser sans avoir à taper inlassablement quoi que ce soit dans Terminal..


Avant que nous commencions

Pour tirer le meilleur parti de nos sonneries, vous aurez besoin de l’application Mac Ringer (3,99 $ du Mac App Store). Je vais expliquer pourquoi cette application est requise un peu plus tard.

Notre service de contacts fonctionnera comme suit:

  • Sélectionnez un nom de contact pour lequel nous souhaitons créer une sonnerie..
  • Mettez en surbrillance le texte du nom, du surnom ou de la société du contact..
  • Cliquez avec le bouton droit sur le texte sélectionné et, lors de la sélection de notre service, une nouvelle sonnerie sera automatiquement générée et envoyée à Ringer pour ajouter des lacunes ou des fondus..
  • La sonnerie peut ensuite être envoyée à iTunes.

1. Automator

Je vais utiliser une combinaison d’Automator et d’un script shell pour répondre à nos besoins. Automator est un outil d'automatisation extrêmement puissant qui permet à quasiment tout le monde de créer des scripts extrêmement puissants avec peu ou pas d'expérience en script..

Les flux de travail Automator fonctionnent en prenant une entrée, qu'il s'agisse d'une sélection de fichier ou de texte, puis effectuent une action dessus..

Pointe: Si vous ne connaissez pas encore Automator, consultez nos précédents didacticiels, Automator 101: Établir votre premier flux de travail et approfondir vos connaissances sur Automator dans OS X.

Étape 1

Ouvrir Automator, situé dans votre Applications dossier et sélectionnez Un service comme type de document.


nous allons créer un service pour les contacts (carnet d'adresses) qui convertira le texte sélectionné dans l'application et le convertira en une sonnerie parlée pour notre iPhone.

Une fois le nouveau document chargé, vous constaterez que notre service attend de recevoir la sélection texte dans toute application. Laissez la première option telle quelle mais changez toute application à Contacts.


Modifiez l'application à utiliser pour que ce service ne s'applique qu'aux contacts..

Étape 2

dans le actes liste, recherche coquille et vous verrez une action appelée Exécuter un script shell. Faites-le glisser vers la zone de workflow principale..


Ajoutez l'action "Run Shell Script" à la zone de workflow principale..

Vous devez apporter une légère modification afin que nous puissions utiliser le texte que nous avons sélectionné dans le script, connu sous le nom de variable.

Changer l'option pour Pass entrée de stdin à comme arguments. Le contenu de l'action va alors changer et apparaître comme ci-dessous.


Une fois que le "script shell d'exécution" a été ajouté à notre flux de travail, veillez à modifier le mode de transmission de l'entrée..

2. Le script shell

Pour faciliter les choses, j'ai inclus le script que vous devez entrer ci-dessous. C'est tout ce dont vous avez besoin dans l'action pour pouvoir effacer complètement l'action et la remplacer par le texte ci-dessous..


Voici à quoi ressemble le flux de travail avec le script shell terminé.
 Étape f: "Spécifiez un emplacement temporaire et un nom de fichier pour enregistrer notre sonnerie sur loc = ~ / Nom du fichier du bureau = temp.aiff # Étape 2: Utilisez la commande 'say' pour générer notre sonnerie, dites -o $ loc / $ nomfichier "$ 1 appelle" # Étape 3: Maintenant, nous avons créé une sonnerie temporaire, renommons-la mv $ loc / $ nomfichier "$ loc / $ 1.aiff" # Étape 4: Enfin, ouvrons-la dans Sonnerie pour effectuer les derniers ajustements ouverts -a /Applications/Ringer.app "$ loc / $ 1.aiff" done

Décomposons ce script et explorons ce qu'il fait en premier.

Étape 1

 # Étape 1: Spécifiez un emplacement temporaire et un nom de fichier pour enregistrer notre sonnerie dans loc = ~ / Desktop filename = temp.aiff

Cela concerne la définition de certaines informations temporaires. Dans le script ci-dessus, nous spécifions un nom et un emplacement temporaires pour notre fichier de sonnerie et nous les attribuons en tant que variable. Les variables de script shell commencent par un signe dollar lorsque nous voulons les utiliser.

Ici, notre sonnerie commencera à s’appeler temp.aiff (qui sera appelé $ filename) et sera sauvegardé dans votre Bureau (dénommé $ loc).

Étape 2

 # Étape 2: Utilisez la commande 'say' pour générer notre sonnerie say -o $ loc / $ filename "$ 1 appelle"

Ici, nous utilisons le dire commande pour dire le nom de notre contact en surbrillance et l'enregistrer dans un fichier audio. Nous utilisons 1 $ pour représenter l'entrée que Automator nous a donnée. Notre service utilise le texte que nous aurons sélectionné comme entrée et le transmettra à notre script shell, représenté par 1 $. Tout comme notre nom de fichier temporaire, notre variable commence par un signe dollar.

Notre sonnerie dira "Nom du contact appelle ". Si vous faisiez cela pour Johnny Appleseed, la sonnerie dirait" Johnny Appleseed appelle ".

Étape 3

 # Étape 3: Maintenant que nous avons créé une sonnerie temporaire, renommons-la mv $ loc / $ nom_fichier "$ loc / $ 1.aiff"

Cette étape renomme le fichier temporaire en le nom de notre contact. Par exemple, si je générais une sonnerie pour "Johnny Appleseed", elle commencerait par temp.aiff et ensuite être renommé en Johnny Appleseed.aiff. Bien que le dire La commande crée le fichier et le nomme, elle ne traite pas bien les caractères spéciaux ou les espaces dans le nom du fichier. Nous avons besoin de cette étape supplémentaire pour pouvoir nommer notre nouveau fichier après notre contact..

Étape 4

 # Étape 4: Enfin, ouvrons cela dans Ringer pour que tous les ajustements finaux ouvrent -a /Applications/Ringer.app "$ loc / $ 1.aiff"

Enfin, la sonnerie nouvellement créée est ouverte dans l'application Sonnerie, nous permettant d'apporter des modifications supplémentaires.


3. Générer une sonnerie

Une fois que vous avez copié et collé le script ci-dessus dans l’Automator Exécuter un script shell action, il est temps de sauver. Enregistrez le fichier avec le nom Générer une sonnerie… et ensuite ouvrir Contacts.


Notre nouveau service apparaîtra dans le menu contextuel lorsque nous cliquerons avec le bouton droit de la souris sur le texte en surbrillance..

Sélectionnez un contact et mettez en surbrillance le nom, le surnom ou le nom de la société. Faites un clic droit puis sélectionnez Générer une sonnerie… qui sera sous la Prestations de service menu. Dès que vous la sélectionnez, une nouvelle sonnerie est créée instantanément sur votre bureau et porte le nom du contact comme nom de fichier. Quelques instants plus tard, Ringer se lancera avec la sonnerie chargée et prête à apporter des modifications à.


4. Sonnerie


Avec Ringer, nous pouvons ajouter un espace à la fin de notre sonnerie pour que notre iPhone ne devienne pas trop irritant..

le dire commande peut réellement générer des fichiers de sonnerie compatibles avec un iPhone sans pour autant tout logiciel supplémentaire. Si nous devions modifier le script afin qu'il génère un .m4r déposer au lieu de .aiff nous pourrions alors contourner complètement l'application et la placer dans iTunes.

Mais il y a un problème avec ça. Sonneries sur la boucle de l'iPhone. À moins que nous utilisions une application comme Ringer pour ajouter un espace à notre sonnerie, il serait extrêmement ennuyeux d'entendre "Johnny Appleseed sonne, Johnny Appleseed sonne, Johnny Appleseed sonne" sans aucun espace. On dirait certainement que Siri est excessivement impatiente avec nous!

Maintenant que notre sonnerie est dans Ringer, veillez à laisser un espace d’au moins trois secondes à la fin du fichier. De cette façon, il y a un bel écart avant les boucles de sonnerie.

Vous pouvez ensuite envoyer votre sonnerie à iTunes qui aura toujours le nom du contact comme sonnerie. Il ne vous reste plus qu'à l'assigner comme sonnerie..


Emballer

Bien que vous ne soyez pas entièrement autonome, vous pouvez créer rapidement et facilement différentes sonneries pour différents contacts. De plus, étant donné que le service que nous avons créé prend toute forme de texte sélectionné dans Contacts, vous pouvez générer une sonnerie à l'aide d'un surnom ou d'un nom d'entreprise..


En utilisant le service Automator fourni avec ce tutoriel, vous pouvez consulter le code ou l’installer pour vous en servir..

Dans le cadre de ce tutoriel, j'ai inclus un flux de travail Automator prêt à l'emploi que vous pouvez utiliser. Ouvrez simplement le fichier et vous pourrez choisir de modifier le flux de travail dans Automator ou de l'installer en tant que service..