隨著人工智慧技術的發展,語音辨識越來越成熟和普及。 Google Cloud Speech-to-Text API 是一種強大的語音辨識服務,可幫助開發者進行語音辨識和轉換。在本文中,我們將討論如何在 PHP 中使用 Google Cloud Speech-to-Text API 進行文字轉換和分析。
在使用Google Cloud Speech-to-Text API 前,你需要完成以下幾個事情:
a. 取得Google Cloud 的存取金鑰。 Google Cloud 提供了一個免費試用期,你可以在試用期內免費使用 Speech-to-Text API。但是,在試用期結束後,你需要購買 Google Cloud 的服務方案才能繼續使用 Speech-to-Text API。
b. 安裝 PHP 7 或更新版。 Google Cloud 提供了 PHP 版本的語音辨識函式庫,而該版本要求使用 PHP 7 或更新版。
c. 下載並安裝 Google Cloud SDK。 Google Cloud SDK 是一個命令列工具,它可以幫助你管理 Google Cloud 平台的資源和服務。
在使用 Google Cloud Speech-to-Text API 進行語音辨識之前,你需要建立一個 Google Cloud 的認證。這個認證將為你的應用程式提供 Google Cloud 服務的存取權限。你可以使用以下的命令列指令建立一個新的服務帳號:
gcloud iam service-accounts create [ACCOUNT_NAME]
其中,[ACCOUNT_NAME]
是你為這個帳號設定的名字。
建立了一個新的服務帳號之後,你需要給它授權。這樣,你的應用程式就能夠使用 Speech-to-Text API。你可以使用以下的命令列指令授權:
gcloud projects add-iam-policy-binding [PROJECT_ID] --member "serviceAccount:[ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com" --role "roles/cloudspeechto-text.admin"
在這裡,[PROJECT_ID]
代表 Google Cloud 中你的專案 ID。你需要將[PROJECT_ID]
替換為你的專案 ID。 [ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com
是你在步驟 2.1 中建立的服務帳號的名字。這個帳號會被授予 roles/cloudspeech-to-text.admin
的權限,這意味著他可以管理語音辨識服務。
最後,你需要為你的服務帳號建立一個存取金鑰。你可以透過以下的命令列指令建立金鑰:
gcloud iam service-accounts keys create [KEY_FILE_NAME].json --iam-account [ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com
這條指令會建立一個新的 JSON 文件,其中包含了你的 Google Cloud 服務帳號的私有金鑰。在 PHP 中使用 Speech-to-Text API 時,你需要使用這個金鑰進行驗證。
完成了 Google Cloud 認證之後,我們可以開始在 PHP 中使用 Speech-to-Text API 進行語音辨識。首先,你需要下載並安裝 Google Cloud 的 PHP 語音辨識庫。你可以使用以下的Composer 指令來安裝:
composer require google/cloud-speech
安裝完成後,你需要在你的PHP 檔案中包含以下的程式碼:
<?php require 'vendor/autoload.php'; use GoogleCloudSpeechV1SpeechClient; use GoogleCloudSpeechV1RecognitionAudio; use GoogleCloudSpeechV1RecognitionConfig; $options = [ 'credentials' => 'PATH_TO_YOUR_JSON_FILE' ]; $speech = new SpeechClient($options); $audioFile = file_get_contents('PATH_TO_YOUR_AUDIO_FILE'); $audio = (new RecognitionAudio())->setContent($audioFile); $config = new RecognitionConfig([ 'encoding' => 'ENCODING_TYPE_USED_BY_YOUR_AUDIO_FILE', 'sampleRateHertz' => SAMPLE_RATE_HERTZ_OF_YOUR_AUDIO_FILE, 'languageCode' => 'LANGUAGE_CODE' ]);
在上面的範例中, PATH_TO_YOUR_JSON_FILE
是你在步驟2.3 建立的服務帳號的JSON 檔案存放的路徑。 PATH_TO_YOUR_AUDIO_FILE
是你要進行語音辨識的音訊檔案存放的路徑。 ENCODING_TYPE_USED_BY_YOUR_AUDIO_FILE
是你要進行語音辨識的音訊檔案的編碼類型。 SAMPLE_RATE_HERTZ_OF_YOUR_AUDIO_FILE
是你要進行語音辨識的音訊檔案的取樣率。 LANGUAGE_CODE
是你要辨識的語言程式碼。
現在,我們可以使用 Speech-to-Text API 進行語音辨識。你可以使用以下的命令來識別:
$response = $speech->recognize($config, $audio); foreach ($response->getResults() as $result) { echo $result->getAlternatives()[0]->getTranscript() . " "; }
在上面的程式碼中,$response = $speech->recognize($config, $audio);
將音訊檔案提交給Speech-to-Text API 進行語音辨識。 $result->getAlternatives()[0]->getTranscript()
存取傳回值數組的第一項,並取得其中的轉錄文字。
在這篇文章中,我們學習如何在 PHP 中使用 Google Cloud Speech-to-Text API 進行語音辨識和轉換。我們討論如何建立 Google Cloud 的認證、如何下載 Google Cloud 的 PHP 語音辨識庫,以及如何使用 Speech-to-Text API 進行語音辨識。希望這篇文章可以幫助你更好地掌握和使用 Google Cloud Speech-to-Text API。
以上是如何在PHP中使用Google Cloud Speech-to-Text API進行文字轉換與分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!