Comment suivre le mouvement des incendies de forêt sur Google Maps
21 août 2020
Sony lance un logiciel pour transformer ses caméras en webcams – Review Geek
21 août 2020

Logo AWS

La transcription de la parole est un problème qui est généralement résolu avec des travailleurs humains coûteux. Cependant, avec l'apprentissage automatique, les ordinateurs ont rattrapé leur retard et la boîte à outils de reconnaissance vocale AWS est désormais disponible en tant que service pour votre application.

AWS Transcribe convertit les fichiers audio dans S3

La transcription est simple: donnez-lui un fichier audio (stocké dans S3), et il peut le parcourir et vous donner une sortie. Vous êtes facturé en fonction de la durée de l'audio, à un taux de 0,0004 $ par seconde. Une réunion du conseil d'administration de deux heures coûterait 2,88 $ à transcrire, mais une vidéo rapide de deux minutes ne coûte que 0,06 $.

La transcription est assez rapide, mais elle n’est pas optimisée pour la latence. Il est bien adapté à la transcription après coup, comme la transcription des appels des clients et le sous-titrage des vidéos mises en ligne. Si vous avez besoin d'une transcription parole-texte en temps réel, vous pouvez utiliser AWS Lex, un service de création de robots de discussion interactifs comme Alexa.

Pour commencer, rendez-vous sur le Console AWS Transcribe. Vous pouvez appuyer sur "Démarrer la diffusion" pour enregistrer à partir du microphone de votre appareil et tester le service. C’est plutôt chouette, mais vous voulez probablement plus que cela.

test de transcription aws

Dans la barre latérale, sélectionnez "Travaux de transcription" et cliquez sur "Créer un travail". Le travail sert de méthode d'automatisation de la transcription. Chaque travail fonctionne sur un fichier à la fois; pour automatiser la transcription de plusieurs fichiers, vous devez créer un travail séparé pour chacun d'eux à partir de la ligne de commande.

transcrire créer un nouveau bouton de travail

Donnez à Transcrire un chemin vers le fichier audio que vous souhaitez convertir. Vous pouvez éventuellement sélectionner manuellement le format et la fréquence d'échantillonnage, bien qu'il reconnaisse automatiquement les plus courants.

Fournissez un chemin pour le fichier audio que vous souhaitez convertir.

Une fois que vous cliquez sur créer, la transcription commence. Le travail nouvellement créé apparaît dans la liste et, une fois terminé, vous pouvez télécharger le texte transcrit.

Vous souhaitez probablement également savoir comment utiliser Transcribe à partir de la console, car la création manuelle de tâches est fastidieuse et ne convient que si vous ne traitez qu'un seul fichier audio volumineux à la fois.

aws transcrire start-transcription-job 
  --transcription-job-name NewJob 
  --language-code en-US 
  --media MediaFileUri = "s3: //bucket/file.mp3"

Cela démarre le travail et génère du JSON vous indiquant s'il a été créé avec succès. Vous pouvez vérifier l'état d'un travail par programme avec get-transcription-job:

aws transcribe get-transcription-job --transcription-job-name NewJob

Si c'est fini, TranscriptionJob.TranscriptionJobStatus est défini sur "TERMINÉ" et vous pouvez télécharger le fichier directement avec boucle et un petit jq En traitement:

curl $ (aws transcribe get-transcription-job --transcription-job-name NewJob 
| jq -r ".TranscriptionJob.Transcript.TranscriptFileUri") 
| jq ".results.transcripts"

Notez que le fichier de transcription est JSON et qu'il contient la transcription complète ainsi qu'une évaluation de confiance de chaque mot et des alternatives. À moins que vous ne vouliez toutes les valeurs de confiance, vous pouvez les filtrer avec la finale | jq ".results.transcripts" déclaration.

Vous pouvez également transcrire automatiquement des fichiers audio à l'aide des fonctions Lambda. Lambda est un service qui peut exécuter du code en réponse à des événements AWS, tels que de nouveaux éléments téléchargés vers S3. Il est sans serveur et vous ne payez que pour le temps d’exécution; étant donné que Lambda n'effectue pas le traitement proprement dit, il crée simplement une nouvelle tâche lors de l'importation, le coût devrait être négligeable.

Vous pouvez le coder vous-même si vous avez déjà utilisé Lambda, mais heureusement, il existe une application prédéfinie sur le référentiel d'applications sans serveur Lambda qui peut gérer exactement cette tâche pour vous. C'est appelé s3-lambda-transcrire-audio-en-texte-s3, et vous devrez peut-être cliquer sur "Afficher les applications qui créent des rôles IAM personnalisés" pour le trouver.

transcrire l'application lambda

Créez une nouvelle application à partir de ce modèle et spécifiez le compartiment d'entrée et le compartiment de sortie. Assurez-vous que le bucket de sortie existe et que le bucket d'entrée n'existe pas, car l'application créera le bucket d'entrée pour vous.

Vous souhaiterez également saisir la langue du fichier audio. en-US est un anglais générique; pour toute autre chose, vous pouvez trouver le code sur la documentation d'AWS.

paramètres lambda

Déployez l'application et vous devriez voir un compartiment nouvellement créé. Si vous déposez un fichier audio dans ce compartiment, Lambda peut créer une nouvelle tâche de transcription pour vous.

Si l'application ne fonctionne pas, assurez-vous de l'avoir activée pour créer son rôle IAM et assurez-vous qu'elle est autorisée à fonctionner avec Transcribe et les compartiments S3 dont elle a besoin.

//]]>