Audiodateien für Speech-to-Text optimieren

In dieser Anleitung erfahren Sie, wie Sie eine Preflight-Prüfung für Audiodateien durchführen, die Sie für die Verwendung mit Speech-to-Text vorbereiten. Sie enthält Hintergrundinformationen zu Audiodateiformaten, beschreibt, wie Audiodateien für die Verwendung mit Speech-to-Text optimiert und Fehler diagnostiziert werden. Die Anleitung richtet sich an Experten aus nicht technischen Medien-, Unterhaltungs- und Postproduktionsbranchen. Es sind keine tieferen Kenntnisse über Google Cloud erforderlich. Sie benötigen lediglich grundlegende Kenntnisse über die Verwendung des gcloud-Befehlszeilentools mit Dateien, die sowohl lokal als auch in einem Cloud Storage-Bucket gespeichert sind.

Ziele

  • FGMPEG-Tool installieren
  • Beispielmediendateien herunterladen
  • Audio- und Videodateien mit FFMPEG wiedergeben
  • Eigenschaften von Audiodateien mit FFMPEG extrahieren, transcodieren und konvertieren
  • Speech-to-Text für eine Vielzahl von Beispieldateien mit Dialog ausführen

Kosten

In dieser Anleitung werden die folgenden kostenpflichtigen Komponenten von Google Cloud verwendet:

Mit dem Preisrechner können Sie eine Kostenschätzung für die geplante Nutzung vornehmen.

Hinweis

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  4. Installieren und initialisieren Sie das Cloud SDK.
  5. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  6. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  7. Installieren und initialisieren Sie das Cloud SDK.

In dieser Anleitung verwenden Sie Cloud Shell, um z. B. Daten aus einem Cloud Storage-Bucket in die Cloud Shell-Sitzung zu kopieren. Cloud Shell ist eine Shell-Umgebung, in der das Cloud SDK bereits installiert ist, einschließlich des Befehlszeilentools gcloud, das Sie für viele Schritte in dieser Anleitung verwenden. Sie installieren auch Software und Beispiel-Audiodateien auf Ihrem lokalen Computer und führen dieselben Übungen über Ihr Terminal aus, wie später im Bereich Anleitungsbeispiele in einem lokalen Terminal ausführen beschrieben.

Übersicht

In dieser Anleitung verwenden Sie das Open-Source-Tool FFMPEG zum Aufzeichnen, Konvertieren und Streamen von Audio und Video. Die Anleitung enthält später weitere Informationen zu diesem Tool.

Informationen zu Attributen von Audiodateien

In diesem Bereich werden typische Audiodateitypen, Abtastraten, Bittiefen und Aufzeichnungsträger in Medienproduktions- und Postproduktionsworkflows beschrieben.

Für beste Ergebnisse mit Speech-to-Text müssen die für die Transkription verwendeten Dateien Monodateien sein, die bestimmte Mindestanforderungen erfüllen, wie später beschrieben. Wenn die Dateien nicht den Anforderungen entsprechen, müssen Sie möglicherweise geänderte Dateien erstellen. Möglicherweise ist z. B. Folgendes nötig:

  • Audiodaten aus einer Videodatei extrahieren
  • Einen einzelnen Mono-Track aus einer mehrspurigen Audiodatei extrahieren
  • Von einem Audio-Codec in einen anderen Codec transcodieren, der sich besser für Speech-to-Text eignet

Abtastrate (Frequenzbereich)

Die Abtastrate bestimmt den Frequenzbereich der Audiodatei. Sie basiert auf der Anzahl der Samples pro Sekunde, aus denen die Audiodatei besteht. In der Regel entspricht die höchste reproduzierbare Frequenz einer digitalen Audiodatei der Hälfte der Abtastrate. Die höchste Frequenz, die aus einer Audiodatei mit 44,1 kHz reproduziert werden kann, ist z. B. etwa 22 kHz, was am oberen Ende des Frequenzantwortbereichs eines typischen Hörers oder darüber liegt.

Die Abtastraten in der Telefonie und Telekommunikation liegen meist im Bereich von 8 bis 16 kHz. In dieser Anleitung geht es um Formate, die spezifisch für die Medien- und Unterhaltungsbranche und in der Regel höher als 16 kHz sind. Weitere Informationen zu Telefonie und anderen Tonanwendungen finden Sie unter Smartphoneaudio mit optimierten Modellen transkribieren.

In den Audiodateien, die Sie für die Transkription mit Speech-to-Text verwenden, empfehlen wir eine Abtastrate von mindestens 16 kHz. Die Abtastraten in Audiodateien sind in der Regel 16 kHz, 32 kHz, 44,1 kHz und 48 kHz. Da die Verständlichkeit insbesondere bei höheren Frequenzen stark vom Frequenzbereich beeinflusst wird, führt eine Abtastrate von weniger als 16 kHz zu einer Audiodatei, die nur wenig oder keine Informationen über 8 kHz enthält. Dies kann verhindern, dass Speech-to-Text gesprochene Audiodaten korrekt transkribiert. Für die Sprachverständlichkeit sind Informationen über den gesamten Bereich von 2 kHz bis 4 kHz erforderlich. Die Obertöne (Vielfache) dieser höheren Frequenzbereiche sind jedoch auch für die Sprachverständlichkeit wichtig. Daher ist es empfehlenswert, die Abtastrate bei mindestens 16 kHz zu halten.

Es ist möglich, von einer Abtastrate in eine andere zu konvertieren. Das Upsampling der Audiodaten hat jedoch keinen Vorteil, da die Frequenzbereichsinformationen durch die niedrigere Abtastrate begrenzt sind und nicht durch Konvertieren in eine höhere Abtastrate wiederhergestellt werden können. Dies bedeutet, dass ein Upsampling von 8 kHz auf 44,1 kHz den reproduzierbaren Frequenzbereich auf die Hälfte der niedrigeren Abtastrate oder etwa 4 kHz begrenzt. In dieser Anleitung hören Sie Audiodateien, die mit verschiedenen Abtastraten und Bittiefen aufgezeichnet wurden, um den Unterschied selbst zu hören.

Bittiefe (dynamischer Bereich)

