Cela a la même apparence, mais il n'y a presque pas de matériel ici. J'ai réussi à voir la référence. La voix de la nuit dernière est publiée. J'ai converti ceci en texte ce soir. Génération de voix
【référence】 ①Getting Started (AWS SDK for Python (Boto)) ② Transcrivez la voix avec Amazon Transcribe. ③ S3 → Lambda → Transcrire → Créer un pipeline de transcription avec S3
À partir de la référence ①, le code suivant peut être créé. Cela ressemble presque à Reference ①, mais en regardant Reference ③ à un endroit, la destination de sortie est spécifiée comme OutputBucketName = 'bucket name'. Sans cela, je ne pourrais pas savoir où il a été produit.
from __future__ import print_function
import time
import boto3
transcribe = boto3.client('transcribe')
job_name = "test_tran3"
job_uri = "https://Nom du godet.s3.amazonaws.com/speech.mp3"
transcribe.start_transcription_job(
TranscriptionJobName=job_name,
Media={'MediaFileUri': job_uri},
MediaFormat='mp3', #wav, mp4, mp3
LanguageCode='ja-JP', #'en-US'
OutputBucketName='muauanmp3'
)
while True:
status = transcribe.get_transcription_job(TranscriptionJobName=job_name)
if status['TranscriptionJob']['TranscriptionJobStatus'] in ['COMPLETED', 'FAILED']:
break
print("Not ready yet...")
time.sleep(5)
print(status)
Le code ci-dessus donne la sortie suivante. Pas encore prêt est émis une fois toutes les 5 secondes, mais il semble que cela prend environ 30 secondes car il est émis 6 fois ou plus. Et j'ai craché le résultat json, mais je ne comprends pas grand-chose.
$ python3 boto_transcribe.py
Not ready yet...
...
Not ready yet...
{'TranscriptionJob': {'TranscriptionJobName':..., 'content-length': '506', 'connection': 'keep-alive'}, 'RetryAttempts': 0}}
Par conséquent, vérifiez le fichier de compartiment s3 comme indiqué dans la référence (2). Vous pouvez voir des fichiers tels que test_tran3.json qui ont été générés avec le fichier audio speech.mp3.
$ aws s3 ls s3://Nom du godet
2020-06-19 04:52:36 2 .write_access_check_file.temp
...
2020-06-18 23:44:17 35467 speech.mp3
...
2020-06-19 04:45:47 1472 test_tran2.json
2020-06-19 04:54:09 1663 test_tran3.json
Copiez ensuite s3: // nom du compartiment /test_tran3.json sur le serveur ec2.
$ aws s3 cp s3://Nom du godet/test_tran3.json ./
download: s3://Nom du godet/test_tran3.json to ./test_tran3.json
Enfin, affichez le contenu de json avec la commande suivante. Si la langue est correcte, la sortie est correcte comme indiqué ci-dessous, mais le résultat de la transcription du même fichier audio avec les spécifications anglaises est dans l'alphabet comme indiqué ci-dessous, mais c'est étrange! Cela dit, j'ai effectué une conversion audio-texte.
$ cat test_tran3.json |jq .results[][0].transcript
"Bonjour aussi Yokohama Tokyo, la petite voix trouble est celle de Mizuki"
$ cat test_tran2.json |jq .results[][0].transcript
"Tokyo, Yokohama, Moscow See Commodities, Cueva Mitic Sundays."
Cependant, lorsque je l'utilise réellement, je veux toujours le faire avec du code python au lieu de l'artisanat. Ainsi, à la suite de diverses enquêtes, il a été constaté que les références suivantes peuvent être faites.
【référence】 ④ Charger et télécharger des fichiers sur S3 à l'aide de boto3 ⑤ Lire la chaîne de caractères / fichier JSON avec pandas (read_json) ⑥ Expliquez la structure imbriquée des tableaux et comment obtenir des valeurs en JSON en utilisant Python! Si vous déposez ces méthodes dans votre code, vous obtenez: En d'autres termes ① Téléchargez le fichier json ② Lisez avec les pandas ③ Sortie de la pièce souhaitée Telle est la méthode.
import pandas as pd
s3 = boto3.resource('s3') #Obtenir l'objet S3
bucket = s3.Bucket('Nom du godet') #définition du bucket
bucket.download_file('test_tran3.json', 'test_tran3.json') #Télécharger sur ec2; télécharger le fichier, le fichier après le téléchargement
df = pd.read_json('test_tran3.json') #Lire le fichier json avec les pandas
print(df['results'][1][0]['transcript']) #Extraire la chaîne de conversion du fichier json
À la suite d'une série de travaux, les phrases suivantes ont été obtenues avec succès.
Bonjour aussi Yokohama Tokyo, la petite voix trouble est celle de Mizuki
Il s'agit d'un élément unique et il semble que les minutes et les traductions puissent être utilisées normalement. De plus, lorsqu'il est combiné avec le texte-voix de la nuit dernière, vous pouvez voir que la séquence suivante peut être construite.
texte-voix-...-voix-texte
Alors ... .. .. Il existe différents processus possibles pour la pièce. Enregistrez la lecture des articles et du matériel et la séquence des questions dans le texte. En d'autres termes, le texte / la voix initiale et la voix / le texte traités peuvent être différents. De plus, d'autres séquences sont possibles. Dans le cas d'une application de conversation, la disposition ci-dessus est inversée
voix-Text-Conversation App-Text-voix
Il est possible que. C'est une séquence comme Alexa. Dans ce cas, il s'agit d'une conversion basée sur du texte, il semble donc que vous puissiez traduire normalement.
Une voix comme Alexa-je pense que je peux créer une application d'assurance qualité. Si vous acceptez des questions vocales comme un smartphone et exécutez l'application ci-dessus, il semble que le contrôle qualité de la voix en temps réel puisse également être effectué.
Ce n'est pas limité à Twitter, mais le fait est que l'entrée peut être faite par la voix et la sortie peut être faite par la voix. .. .. .. Cependant, vous devez faire de votre mieux pour créer ces applications.
・ J'ai joué avec la conversion voix-texte ・ J'ai pu créer une série d'actions avec python
-Si le fichier json existe, il ne peut pas être fait deux fois, il est donc nécessaire de le supprimer dans une série de séquences pour faire le même travail à chaque fois. ・ Faisons une application. .. .. ・ Faisons la traduction de texte
Recommended Posts