PHP(Hypertext Preprocessor)는 웹 애플리케이션을 개발하는 데 일반적으로 사용되는 서버 측 스크립팅 언어로 널리 사용됩니다. 많은 웹 애플리케이션에서 음성 합성과 음성 인식은 매우 중요한 기능이며, PHP도 이러한 기능을 구현하기 위해 해당 도구와 라이브러리를 제공합니다.
1. 음성 합성
TTS(Text-To-Speech)는 텍스트를 음성으로 변환하는 프로세스입니다. 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. 음성 인식
음성 인식(Speech Recognition, SR)은 음성을 텍스트로 변환하는 과정입니다. PHP에는 음성 인식을 구현할 수 있는 많은 라이브러리와 도구가 있습니다. 다음은 보다 일반적으로 사용되는 라이브러리와 도구 중 일부입니다.
Google Cloud Speech-to-Text API는 음성을 텍스트로 변환하는 온라인 API입니다. 이 API를 사용하려면 먼저 Google Cloud에 계정을 등록하고 새 프로젝트를 만들어야 합니다. 프로젝트에서 'Google Cloud Speech-to-Text API'를 활성화하고 API 호출을 위한 'API 키'를 다운로드하세요.
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에서 쉽게 구현할 수 있습니다. 이는 보다 지능적이고 대화형인 웹 애플리케이션을 신속하게 구축하는 데 도움이 되며 웹 개발을 위한 중요한 도구 중 하나입니다.
위 내용은 PHP에서 음성 합성 및 음성 인식을 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!