Die Bittiefe der Audiodatei bestimmt den Bereich von den leisesten bis zu den lautesten Tönen sowie das Signal-Rausch-Verhältnis der Datei. Der dynamische Bereich hat weniger Auswirkungen auf die Qualität der Transkription als die Frequenzantwort. Bittiefen von 8 Bit oder weniger können aber übermäßiges Quantisierungsrauschen im Audiotrack verursachen, was eine genaue Transkription erschwert. Quantisierungsfehler sind Rundungsfehler zwischen dem Analogeingabesignal und der Zuordnung des digitalen Ausgabewerts dieses Signals. Die Fehler verursachen hörbare Verzerrungen, die sich direkt auf die Genauigkeit des Tons auswirken. Die empfohlene Bittiefe der mit Speech-to-Text zu analysierenden Dateien beträgt 16 Bit oder mehr. Wie bei der Abtastfrequenz hat die Hochkonvertierung der Bittiefe von 8 auf 16 Bit keinen Vorteil, da die Informationen zum dynamischen Bereich auf das ursprüngliche 8-Bit-Format beschränkt sind.

Aufzeichnungsträger

Der Originalaufzeichnungsträger kann sich auch auf die Qualität der Audiodatei auswirken. Bei Audioinhalten, die ursprünglich auf einem Magnetband aufgezeichnet wurden, ist beispielsweise ein Hintergrundrauschen in der Datei eingebettet. In einigen Fällen müssen Sie möglicherweise verrauschte Audiodaten vorverarbeiten, um bessere Ergebnisse bei der Transkription zu erhalten, wenn Sie Speech-to-Text verwenden. Der Umgang mit verrauschten Aufzeichnungen und Störungen durch Hintergrundgeräusche wird in dieser Anleitung nicht behandelt. Weitere Informationen finden Sie in der Speech-to-Text-Dokumentation unter Best Practices.

Einführung in FFMPEG

In dieser Anleitung verwenden Sie für die Arbeit mit Audiodateien FFMPEG. Das Toolset bietet eine Vielzahl von Funktionen, darunter:

  • Wiedergabe einer Audio- oder Videodatei
  • Konvertieren von Audiodateien in einen der von Speech-to-Text erkannten Codecs
  • Konvertieren von Abtast- und Bitraten von Audiodateien in optimale Konfigurationen für die Analyse durch Speech-to-Text
  • Extrahieren einzelner Audiotracks oder Streams aus einer Transportstream- oder Videodatei
  • Aufteilen von Stereodateien in zwei Monodateien
  • Aufteilen von 5.1-Audiodateien in sechs Monodateien
  • Entzerrung und Filterung zur Verbesserung der Audioqualität

Sie können auch die ffprobe-Funktion von FFMPEG verwenden, um Metadaten aufzurufen, die mit einer Mediendatei verknüpft sind. Dies ist wichtig, wenn Sie Probleme im Zusammenhang mit Dateitypen und -formaten für die ML-Analyse diagnostizieren möchten.

Von Speech-to-Text erkannte Codecs

Obwohl Speech-to-Text eine Reihe von Audiodateiformaten erkennt, werden bestimmte Codecs möglicherweise nicht richtig gelesen oder analysiert. In der Anleitung erfahren Sie, wie Sie prüfen können, ob Ihre Inhalte in einem der unterstützten Dateiformate vorliegen.

In der Anleitung lesen Sie die Metadateninformationen, um potenzielle Probleme aufzudecken und zu beheben, bevor Sie Speech-to-Text verwenden. Mit den gleichen Tools können Sie die Datei in ein unterstütztes Format konvertieren, wenn Sie eine Inkompatibilität entdecken.

Speech-to-Text erkennt die folgenden Codecs:

Es ist wichtig, zu verstehen, dass sich Codecs und Dateiformate unterscheiden. Die Dateinamenerweiterung gibt nicht unbedingt an, dass der beim Erstellen der Datei verwendete Codec von Speech-to-Text gelesen werden kann.

In dieser Anleitung geht es um FLAC- und LINEAR16-Codecs, da diese häufig in Medien-Workflow-Umgebungen verwendet werden. Beide Formate sind verlustfrei.

Wenn Sie WAV-Dateien (im unkomprimierten linearen PCM-Format) mit Speech-to-Text verwenden, müssen die Dateien eine Bittiefe von maximal 16 Bit haben und in keinem Gleitkommaformat codiert sein. Die Dateinamenerweiterung .wav garantiert nicht, dass die Datei von Speech-to-Text gelesen werden kann. Der Bereich Audiodateien für die Analyse optimieren dieser Anleitung enthält ein Beispiel für die Konvertierung der Datei von einer Bittiefe mit Gleitkommazahl in eine Ganzzahl (vorzeichenbehaftet), um die Datei in Speech-to-Text zu transkribieren.

Umgebung initialisieren

Bevor Sie die Aufgaben für diese Anleitung ausführen, müssen Sie Ihre Umgebung initialisieren. Installieren Sie dazu FFMPEG, legen Sie einige Umgebungsvariablen fest und laden Sie Audiodateien herunter. Sie verwenden Mediendateien, die sowohl in einer Cloud Shell-Instanz als auch in einem Cloud Storage-Bucket gespeichert sind. Wenn Sie verschiedene Quellen verwenden, können Sie mit verschiedenen Funktionen von Speech-to-Text arbeiten.

In diesem Bereich installieren Sie FFMPEG und richten Umgebungsvariablen ein, die auf die Speicherorte der Beispieldaten im Cloud Shell-Instanzspeicher und in einem Cloud Storage-Bucket verweisen. Die Mediendateien sind an beiden Speicherorten identisch. Einige der Beispiele in dieser Anleitung greifen sowohl auf Dateien aus Cloud Shell als auch aus dem Cloud Storage-Bucket zu. Sie können auf Ihrem lokalen Computer FFMPEG installieren und dieselben Übungen ausführen, wie weiter unten im Bereich Anleitungsbeispiele in einem lokalen Terminal ausführen beschrieben.

  1. Rufen Sie Cloud Shell auf.

    Zu Cloud Shell

  2. Installieren Sie in Cloud Shell die aktuelle Version von FFMPEG:

    sudo apt update
    sudo apt install ffmpeg
    
  3. Prüfen Sie, dass FFMPEG installiert ist:

    ffmpeg -version
    

    Wenn eine Versionsnummer angezeigt wird, war die Installation erfolgreich.

  4. Erstellen Sie ein Verzeichnis für die Projektdateien:

    mkdir project_files
    
  5. Erstellen Sie ein Verzeichnis für die Ausgabedateien, die Sie in einem späteren Schritt erstellen:

    mkdir output
    
  6. Laden Sie die Beispiel-Audiodateien herunter:

    gsutil -m cp gs://sa-speech-to-text-tutorial-bucket/project_files/*.* ~/project_files/
    
  7. Erstellen Sie eine Umgebungsvariable für den Namen des Cloud Storage-Buckets:

    export GCS_BUCKET_PATH=gs://sa-speech-to-text-tutorial-bucket/project_files
    
  8. Erstellen Sie eine Umgebungsvariable für den Verzeichnispfad der Cloud Shell-Instanz, die auf die heruntergeladenen Beispiel-Audiodateien verweist:

    export PROJECT_FILES=~/project_files
    

