VoiceInk Custom Commands : envoyer votre dictée à un script au lieu de la coller

Custom Command est l'un des modes de sortie de VoiceInk. Au lieu de coller, VoiceInk transmet le texte terminé d'une dictée à une commande shell que vous écrivez, et cette commande décide de la suite : l'ajouter à une note, ouvrir une recherche, appeler votre propre script ou l'envoyer à un service que vous gérez. C'est ce que VoiceInk offre de plus souple pour le texte, et il a quelques limites strictes à connaître avant de construire dessus.

J'ai créé YapToText, une autre app de dictée pour Mac : lisez donc ce que je dis de VoiceInk en le sachant. Tout ce que j'affirme sur VoiceInk vient de sa propre documentation, lue le 10 octobre 2026.

Télécharger YapToText dans le Mac App StoreTéléchargement gratuit. Sans compte, sans rien de verrouillé, pour macOS 14 ou ultérieur sur un Mac avec puce Apple. Code source sur GitHub.

Sur cette page : 10 sections
  1. Ce que la commande reçoit
  2. Comment elle s'exécute
  3. Les limites qui piègent
  4. Les modèles intégrés
  5. Vérifier que cela a marché
  6. Où en est YapToText
  7. En bref
  8. Guides
  9. Autres guides, en anglais
  10. Questions

Ce que la commande reçoit

VoiceInk envoie le même texte final de deux façons : sur l'entrée standard, et dans la variable $VOICEINK_TRANSCRIPT. Le texte est en UTF-8, et la documentation demande de mettre la variable entre guillemets pour que les espaces, la ponctuation et les retours à la ligne survivent.

  • AI Enhancement désactivé. La transcription après la mise en forme et les remplacements de mots de VoiceInk.
  • AI Enhancement activé et fonctionnel. Le texte amélioré.
  • AI Enhancement ignoré ou en échec. La transcription finale brute.

La commande ne reçoit jamais directement l'audio, l'invite, ni le texte sélectionné, du presse-papiers ou de l'écran. Si vous voulez que le contexte influence le résultat, la documentation dit d'utiliser une invite (Prompt) et Context Awareness (la prise en compte du contexte), pour qu'il soit déjà dans le texte final.

Comment elle s'exécute

D'après la documentation de VoiceInk, Custom Commands, lue le 10 octobre 2026.

DétailComportement
Shell/bin/zsh -lc
Délai10 secondes, puis VoiceInk arrête la commande
AutorisationsLes mêmes autorisations d'utilisateur macOS que VoiceInk
EnregistreurFermé avant le lancement de la commande
SuccèsCode de sortie 0. Tout autre code compte comme un échec
SortieLa sortie standard et les erreurs sont gardées pour le diagnostic, et jamais collées dans l'app
Commandes introuvablesVoiceInk essaie le PATH de votre shell. Utilisez un chemin complet comme /opt/homebrew/bin/tool si cela échoue

Les limites qui piègent

  • Rien n'est collé à votre place. Si vous voulez quand même le texte dans l'app, votre commande doit le copier ou le coller elle-même.
  • Dix secondes, aucune question. La commande ne peut pas attendre une saisie. Pour un travail plus long, lancez votre propre processus en arrière-plan et terminez vite.
  • Elle ne modifie pas la transcription enregistrée. Ce que la commande affiche n'est pas réécrit.
  • Pas de Auto Send. Auto Send ne fonctionne qu'avec la sortie Paste output, pas avec Custom Command.
  • Dictée en direct seulement. Les fichiers de la file Transcribe file sont enregistrés sans exécuter les commandes de sortie.
  • Pas de commande vide. Un mode (Mode) dont la commande est vide ne peut pas être enregistré.

Les modèles intégrés

D'après la documentation de VoiceInk, Custom Commands, lue le 10 octobre 2026.

ModèleCe qu'il fait
Paste and Press TabCopie le texte, le colle, puis appuie sur Tab
Lowercase and PasteMet le texte en minuscules, le copie, puis le colle
Remove Trailing Period and PasteRetire un point final avant de coller
Append to JournalAjoute le texte à ~/Documents/VoiceInk/journal.md
Search WebOuvre une recherche web sur le texte

La documentation suggère de partir d'un modèle et de le modifier. Voici deux de ses exemples les plus simples, copier le texte et l'ajouter à une note :

