Es sieht genauso aus, aber hier gibt es fast kein Material. Ich habe es geschafft, die Referenz zu sehen. Die Stimme von gestern Abend wird veröffentlicht. Ich habe das heute Abend in Text umgewandelt. Sprachgenerierung
【Referenz】 ①Getting Started (AWS SDK for Python (Boto)) ② Transkribieren Sie die Stimme mit Amazon Transcribe. ③ S3 → Lambda → Transkribieren → Erstellen einer Transkriptionspipeline mit S3
Aus Referenz ① kann der folgende Code erstellt werden. Es sieht fast genauso aus wie Referenz ①, aber wenn Sie Referenz ③ an einer Stelle betrachten, wird das Ausgabeziel als OutputBucketName = 'Bucket Name' angegeben. Ohne dies könnte ich nicht wissen, wo es ausgegeben wurde.
from __future__ import print_function
import time
import boto3
transcribe = boto3.client('transcribe')
job_name = "test_tran3"
job_uri = "https://Eimername.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)
Der obige Code gibt die folgende Ausgabe. Noch nicht fertig wird alle 5 Sekunden einmal ausgegeben, aber es scheint, dass es ungefähr 30 Sekunden dauert, da es 6 Mal oder mehr ausgegeben wird. Und ich spucke das Ergebnis aus, aber ich verstehe nicht viel.
$ python3 boto_transcribe.py
Not ready yet...
...
Not ready yet...
{'TranscriptionJob': {'TranscriptionJobName':..., 'content-length': '506', 'connection': 'keep-alive'}, 'RetryAttempts': 0}}
Überprüfen Sie daher die s3-Bucket-Datei wie in Referenz (2) gezeigt. Sie können Dateien wie test_tran3.json sehen, die mit der Audiodatei language.mp3 ausgegeben wurden.
$ aws s3 ls s3://Eimername
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
Kopieren Sie dann s3: // Bucket-Name /test_tran3.json auf den ec2-Server.
$ aws s3 cp s3://Eimername/test_tran3.json ./
download: s3://Eimername/test_tran3.json to ./test_tran3.json
Geben Sie abschließend den Inhalt von json mit dem folgenden Befehl aus. Wenn die Sprache korrekt ist, ist die Ausgabe wie unten gezeigt korrekt, aber das Ergebnis der Transkription derselben Audiodatei mit englischen Spezifikationen ist im Alphabet wie unten gezeigt, aber es ist seltsam! Trotzdem habe ich einige Audio-Text-Konvertierungen durchgeführt.
$ cat test_tran3.json |jq .results[][0].transcript
"Hallo auch Yokohama Tokyo trübe kleine Stimme ist Mizukis"
$ cat test_tran2.json |jq .results[][0].transcript
"Tokyo, Yokohama, Moscow See Commodities, Cueva Mitic Sundays."
Wenn ich es jedoch tatsächlich benutze, möchte ich es immer noch mit Python-Code machen, anstatt es von Hand zu basteln. Als Ergebnis verschiedener Untersuchungen wurde festgestellt, dass die folgenden Referenzen gemacht werden können.
【Referenz】 ④ Dateien mit boto3 in S3 hochladen und herunterladen ⑤ JSON-Zeichenfolge / Datei mit Pandas lesen (read_json) ⑥ Erklären Sie die verschachtelte Struktur von Arrays und wie Sie mit Python Werte in JSON erhalten! Wenn Sie diese Methoden in Ihren Code einfügen, erhalten Sie: Mit anderen Worten ① Laden Sie die JSON-Datei herunter ② Lesen Sie mit Pandas ③ Geben Sie das gewünschte Teil aus Das ist die Methode.
import pandas as pd
s3 = boto3.resource('s3') #S3-Objekt abrufen
bucket = s3.Bucket('Eimername') #Bucket-Definition
bucket.download_file('test_tran3.json', 'test_tran3.json') #Download auf ec2; Datei herunterladen, Datei nach dem Download
df = pd.read_json('test_tran3.json') #Lesen Sie die JSON-Datei mit Pandas
print(df['results'][1][0]['transcript']) #Extrahieren Sie die Konvertierungszeichenfolge aus der JSON-Datei
Als Ergebnis einer Reihe von Arbeiten wurden die folgenden Sätze erfolgreich erhalten.
Hallo auch Yokohama Tokyo trübe kleine Stimme ist Mizukis
Es ist ein einzelnes Element, und es scheint, dass Protokolle und Übersetzungen normal verwendet werden können. In Kombination mit der Textstimme der letzten Nacht können Sie außerdem sehen, dass die folgende Sequenz erstellt werden kann.
Text-Stimme-...-Stimme-Text
Damit ... .. .. Es gibt verschiedene Möglichkeiten, das Teil zu bearbeiten. Notieren Sie das Lesen der Papiere und Materialien sowie die Reihenfolge der Fragen im Text. Mit anderen Worten können der ursprüngliche Text / die ursprüngliche Stimme und die verarbeitete Stimme / der verarbeitete Text unterschiedlich sein. Auch andere Sequenzen sind möglich. Im Fall einer Konversations-App ist die obige Anordnung umgekehrt
Stimme-Text-Conversation App-Text-Stimme
Es ist möglich, dass. Dies ist eine Sequenz wie Alexa. In diesem Fall handelt es sich um eine textbasierte Konvertierung, sodass Sie anscheinend normal übersetzen können.
Eine Stimme wie Alexa - ich denke, ich kann eine QS-App erstellen. Wenn Sie Fragen per Spracheingabe wie ein Smartphone annehmen und die oben genannte Anwendung dahinter ausführen, kann anscheinend auch eine Echtzeit-Sprach-QS durchgeführt werden.
Es ist nicht auf Twitter beschränkt, aber der Punkt ist, dass die Eingabe per Sprache und die Ausgabe per Sprache erfolgen kann. .. .. .. Sie müssen jedoch Ihr Bestes geben, um diese Apps zu erstellen.
・ Ich habe mit der Sprach-Text-Konvertierung gespielt ・ Ich konnte mit Python eine Reihe von Aktionen erstellen
-Wenn die JSON-Datei vorhanden ist, kann sie nicht zweimal ausgeführt werden. Daher muss sie in einer Reihe von Sequenzen gelöscht werden, um jedes Mal denselben Job auszuführen. ・ Lass uns eine App machen. .. .. ・ Lassen Sie uns eine Textübersetzung durchführen
Recommended Posts