Metadaten in Mediendateien untersuchen

Wenn Sie Audio- oder Videodateien mit Speech-to-Text analysieren, müssen Sie die Details der Metadaten der Datei kennen. So können Sie Inkonsistenzen oder inkompatible Parameter erkennen, die Probleme verursachen können.

In diesem Bereich verwenden Sie den ffprobe-Befehl in FFMPEG, um die Metadaten mehrerer Mediendateien zu untersuchen, damit die Anforderungen einer Datei verstanden werden können.

  1. Rufen Sie in Cloud Shell die Metadaten für die Datei HumptyDumptySample4416.flac auf:

    ffprobe $PROJECT_FILES/HumptyDumptySample4416.flac
    

    Die Ausgabe sieht so aus:

    Input #0, flac, from 'project_files/HumptyDumptySample4416.flac':
      Duration: 00:00:26.28, start: 0.000000, bitrate: 283 kb/s
        Stream #0:0: Audio: flac, 44100 Hz, mono, s16
    

    Diese Ausgabe gibt die folgenden Metadaten zur Datei an:

    • Die Audiodatei dauert 26,28 Sekunden.
    • Die Bitrate beträgt 283 KB pro Sekunde.
    • Das Codec-Format ist FLAC.
    • Die Abtastrate beträgt 44,1 kHz.
    • Die Datei ist eine einkanalige Monodatei.
    • Die Bittiefe beträgt 16 Bit (vorzeichenbehaftete Ganzzahl).
  2. Rufen Sie die Metadaten für die Datei HumptyDumptySampleStereo.flac auf:

    ffprobe $PROJECT_FILES/HumptyDumptySampleStereo.flac
    

    Die Ausgabe sieht so aus:

    Input #0, flac, from 'project_files/HumptyDumptySampleStereo.flac':
      Duration: 00:00:26.28, start: 0.000000, bitrate: 378 kb/s
        Stream #0:0: Audio: flac, 44100 Hz, stereo, s16
    

    Der Unterschied zwischen dieser und der vorherigen Datei besteht darin, dass es sich um eine Stereodatei mit einer höheren Bitrate (378 KB/Sekunde statt 283 KB/Sekunde) handelt, da sie eine zweikanalige Wiedergabe statt eines Mono-Tracks enthält. Alle anderen Werte sind identisch.

    Sie sollten die Anzahl der Kanäle in einer Audiodatei prüfen, die Sie mit Speech-to-Text verarbeiten möchten. Die Audiodateien sollten nur einen Audiokanal haben. Um mehrere Audiokanäle in derselben Datei zu transkribieren, empfehlen wir Ihnen, ein Skript für die Befehle, wie später im Bereich Audiodateien für die Analyse optimieren beschrieben, zu erstellen.

  3. Metadaten für eine 5.1-Audio-Mix-Datei aufrufen:

    ffprobe $PROJECT_FILES/Alice_51_sample_mix.aif
    

    Die Ausgabe sieht so aus:

    Duration: 00:00:58.27, bitrate: 4610 kb/s
        Stream #0:0: Audio: pcm_s16be, 48000 Hz, 5.1, s16, 4608 kb/s
    

    Da diese Datei ein anderes Format als die Mono- oder Stereodatei hat, werden zusätzliche Informationen angezeigt. In diesem Fall liegen die Audiodaten in einem linearen PCM-Format vor, das mit einer Abtastrate von 44,1 kHz und einer 16-Bit-Bitrate (vorzeichenbehaftete Ganzzahl, Little Endian) aufgezeichnet wird.

    Beachten Sie die Kennzeichnung 5.1. Die Datenrate in dieser Datei ist mit 4.608 Kbit/s deutlich höher als in den vorherigen Beispielen, da die Audiodatei sechs Audiotracks enthält.

    Weiter unten in dieser Anleitung erfahren Sie, wie diese Datei Fehler verursacht, wenn Sie versuchen, sie mit Speech-to-Text zu transkribieren. Noch wichtiger ist, wie Sie die Datei optimieren, um sie mit Speech-to-Text ohne Fehler zu verwenden.

Audiodateien für die Analyse optimieren

Wie bereits erwähnt, müssen die Audiodateien bei der Verwendung von Speech-to-Text einkanalige Monodateien sein, um Fehler beim Transkriptionsprozess zu vermeiden. Die folgende Tabelle zeigt gängige Audioformate und den Konvertierungsprozess für Monodateien für die Verarbeitung.

Aktuelles Audioformat Konvertierungsprozess Audioausgabeformat
Mono Keine Extraktion erforderlich FLAC oder LINEAR16
Stereo In zwei Monodateien aufteilen oder auf eine Monodatei heruntermixen FLAC oder LINEAR16
Multitrack (5.1) In sechs Monodateien aufteilen FLAC oder LINEAR16
Multi-Stream-Audio/-Video In separate Monodateien aufteilen FLAC oder LINEAR16

Extrahieren Sie Mono-Tracks aus der Stereodatei mit FFMPEG oder anderen Audiobearbeitungstools, um Dateien mit mehreren Audiotracks zu verarbeiten. Alternativ können Sie den Prozess automatisieren, wie in der Speech-to-Text-Dokumentation im Bereich Audio mit mehreren Kanälen transkribieren beschrieben. In dieser Anleitung lernen Sie die Option kennen, mit der Sie einzelne Mono-Tracks aus der Stereodatei mit FFMPEG extrahieren können.

Wie im vorherigen Bereich gezeigt, können Sie mit dem Befehl ffprobe ermitteln, wie viele Audiokanäle eine Datei enthält, und dann mit dem Befehl ffmpeg die Datei extrahieren oder bei Bedarf in ein Monoformat konvertieren.

Vorschau eines Fehlers aufgrund eines ungültigen Formats