printf "%s" "$VOICEINK_TRANSCRIPT" | pbcopy
mkdir -p "$HOME/Documents/VoiceInk"
printf -- "- %s\n" "$VOICEINK_TRANSCRIPT" >> "$HOME/Documents/VoiceInk/notes.md"

Vérifier que cela a marché

VoiceInk n'affiche aucun message de réussite ou d'échec après une Custom Command. La documentation donne une commande Terminal qui affiche les journaux de livraison des 10 dernières minutes, dont le résultat de la commande : réussite, échec ou dépassement de 10 secondes :

/usr/bin/log show --last 10m --style compact \
  --predicate 'subsystem == "com.prakashjoshipax.voiceink" AND category == "TranscriptionDelivery"'

La documentation avertit que ces journaux peuvent contenir du texte dicté. Et si votre commande envoie du texte à un service web, ce service le reçoit : VoiceInk n'exécute que ce que vous avez réglé.

Où en est YapToText

VoiceInk d'après sa documentation, lue le 10 octobre 2026. YapToText d'après ses propres réglages.

VoiceInkYapToText
Lancer une commande shell avec le texteOui, la sortie Custom CommandNon
Coller au curseurPaste outputPaste, le réglage par défaut
Le saisir à la placeNon décrit sur cette pageType character by character
Presse-papiers seulementAvec une commande comme pbcopyCopy to clipboard only
Appuyer sur une touche ensuiteLe modèle Paste and Press TabReturn ou Command Return selon l'app
Relire avant l'insertionNon décrit sur cette pageReview before inserting, désactivé par défaut

Si vous voulez que la dictée pilote vos propres scripts, la Custom Command de VoiceInk fait quelque chose que YapToText ne fait pas. Si vous voulez du texte au curseur, adapté aux mots qui l'entourent, YapToText le fait par défaut et n'a besoin d'aucun script. La page sur les Modes de VoiceInk indique où se règlent les modes de sortie, et VoiceInk face à superwhisper le compare à une autre app construite autour des modes.

Télécharger YapToText dans le Mac App StoreTéléchargement gratuit. Sans compte, sans rien de verrouillé, pour macOS 14 ou ultérieur sur un Mac avec puce Apple. Code source sur GitHub.

En bref

  • Ce que c'est. Un mode de sortie qui exécute votre commande shell avec le texte final.
  • Le texte. Sur l'entrée standard et dans $VOICEINK_TRANSCRIPT.
  • Limites. 10 secondes, aucune saisie, aucun collage automatique, dictée en direct seulement.
  • Débogage. Aucun message dans l'app. Lisez le journal avec la commande Terminal ci-dessus.
  • Pour commencer. Modifiez l'un des cinq modèles.

Si VoiceInk modifie le fonctionnement des Custom Commands, ouvrez une issue sur GitHub (en anglais) et je mettrai cette page à jour. Je les lis toutes.

Télécharger YapToText dans le Mac App StoreTéléchargement gratuit. Sans compte, sans rien de verrouillé, pour macOS 14 ou ultérieur sur un Mac avec puce Apple. Code source sur GitHub.

Qui écrit. Ryleigh Newman développe des logiciels, a du mal à taper au clavier et dicte tous les jours avec YapToText, l'app que ce site décrit. Cette page est traduite de l'anglais. L'interface de l'app et le reste du site sont en anglais. En savoir plus sur le projet, en anglais.

Guides

Autres guides, en anglais

Sources

Questions

Qu'est-ce qu'une Custom Command dans VoiceInk ?

Un mode de sortie. Au lieu de coller, VoiceInk exécute une commande shell que vous écrivez et lui transmet le texte final de la dictée.

Comment une Custom Command de VoiceInk reçoit-elle le texte ?

Sur l'entrée standard et dans la variable $VOICEINK_TRANSCRIPT, en UTF-8. Mettez la variable entre guillemets pour garder les espaces et les retours à la ligne.

Pourquoi ma Custom Command de VoiceInk n'a-t-elle rien collé ?

La sortie Custom Command ne colle rien d'elle-même. Votre commande doit copier ou coller le texte, comme le fait le modèle Paste and Press Tab.

Combien de temps une Custom Command de VoiceInk peut-elle s'exécuter ?

10 secondes. Ensuite VoiceInk l'arrête. Lancez un processus en arrière-plan pour un travail plus long.

YapToText a-t-il des commandes personnalisées comme VoiceInk ?

Il n'exécute pas de commandes shell après une dictée. Il colle ou saisit au curseur, peut copier dans le presse-papiers seulement, et peut appuyer sur Return une fois le texte inséré.