Verwenden der Sprachsynthese-API

Abgeschlossen

Ähnlich wie bei den Spracherkennungs-APIs bietet der Azure Speech-Dienst andere REST-APIs für die Sprachsynthese an:

  • Die Text-zu-Sprache-API , die die primäre Möglichkeit zum Durchführen der Sprachsynthese ist.
  • Die Batchsynthese-API , die Batchvorgänge unterstützt, die große Textmengen in Audio konvertieren , z. B. um ein Audiobuch aus dem Quelltext zu generieren.

Weitere Informationen zu den REST-APIs finden Sie in der Rest-API-Dokumentation "Text to Speech". In der Praxis verwenden die meisten interaktiven sprachfähigen Anwendungen den Azure-Sprachdienst über ein (programmierspezifisches) SDK.

Verwenden des Azure Speech SDK

Wie bei der Spracherkennung werden in der Praxis die meisten interaktiven sprachfähigen Anwendungen mit dem Azure Speech SDK erstellt.

Das Muster für die Implementierung der Sprachsynthese ähnelt der der Spracherkennung:

Ein Diagramm, das zeigt, wie ein SpeechSynthesizer-Objekt aus einer SpeechConfig und AudioConfig erstellt wird, und seine SpeakTextAsync-Methode wird verwendet, um die Sprach-API aufzurufen.

  1. Verwenden Sie ein SpeechConfig-Objekt , um die informationen zu kapseln, die zum Herstellen einer Verbindung mit Ihrer Azure Speech-Ressource erforderlich sind. Insbesondere die Position und der Schlüssel.
  2. Verwenden Sie optional eine AudioConfig , um das Ausgabegerät zu definieren, damit die Sprache synthetisiert werden kann. Standardmäßig ist dies der Standardlautsprecher des Systems, Sie können aber auch eine Audiodatei angeben oder indem Sie diesen Wert explizit auf einen Nullwert festlegen, können Sie das Audiostreamobjekt verarbeiten, das direkt zurückgegeben wird.
  3. Verwenden Sie SpeechConfig und AudioConfig , um ein SpeechSynthesizer-Objekt zu erstellen. Dieses Objekt ist ein Proxyclient für die Text-zu-Sprache-API .
  4. Verwenden Sie die Methoden des SpeechSynthesizer-Objekts , um die zugrunde liegenden API-Funktionen aufzurufen. Die SpeakTextAsync() -Methode verwendet z. B. den Azure-Sprachdienst, um Text in gesprochene Audiodaten zu konvertieren.
  5. Verarbeiten Sie die Antwort vom Azure-Sprachdienst. Bei der SpeakTextAsync-Methode ist das Ergebnis ein SpeechSynthesisResult-Objekt , das die folgenden Eigenschaften enthält:
    • AudioData
    • Eigenschaften
    • Ursache
    • Ergebnis-ID

Wenn die Sprache erfolgreich synthetisiert wurde, wird die Reason-Eigenschaft auf die SynthesizingAudioCompleted-Enumeration festgelegt, und die AudioData-Eigenschaft enthält den Audiodatenstrom (je nach AudioConfig wurde möglicherweise automatisch an einen Lautsprecher oder eine Datei gesendet).