Wenn Sie sehen möchten, wie sich ein falsches Format auf die Transkription auswirkt, können Sie Speech-to-Text für eine Datei ausführen, die nicht im Monoformat vorliegt.

  1. Führen Sie in Cloud Shell Speech-to-Text für die Datei HumptyDumptySampleStereo.flac aus:

    gcloud ml speech recognize $PROJECT_FILES/HumptyDumptySampleStereo.flac \
        --language-code='en-US'
    

    Die Ausgabe sieht so aus:

    ERROR: (gcloud.ml.speech.recognize) INVALID_ARGUMENT: Invalid audio channel count
    

    Obwohl das Codec-Format, die Abtastrate und die Bittiefe der Datei korrekt sind, bedeutet der Stereo-Deskriptor, dass die Audiodatei zwei Tracks enthält. Daher führt die Ausführung von Speech-to-Text zu einem Invalid audio channel count-Fehler.

  2. Führen Sie den Befehl ffprobe für die Datei aus:

    ffprobe $PROJECT_FILES/HumptyDumptySampleStereo.flac
    

    Die Ausgabe sieht so aus:

    Stream #0:0: Audio: flac, 44100 Hz, stereo, s16
    

    Dies zeigt, dass der Speech-to-Text-Fehler durch die Verarbeitung einer Stereodatei verursacht wird.

Informationen zum Verwalten von Stereodateien mithilfe von Skripts finden Sie in der Speech-to-Text-Dokumentation unter Audio mit mehreren Kanälen transkribieren.

Stereodatei in mehrere FLAC-Monodateien aufteilen

Ein Beispiel für die Vermeidung des Fehlers mit mehreren Tracks besteht darin, zwei Mono-Tracks aus einer Stereo-Audiodatei zu extrahieren. Die resultierenden Tracks liegen im FLAC-Format vor und werden in das Ausgabeverzeichnis geschrieben. Wenn Sie zwei Monodateien aus einer Stereodatei extrahieren, sollten Sie Namen für die extrahierten Dateien erstellen, die den Speicherort des ursprünglichen Dateikanals angeben. Im folgenden Verfahren kennzeichnen Sie beispielsweise den linken Kanal mit dem Suffix FL und den rechten Kanal mit dem Suffix FR.

Wenn sich das zu transkribierende Audiobeispiel in beiden Kanälen befindet, wird nur ein Kanal für die Transkription verwendet. Wenn jedoch verschiedene Lautsprecher auf verschiedenen Kanälen aufgezeichnet werden, empfehlen wir Ihnen, die Kanäle separat zu transkribieren. Speech-to-Text kann mehrere Stimmen innerhalb einer Aufzeichnung erkennen. Wenn Sie jedoch jede Stimme auf separaten Kanälen isolieren, erhöht sich die Konfidenz der Transkription. Der Konfidenzwert wird in der Spracherkennung auch als Wortfehlerrate (Word Error Rate, WER) bezeichnet. Weitere Informationen zum Arbeiten mit mehreren Stimmen in derselben Aufzeichnung finden Sie in der Speech-to-Text-Dokumentation unter Verschiedene Sprecher in einer Audioaufzeichnung trennen.

  • Teilen Sie in Cloud Shell die Stereodatei HumptyDumptySampleStereo.flac in zwei Monodateien auf:

    ffmpeg -i $PROJECT_FILES/HumptyDumptySampleStereo.flac -filter_complex "[0:a]channelsplit=channel_layout=stereo[left][right]" -map "[left]" output/HumptyDumptySample_FL.flac -map "[right]" output/HumptyDumptySample_FR.flac
    

    Die Ausgabe zeigt die Monodateien HumptyDumptySample_FL.flac (vorderer linker Kanal) und HumptyDumptySample_FR.flac (vorderer rechter Kanal) und sieht so aus:

    Output #0, flac, to 'HumptyDumptySample_FL.flac':
      Input #0, flac, from 'project_files/HumptyDumptySampleStereo.flac':
      Duration: 00:00:26.28, start: 0.000000, bitrate: 378 kb/s
        Stream #0:0: Audio: flac, 44100 Hz, stereo, s16
    Stream mapping:
      Stream #0:0 (flac) -> channelsplit
      channelsplit:FL -> Stream #0:0 (flac)
      channelsplit:FR -> Stream #1:0 (flac)
    (...)
    Output #0, flac, to 'HumptyDumptySample_FL.flac':
    (...)
    Stream #0:0: Audio: flac, 44100 Hz, 1 channels (FL), s16, 128 kb/s
    (...)
    Output #1, flac, to 'HumptyDumptySample_FR.flac':
    (...)
    Stream #1:0: Audio: flac, 44100 Hz, 1 channels (FR), s16, 128 kb/s
    (...)
    size=918kB time=00:00:26.27 bitrate= 286.2kbits/s speed= 357x
    video:0kB audio:1820kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
    

    Diese Datei ist jetzt für Speech-to-Text optimiert.

5.1-Audiodatei in mehrere Monodateien aufteilen

Ein weiteres Beispiel für die Optimierung von Audiodateien ist das Aufteilen von 5.1-Audiodateien in einzelne FLAC-Monodateien. Wenn Sie sich auf Kanäle in einem Mehrkanalmix wie einem 5.1-Mix beziehen, unterscheiden sich die Dateinamenbezeichnungen in der Regel von denen in Stereo- oder Monodateien. Die linke Kanaldatei wird in der Regel als FL für vorne links und der rechte Kanal als FR für die vorne rechts gekennzeichnet. Die verbleibenden Kanäle eines 5.1-Mix werden hier als FC für die vordere Mitte, als LFE für Effekte mit niedriger Frequenz, als BL für hinten links (auch "Surround links") und als BR für hinten rechts (auch "Surround rechts") bezeichnet. Hierbei handelt es sich nicht um Standardbezeichnungen. Es handelt sich aber um eine herkömmliche Methode zur Ermittlung des Ursprungs einer Audiodatei.

In der Regel wird das primäre Dialogfeld in Multichannel-Audiodateien für Filme und Fernsehen vom vorderen mittigen Kanal übertragen. Dies ist normalerweise die Datei, die Sie bei der Verwendung von Speech-to-Text auswählen sollten, da sie normalerweise den Großteil des Dialogs im Mix enthält.

