Heim >Backend-Entwicklung >PHP-Tutorial >Wie führt man Sprachsynthese und Spracherkennung in PHP durch?

Wie führt man Sprachsynthese und Spracherkennung in PHP durch?

王林
王林Original
2023-05-27 17:51:061630Durchsuche

PHP (Hypertext Preprocessor) ist eine weit verbreitete serverseitige Skriptsprache, die häufig zur Entwicklung von Webanwendungen verwendet wird. In vielen Webanwendungen sind Sprachsynthese und Spracherkennung eine sehr wichtige Funktion, und PHP stellt auch entsprechende Tools und Bibliotheken zur Implementierung dieser Funktionen bereit.

1. Sprachsynthese

Text-To-Speech (TTS) ist der Prozess der Umwandlung von Text in Sprache. Es gibt viele Bibliotheken und Tools in PHP, die Sprachsynthese implementieren können. Hier sind einige der am häufigsten verwendeten Bibliotheken und Tools.

  1. Google Text-to-Speech API

Google Text-to-Speech API ist eine Online-API, die Text in verschiedene Sprachtypen umwandeln kann. Um diese API nutzen zu können, müssen Sie zunächst ein Konto bei Google Cloud registrieren und ein neues Projekt erstellen. Aktivieren Sie die „Google Text-to-Speech API“ in Ihrem Projekt und laden Sie den „API Key“ zum Aufruf der API herunter.

Das Codebeispiel für den Aufruf der Google Text-to-Speech-API mit PHP lautet wie folgt:

$text = "Hello, world.";
$url = "https://texttospeech.googleapis.com/v1/text:synthesize?key=[API_KEY]";
$data = array(
    "input" => array(
        "text" => $text
    ),
    "voice" => array(
        "languageCode" => "en-US",
        "name" => "en-US-Wavenet-D"
    ),
    "audioConfig" => array(
        "audioEncoding" => "MP3"
    )
);
$json = json_encode($data);

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $json);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
    "Content-Type: application/json"
));
$result = curl_exec($curl);
curl_close($curl);

file_put_contents("output.mp3", $result);
  1. Microsoft Speech SDK

Microsoft Speech SDK ist eine Reihe von Tools und Bibliotheken, die von Microsoft für die Spracherkennung und Sprachsynthese bereitgestellt werden. Es unterstützt eine Vielzahl von Sprachsynthese-Engines, darunter die eigene Engine von Microsoft (Microsoft Speech Platform) und einige andere Engines von Drittanbietern.

Das Codebeispiel für die Konvertierung von Text in Sprache mithilfe des Microsoft Speech SDK lautet wie folgt:

require 'vendor/autoload.php';

use MicrosoftCognitiveServicesSpeechSpeechConfig;
use MicrosoftCognitiveServicesSpeechSpeechSynthesizer;

// Replace with your own subscription key and region identifier
$key = "YourSubscriptionKey";
$region = "YourServiceRegion";

// Configure the synthesizer object
$speech_config = SpeechConfig::fromSubscription($key, $region);
$synthesizer = new SpeechSynthesizer($speech_config);

// Synthesize speech from text
$text = "Hello, world.";
$file_name = "output.wav";
$results = $synthesizer->speakText($text, $file_name);

// Output the speech file
header('Content-type: audio/wav');
echo file_get_contents($file_name);

2. Spracherkennung

Spracherkennung (Speech Recognition, SR) ist der Prozess der Umwandlung von Sprache in Text. Es gibt auch viele Bibliotheken und Tools in PHP, die Spracherkennung implementieren können. Hier sind einige der am häufigsten verwendeten Bibliotheken und Tools.

  1. Google Cloud Speech-to-Text API

Google Cloud Speech-to-Text API ist eine Online-API, die Sprache in Text umwandelt. Um diese API nutzen zu können, müssen Sie zunächst ein Konto bei Google Cloud registrieren und ein neues Projekt erstellen. Aktivieren Sie „Google Cloud Speech-to-Text API“ im Projekt und laden Sie den „API-Schlüssel“ zum Aufruf der API herunter.

Das Codebeispiel mit PHP zum Aufrufen der Google Cloud Speech-to-Text-API lautet wie folgt:

$file_name = "audio.wav";
$file_content = file_get_contents($file_name);

$url = "https://speech.googleapis.com/v1/speech:recognize?key=[API_KEY]";
$data = array(
    "config" => array(
        "encoding" => "LINEAR16",
        "sampleRateHertz" => 16000,
        "languageCode" => "en-US"
    ),
    "audio" => array(
        "content" => base64_encode($file_content)
    )
);
$json = json_encode($data);

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $json);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
    "Content-Type: application/json"
));
$result = curl_exec($curl);
curl_close($curl);

$obj = json_decode($result);
if (isset($obj->results)) {
    $text = $obj->results[0]->alternatives[0]->transcript;
    echo $text;
}
  1. Wit.ai

Wit.ai ist eine Online-Spracherkennungsplattform, die Sprache in Text und andere Daten umwandeln kann . Seine API ist intelligenter als andere Spracherkennungs-APIs und kann Absichten und Entitäten erkennen. Um diese API nutzen zu können, müssen Sie zunächst ein Konto bei Wit.ai registrieren und eine neue Anwendung erstellen. Aktivieren Sie die Speech API in Ihrer App und erhalten Sie einen API-Schlüssel und eine App-ID.

Das Codebeispiel für den Aufruf der Wit.ai Speech API mit PHP lautet wie folgt:

$file_name = "audio.wav";
$file_content = file_get_contents($file_name);

$url = "https://api.wit.ai/speech?v=20211006";
$data = $file_content;

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
    "Authorization: Bearer [API_KEY]",
    "Content-Type: audio/wav"
));
$result = curl_exec($curl);
curl_close($curl);

$obj = json_decode($result);
if (isset($obj->_text)) {
    $text = $obj->_text;
    echo $text;
}

Zusammenfassung

Durch die Verwendung der oben genannten Tools und Bibliotheken können Sprachsynthese- und Spracherkennungsfunktionen einfach in PHP implementiert werden. Sie können uns helfen, schnell intelligentere und interaktivere Webanwendungen zu erstellen und sind eines der wichtigen Werkzeuge für die Webentwicklung.

Das obige ist der detaillierte Inhalt vonWie führt man Sprachsynthese und Spracherkennung in PHP durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn