ホームページ >バックエンド開発 >PHPチュートリアル >PHP で音声合成と音声認識を実行するにはどうすればよいですか?
PHP (ハイパーテキスト プリプロセッサ) は、Web アプリケーションの開発に広く使用されているサーバー側スクリプト言語です。多くの Web アプリケーションでは、音声合成と音声認識は非常に重要な機能であり、PHP はこれらの機能を実装するための対応するツールとライブラリも提供します。
1. 音声合成
Text-To-Speech (TTS) は、テキストを音声に変換するプロセスです。 PHP には、音声合成を実装できるライブラリとツールが多数あります。ここでは、より一般的に使用されるライブラリとツールをいくつか紹介します。
Google Text-to-Speech API は、テキストをさまざまな音声タイプに変換できるオンライン API です。この API を使用するには、まず Google Cloud にアカウントを登録し、新しいプロジェクトを作成する必要があります。プロジェクトで「Google Text-to-Speech API」を有効にし、API を呼び出すための「API キー」をダウンロードします。
PHP を使用して Google Text-to-Speech API を呼び出すコード例は次のとおりです。
$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);
Microsoft Speech SDK は次のとおりです。 Microsoft が提供する 音声認識と音声合成のためのツールとライブラリのセット。 Microsoft 独自のエンジン (Microsoft Speech Platform) やその他のサードパーティ エンジンを含む、さまざまな音声合成エンジンをサポートしています。
Microsoft Speech SDK を使用してテキストを音声に変換するコード例は次のとおりです:
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. 音声認識
音声認識 (音声認識、SR) は次のとおりです。音声をテキストに変換する処理。 PHP には、音声認識を実装できるライブラリやツールも多数あります。ここでは、より一般的に使用されるライブラリとツールをいくつか紹介します。
Google Cloud Speech-to-Text API は、音声をテキストに変換するオンライン API です。この API を使用するには、まず Google Cloud にアカウントを登録し、新しいプロジェクトを作成する必要があります。プロジェクトで「Google Cloud Speech-to-Text API」を有効にし、APIを呼び出すための「API Key」をダウンロードします。
PHP を使用して Google Cloud Speech-to-Text API を呼び出すコード例は次のとおりです:
$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; }
Wit.aiは、音声をテキストやその他のデータに変換するオンライン音声認識プラットフォームです。その API は他の音声認識 API よりもインテリジェントであり、意図とエンティティを認識できます。このAPIを利用するには、まずWit.aiにアカウントを登録し、新規アプリケーションを作成する必要があります。アプリで Speech API を有効にし、API キーとアプリ ID を取得します。
PHP を使用して Wit.ai Speech API を呼び出すコード例は次のとおりです。
$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; }
概要
上記のツールとライブラリを使用することで、音声合成と音声合成を行うことができます。 PHPで簡単に実装できる音声認識機能。これらは、よりインテリジェントでインタラクティブな Web アプリケーションを迅速に構築するのに役立ち、Web 開発の重要なツールの 1 つです。
以上がPHP で音声合成と音声認識を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。