In einer Postproduktionsumgebung werden die primären Elemente von Dialog, Musik und Effekten in Gruppen aufgeteilt, die als Stems bezeichnet werden, sodass alle Dialoge für einen Mix von Musik und Effekten getrennt bleiben, bis der endgültige Mix fertig ist. Da der Dialog-Stem nur aus dem Dialog besteht, liefert Speech-to-Text bessere Ergebnisse beim Transkribieren der Stems, anstatt zu versuchen, den mittleren Kanal aus einem endgültigen Mix zu ziehen. Dies liegt daran, dass ein extrahierter mittiger Kanal möglicherweise mit Tönen ohne Dialog vermischt wird, was die Verständlichkeit beeinträchtigt.

  1. Teilen Sie in Cloud Shell die Datei Alice_51_sample_mix.aif in FLAC-Dateien auf und geben Sie die Namen der Ausgabedateien für jeden Kanal an:

    ffmpeg -i $PROJECT_FILES/Alice_51_sample_mix.aif -filter_complex "channelsplit=channel_layout=5.1[FL][FR][FC][LFE][BL][BR]" -map "[FL]" output/Alice_FL.flac -map "[FR]" output/Alice_FR.flac -map "[FC]" output/Alice_FC.flac -map "[LFE]" output/Alice_LFE.flac -map "[BL]" output/Alice_BL.flac -map "[BR]" output/Alice_BR.flac
    

    Die Ausgabe sieht so aus:

    Duration: 00:00:55.00, bitrate: 4235 kb/s
      Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, 5.1, s16, 4233 kb/s
    Stream mapping:
      Stream #0:0 (pcm_s16le) -> channelsplit
      channelsplit:FL -> Stream #0:0 (flac)
      channelsplit:FR -> Stream #1:0 (flac)
      channelsplit:FC -> Stream #2:0 (flac)
      channelsplit:LFE -> Stream #3:0 (flac)
      channelsplit:BL -> Stream #4:0 (flac)
      channelsplit:BR -> Stream #5:0 (flac)
    Press [q] to stop, [?] for help
    Output #0, flac, to 'Alice_FL.flac':
    (...)
        Stream #0:0: Audio: flac, 44100 Hz, 1 channels (FL), s16, 128 kb/s
    (...)
    Output #1, flac, to 'output/Alice_FR.flac':
    (...)
        Stream #1:0: Audio: flac, 44100 Hz, 1 channels (FR), s16, 128 kb/s
    (...)
    Output #2, flac, to 'output/Alice_FC.flac':
    (...)
        Stream #2:0: Audio: flac, 44100 Hz, mono, s16, 128 kb/s
    (...)
    Output #3, flac, to 'output/Alice_LFE.flac':
    (...)
        Stream #3:0: Audio: flac, 44100 Hz, 1 channels (LFE), s16, 128 kb/s
    (...)
    Output #4, flac, to 'output/Alice_BL.flac':
    (...)
        Stream #4:0: Audio: flac, 44100 Hz, 1 channels (BL), s16, 128 kb/s
    (...)
    Output #5, flac, to 'output/Alice_BR.flac':
    (...)
        Stream #5:0: Audio: flac, 44100 Hz, 1 channels (BR), s16, 128 kb/s
    (...)
    
  2. Klicken Sie auf die folgende Datei, um sie anzuhören. Diese Datei befindet sich im Cloud Storage-Bucket. Wenn Sie auf den Namen klicken, wird die Datei in einem neuen Tab im Browser wiedergegeben.

    Alice_mono_downmix.flac
    
  3. Hören Sie sich die soeben erstellte FC-Kanaldatei (nur mittige Kanaldatei) an. Das Dialogfeld wird nach einigen Sekunden gestartet.

    Alice_FC.flac
    

    Achten Sie auf den Unterschied in der Klarheit gegenüber der vorherigen Datei. Dieser Track basiert nur auf dem Dialogteil des Mixes.

Qualität der Audiodatei testen

Bevor Sie die Mediendateien mithilfe von Speech-to-Text konvertieren, sollten Sie sich die Dateien anhören, um festzustellen, ob die Tonqualität Anomalien aufweist, die dazu führen könnten, dass die ML-Tools keine genauen Ergebnisse liefern. In diesem Bereich können Sie die Dateien in Ihrem Browser wiedergeben, indem Sie auf die Dateinamen klicken. Wir empfehlen die Verwendung von Kopfhörern oder Lautsprechern mit großem dynamischem Bereich.

Audioinhalte aus einer Videodatei anhören

  1. Klicken Sie auf die folgende Datei, um sie wiederzugeben:

    HumptyDumptySample4416.flac
    

    Diese Datei hat eine Frequenz von 44,1 kHz und eine Bittiefe von 16 Bit. Beachten Sie die klare, unverzerrte Genauigkeit und Verständlichkeit dieser Datei. Diese eignet sich gut für die Transkription mit Speech-to-Text.

  2. Geben Sie die folgende Beispielvideodatei im 5.1-Format wieder, um in allen Kanälen außer dem mittleren Kanal einen Surround-Mix ohne Dialoge zu hören:

    sample_51_mix_movie.mp4
    

    Die Datei ist für die Wiedergabe auf einem 5.1-Audiosystem vorgesehen. Wenn Sie nur Kopfhörer oder ein Zweikanalsystem verwenden, sind möglicherweise nicht alle Kanäle während der Wiedergabe hörbar. Um alle sechs Kanäle hören zu können, müsste die Wiedergabe auf einem 5.1-System decodiert oder ein zweikanaliger Stereo-Downmix erstellt werden.

    Idealerweise verwenden Sie den Kanal nur mit Dialog für Speech-to-Text. Die Beispieldatei enthält Audio ohne Dialog in fünf Kanälen und Dialog in einem Kanal. Im Bereich Audiodateien für die Analyse optimieren weiter unten erfahren Sie, wie Sie die sechs einzelnen Mono-Audiokanäle extrahieren, die in der 5.1-Datei codiert sind, um die einzelnen Tracks anzuhören. So können Sie den Kanal nur mit Dialog (normalerweise den mittigen oder vorderen mittigen Kanal) von den Kanälen ohne Dialog isolieren, um die Transkription der Datei durch Speech-to-Text zu verbessern.

Dieselbe Datei mit unterschiedlichen Abtastraten testen

In der folgenden Tabelle sind mehrere Versionen derselben Audiodatei aufgeführt, die Sie sich anhören können. Jede Version hat eine andere Bittiefe und Abtastrate.

