PHP에서 음성 합성 및 음성 인식을 수행하는 방법은 무엇입니까?

王林
풀어 주다: 2023-05-27 17:52:02
원래의
1449명이 탐색했습니다.

PHP(Hypertext Preprocessor)는 웹 애플리케이션을 개발하는 데 일반적으로 사용되는 서버 측 스크립팅 언어로 널리 사용됩니다. 많은 웹 애플리케이션에서 음성 합성과 음성 인식은 매우 중요한 기능이며, PHP도 이러한 기능을 구현하기 위해 해당 도구와 라이브러리를 제공합니다.

1. 음성 합성

TTS(Text-To-Speech)는 텍스트를 음성으로 변환하는 프로세스입니다. PHP에는 음성 합성을 구현할 수 있는 많은 라이브러리와 도구가 있습니다. 다음은 보다 일반적으로 사용되는 라이브러리와 도구 중 일부입니다.

  1. Google Text-to-Speech API

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);
로그인 후 복사
  1. Microsoft Speech SDK

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에는 음성 인식을 구현할 수 있는 많은 라이브러리와 도구가 있습니다. 다음은 보다 일반적으로 사용되는 라이브러리와 도구 중 일부입니다.

  1. Google Cloud Speech-to-Text API

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; }
로그인 후 복사
  1. Wit.ai

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!