Audiodatei Abtastrate/Bittiefe
HumptyDumptySample4416.flac 44,1 kHz/lineare 16-Bit-PCM
HumptyDumptySample2216.flac 22 kHz/lineare 16-Bit-PCM
HumptyDumptySample1616.flac 16 kHz/lineare 16-Bit-PCM
HumptyDumptySample1116.flac 11 kHz/lineare 16-Bit-PCM
HumptyDumptySample0808.flac 8 kHz/lineare 8-Bit-PCM
HumptyDumptyUpSample4416.flac 44,1 kHz (upgesamplet)/lineare 16-Bit-PCM
HumptyDumptySample4408.flac 44,1 kHz/lineare 8-Bit-PCM
HumptyDumptySample4408to16.flac 44,1 kHz/lineare 16-Bit-PCM (hochkonvertiert)
  1. Klicken Sie für jede Datei in der vorherigen Tabelle auf den Dateinamen, um die Datei anzuhören. Der Audioplayer wird in einem neuen Tab des Browsers geöffnet. Beachten Sie den Qualitätsunterschied, wenn die Abtastrate sinkt.

    Die Genauigkeit der 16-Bit-Dateien wird bei den niedrigeren Abtastraten verringert und das Signal-Rausch-Verhältnis in den 8-Bit-Dateiversionen aufgrund der Quantisierungsfehler drastisch reduziert. Die letzte Datei in der Tabelle ist eine 8-Bit-Originaldatei mit 8 kHz, die auf 44,1 kHz/16 Bit upgesamplet wurde. Beachten Sie, dass die Tonqualität mit der einer 8-kHz/8-Bit-Datei übereinstimmt.

  2. Sehen Sie sich in Cloud Shell die Metadaten für die Datei HumptyDumptySampleStereo.flac an:

    ffprobe $PROJECT_FILES/HumptyDumptySampleStereo.flac
    

    Die Ausgabe sieht so aus:

    Input #0, flac, from 'project_files/HumptyDumptySampleStereo.flac':
        Duration: 00:00:26.28, start: 0.000000, bitrate: 378 kb/s
        Stream #0:0: Audio: flac, 44100 Hz, stereo, s16
    

    Die Ausgabe zeigt Folgendes:

    • Die Datei ist 26 Sekunden und 28 Frames lang. Diese Informationen sind für erweiterte Anwendungsfälle nützlich, z. B. wenn Sie Dateien mit dem Befehl gcloud speech recognize-long-running verarbeiten möchten, die länger als eine Minute sind.
    • Die Bitrate der Datei ist 378 KB/s.
    • Die Anzahl der Streams in der Datei ist 1. Dies entspricht nicht der Anzahl der Kanäle.
    • Die Abtastrate der Datei ist 44,1 kHz.
    • Die Anzahl der Audiokanäle ist 2 (Stereo).
    • Die Bittiefe der Datei ist 16 Bit.

    Ein Transportstream kann eine Reihe von Streams enthalten, einschließlich Audio-, Video- und Metadaten. Jeder dieser Streams hat unterschiedliche Eigenschaften, z. B. die Anzahl der Audiokanäle pro Stream, den Codec der Videostreams und die Anzahl der Frames pro Sekunde der Videostreams.

    Die Metadaten zeigen, dass es sich um eine Stereodatei handelt. Dies ist wichtig, da für die Analyse mit Speech-to-Text standardmäßig ein Monokanal empfohlen wird.

Dateien mit Speech-to-Text transkribieren

Nachdem Sie nun Monodateien extrahiert haben, können Sie die Audiotracks mit Speech-to-Text transkribieren. Sie verwenden den Befehl gcloud ml speech, der die Speech-to-Text API aufruft.

  • Transkribieren Sie die saubere Alice_FC.flac-Dialogdatei:

    gcloud ml speech recognize ~/output/Alice_FC.flac \
        --language-code='en-US' --format=text
    

    Warten Sie einige Sekunden, bis die Transkription abgeschlossen ist. Die Ausgabe sieht so aus:

    results[0].alternatives[0].confidence: 0.952115
    results[0].alternatives[0].transcript: the walrus and the carpenter were walking close at hand they whip like anything to see such quantities of sand if this were only cleared away they said it would be grand
    results[1].alternatives[0].confidence: 0.968585
    results[1].alternatives[0].transcript: " if 7 Maids with seven mops swept it for half a year do you suppose the walrus said that they could get it clear I doubt it said the Carpenter and shed a bitter tear"
    results[2].alternatives[0].confidence: 0.960146
    results[2].alternatives[0].transcript: " oysters come and walk with us the walrus did beseech a pleasant walk a pleasant talk along the Briny Beach we cannot do with more than four to give a hand to each the eldest oyster look at him but never a word he said the eldest oyster winked his eye and shook his heavy head"
    

Tracks mit Störgeräuschen transkribieren

Möglicherweise haben Sie Audiodateien von sprechenden Personen mit anderen Tonelementen in den Dialog gemischt. Diese werden im Englischen oft als "dirty tracks" (verunreinigte Tracks) bezeichnet, im Gegensatz zu "clean tracks" (sauberen Tracks), die nur Dialog und keine anderen Elemente enthalten. Obwohl Speech-to-Text Sprache in lauten Umgebungen erkennen kann, sind die Ergebnisse möglicherweise ungenauer als bei sauberen Tracks. Möglicherweise sind zusätzliche Audiofilter und -verarbeitungen erforderlich, um die Verständlichkeit des Dialogs zu verbessern, bevor Sie die Datei mit Speech-to-Text analysieren.

In diesem Bereich transkribieren Sie einen Mono-Downmix der 5.1-Audiodatei, die Sie im vorherigen Beispiel analysiert haben.

  1. Transkribieren Sie in Cloud Shell die Datei Alice_mono_downmix.flac:

    gcloud ml speech recognize $PROJECT_FILES/Alice_mono_downmix.flac \
        --language-code='en-US' --format=text
    

    Die Ausgabe sieht so aus:

    results[0].alternatives[0].confidence: 0.891331
    results[0].alternatives[0].transcript: the walrus and the carpenter Milwaukee Corsicana they reflect anything to see such quantity if this were only
    results[1].alternatives[0].confidence: 0.846227
    results[1].alternatives[0].transcript: " it's Sunday 7th March 23rd happy few supposed former said that they could get it clear I doubt it to the doctor and she said it did it to just come and walk with us"
    results[2].alternatives[0].confidence: 0.917319
    results[2].alternatives[0].transcript: " along the Briny Beach it cannot do with more than four to give a hand to each the eldest oyster look at him but he said it was poised to Rich's eye and shook his head"
    

    Die Ergebnisse dieser Analyse sind aufgrund der zusätzlichen Töne, die den Dialog überlagern, ungenau. Der Konfidenzgrad des Transkripts liegt unter 85 %. Und wie Sie an der Ausgabe erkennen können, stimmt der Text nicht genau mit dem Dialog in der Aufzeichnung überein.

Audiodateien mit verschiedenen Abtastraten und Bittiefen transkribieren

In diesem Bereich transkribieren Sie dieselbe Audiodatei, die in verschiedenen Abtastraten und Bittiefen aufgezeichnet wurde, um mehr darüber zu erfahren, wie sich die Abtastrate und Bittiefe auf die Transkription auswirken. So können Sie den Konfidenzgrad von Speech-to-Text und seine Beziehung zur gesamten Tonqualität sehen.

  1. Klicken Sie auf die Dateinamen in der folgenden Tabelle, um das Beispiel anzuhören und den Qualitätsunterschied zu erkennen. Jedes Mal, wenn Sie auf den Namen einer Datei klicken, wird die Audiodatei in einem neuen Tab im Browser wiedergegeben.

    Name der Audiodatei Dateianforderungen
    Speech_11k8b.flac 11.025-Hz-Abtastrate, 8-Bit-Tiefe
    Speech_16k8b.flac 16-kHz-Abtastrate, 8-Bit-Tiefe
    Speech_16k16b.flac 16-kHz-Abtastrate und 16-Bit-Tiefe
    Speech_441k8b.flac 44.100-Hz-Abtastrate, 8-Bit-Tiefe
    Speech_441k16b.flac 44.100-Hz-Abtastrate, 16-Bit-Tiefe
  2. Transkribieren Sie in Cloud Shell die Datei Speech_11k8b.flac, die in diesem Beispiel die niedrigste Audioqualität darstellt:

    gcloud ml speech recognize $PROJECT_FILES/Speech_11k8b.flac \
        --language-code='en-US' --format=text
    

    Die Ausgabe sieht so aus:

    results[0].alternatives[0].confidence: 0.77032
    results[0].alternatives[0].transcript: number of Pentacle represent
    results[1].alternatives[0].confidence: 0.819939
    results[1].alternatives[0].transcript: " what people can get in trouble if we take a look at the X again"
    
  3. Transkribieren Sie die Datei Speech_441k16b.flac, die mit deutlich höherer Qualität aufgezeichnet wurde:

    gcloud ml speech recognize $PROJECT_FILES/Speech_441k16b.flac \
        --language-code='en-US' --format=text
    

    Die Ausgabe sieht so aus:

    results[0].alternatives[0].confidence: 0.934018
    results[0].alternatives[0].transcript: that gives us the number of pixels per inch when magnified to a 40-foot screen size now we take that number and multiply it by the distance between our eyes the interocular distance of 2 and 1/2 inch number of 10 pixels in other words on a 40-foot screen 10 pixels of information represents 2 and 1/2 in anything farther apart than that and positive Parallax is going to start to force the eyes to rotate that word in order to use the image
    results[1].alternatives[0].confidence: 0.956892
    results[1].alternatives[0].transcript: " where people tend to get in trouble is by looking at these images on a small monitor now if we take a look at the same math using a smaller monitor in this case 60 in the screen size in the resolution to multiply It Again by the distance between our eyes we end up with eighty pixels of Divergence on a monitor which equals two and a half inches so on the monitor things might look fine but when magnified up to the larger screen in this case for defeat we've created a situation that's eight times what we can stand to look at its very painful and should be avoided"
    

    Beachten Sie die unterschiedliche Konfidenz der Ausgabe der beiden Beispiele. Die erste Datei (Speech_11k8b.flac), die bei 11 kHz mit einer 8-Bit-Tiefe aufgezeichnet wurde, hat einen Konfidenzgrad von unter 78 %. Die zweite Datei hat einen Konfidenzgrad von etwa 94 %.

  4. Optional können Sie die anderen in der Tabelle in Schritt 1 aufgeführten Dateien transkribieren, um die Abtastrate der Audiodatei und die Genauigkeit der Bittiefe weiter zu vergleichen.

Die folgende Tabelle enthält eine Zusammenfassung der Ausgabe von Speech-to-Text für jede in der Tabelle in Schritt 1 des vorherigen Verfahrens aufgelistete Datei. Die Ergebnisse der Konfidenzwerte für jeden Dateityp unterscheiden sich. Die Ergebnisse können leicht abweichen. Die Transkriptionen der Audiodateien mit den niedrigeren Abtast- und Bitraten führen aufgrund der schlechteren Tonqualität häufig zu geringeren Konfidenzergebnissen.

Name der Audiodatei Konfidenz (Bereich 1) Konfidenz (Bereich 2)
Speech_11k8b.flac 0,770318 0,81994
Speech_16k8b.flac 0,935356 0,959684
Speech_16k16b.flac 0,945423 0,964689
Speech_44.1k8b.flac 0,934017 0,956892
Speech_44.1k16b.flac 0,949069 0,961777

Videodateien für die Analyse optimieren

In diesem Bereich der Anleitung werden die Schritte beschrieben, die zum Extrahieren von 5.1-Audiodateien aus einer Filmdatei erforderlich sind.

  1. Extrahieren Sie in Cloud Shell sechs Monokanäle aus einer 5.1-Filmdatei und konvertieren Sie die einzelnen Dateien in das FLAC-Format:

    ffmpeg -i $PROJECT_FILES/sample_51_mix_movie.mp4 -filter_complex "channelsplit=channel_layout=5.1[FL][FR][FC][LFE][BL][BR]" -map "[FL]" output/sample_FL.flac -map "[FR]" output/sample_FR.flac -map "[FC]" output/sample_FC.flac -map "[LFE]" output/sample_LFE.flac -map "[BL]" output/sample_BL.flac -map "[BR]" output/sample_BR.flac
    

    Dieser Befehl extrahiert die folgenden Dateien in das Ausgabeverzeichnis:

    sample_BL.flac
    sample_BR.flac
    sample_FC.flac
    sample_FL.flac
    sample_FR.flac
    sample_LFE.flac
    
  2. Sehen Sie sich die Metadaten der Beispieldatei an:

    ffprobe $PROJECT_FILES/Speech_48kFloat.wav
    

    Die Ausgabe sieht so aus:

    Duration: 00:00:05.12, bitrate: 1536 kb/s
    Stream #0:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 48000 Hz, mono, flt, 1536 kb/s
    

    Die Metadatenwerte pcm_f32le und flt geben an, dass diese Datei eine Gleitkomma-Bitrate hat. Sie müssen eine WAV-Datei mit Gleitkomma-Bitrate in ein vorzeichenbehaftetes Ganzzahlformat konvertieren.

  3. Konvertieren Sie die Bitrate der Datei in ein vorzeichenbehaftetes Ganzzahlformat:

    ffmpeg -i $PROJECT_FILES/Speech_48kFloat.wav -c:a pcm_s16le output/Speech_48k16bNonFloatingPoint.wav
    

    Dieser Befehl erstellt eine neue WAV-Datei, deren Bitrate im vorzeichenbehafteten Ganzzahlformat liegt.

  4. Untersuchen Sie die Metadaten der neu erstellten Datei:

    ffprobe ~/output/Speech_48k16bNonFloatingPoint.wav
    

    Die Ausgabe sieht so aus:

    Duration: 00:00:05.12, bitrate: 768 kb/s
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, 1 channels, s16, 768 kb/s
    

    Die Metadaten zeigen jetzt, dass die Bitrate in der konvertierten Datei im Format einer vorzeichenbehafteten Ganzzahl (Little Endian) vorliegt, wie durch die Bezeichnungen pcm_s16le und s16 dargestellt.

Anleitungsbeispiele in einem lokalen Terminal ausführen

Sie können alle Beispiele in dieser Anleitung von einem Terminal auf Ihrem lokalen Computer ausführen. Das lokale Ausführen der Beispiele bietet eine wichtige Möglichkeit, Audio- und Videodateien direkt mit dem Befehl ffplay wiederzugeben, anstatt sie einfach im Browser anzuhören.

  1. Installieren Sie in einem Terminal auf Ihrem lokalen Computer das FFMPEG-Tool:

    sudo apt update
    sudo apt install ffmpeg
    
  2. Laden Sie die Beispieldateien auf Ihren lokalen Computer herunter:

    gsutil -m cp gs://sa-speech-to-text-tutorial-bucket/project_files/*.* local_destination_path
    

    Ersetzen Sie local_destination_path durch den Speicherort, um die Beispieldateien zu speichern.

  3. Legen Sie die Umgebungsvariable LOCAL_PATH auf den Speicherort auf Ihrem Computer fest, auf den Sie die Beispieldateien heruntergeladen haben:

    export LOCAL_PATH=local_destination_path
    

    Ersetzen Sie local_destination_path durch den Pfad aus dem vorherigen Schritt.

  4. Verwenden Sie im Terminal den Befehl ffplay, um eine Beispiel-Audiodatei anzuhören:

    • Audiodatei: ffplay $LOCAL_PATH/HumptyDumpty4416.flac
    • Videodatei: ffplay $LOCAL_PATH/sample_51_mix_movie.mp4
    • Cloud Storage-Bucket-Wiedergabe: ffplay $GCS_BUCKET_PATH/HumptyDumpty4416.flac

    Testen Sie in Ihrem lokalen Terminal die Beispiele, mit denen Sie zuvor in dieser Anleitung gearbeitet haben. So können Sie besser verstehen, wie Sie Speech-to-Text am besten verwenden.

Fehlerbehebung

Fehler können durch verschiedene Faktoren verursacht werden. Es lohnt sich daher, einige häufige Fehler zu untersuchen und zu beheben. Möglicherweise treten bei einer bestimmten Audiodatei mehrere Fehler auf, die den Transkriptionsprozess verhindern.

Audio ist zu lang

Der Befehl gcloud speech recognize kann Dateien verarbeiten, die bis zu eine Minute lang sind. Probieren Sie das folgende Beispiel aus:

gcloud ml speech recognize $PROJECT_FILES/HumptyDumpty4416.flac \
    --language-code='en-US' --format=text

Die Ausgabe sieht so aus:

ERROR: (gcloud.ml.speech.recognize) INVALID_ARGUMENT: Request payload size exceeds the limit: 10485760 bytes.

Der Fehler wird dadurch verursacht, dass versucht wurde, mit dem Befehl speech recognize eine Datei zu verarbeiten, die länger als eine Minute ist.

Für Dateien, die länger als eine Minute und kürzer als 80 Minuten sind, können Sie den Befehl speech recognize-long-running verwenden. Mit dem Befehl ffprobe können Sie sehen, wie lang die Datei ist:

ffprobe $PROJECT_FILES/HumptyDumpty4416.flac

Die Ausgabe sieht etwa so aus:

Duration: 00:04:07.91, start: 0.000000, bitrate: 280 kb/s
Stream #0:0: Audio: flac, 44100 Hz, mono, s16

Beachten Sie, dass die Audiodatei etwa vier Minuten und acht Sekunden dauert.

Große Dateien von Ihrem lokalen Computer lesen

Mit dem Befehl speech recognize-long-running können nur Dateien vom lokalen Computer verarbeitet werden, die kürzer als eine Minute sind. Um herauszufinden, wo möglicherweise ein Fehler auftritt, verwenden Sie für eine längere Datei den Befehl speech recognize-long-running in Cloud Shell:

gcloud ml speech recognize-long-running $PROJECT_FILES/HumptyDumpty4416.flac \
    --language-code='en-US' --format=text

Die Ausgabe sieht so aus:

ERROR: (gcloud.ml.speech.recognize-long-running) INVALID_ARGUMENT: Request payload size exceeds the limit: 10485760 bytes.

Dieser Fehler ist nicht auf die Länge des Audios, sondern auf die Größe der Datei auf dem lokalen Computer zurückzuführen. Wenn Sie den Befehl recognize-long-running verwenden, muss sich die Datei in einem Cloud Storage-Bucket befinden.

Wenn Sie Dateien lesen möchten, die länger als eine Minute sind, verwenden Sie recognize-long-running, um eine Datei aus einem Cloud Storage-Bucket zu lesen, wie im folgenden Befehl:

gcloud ml speech recognize-long-running $GCS_BUCKET_PATH/HumptyDumpty4416.flac \
    --language-code='en-US' --format=text

Dieser Vorgang dauert einige Minuten.

Bereinigen

Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.

Projekt löschen

  1. Wechseln Sie in der Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.

Nächste Schritte