首頁 >後端開發 >php教程 >如何在PHP中使用Google Cloud Speech-to-Text API進行文字轉換與分析

如何在PHP中使用Google Cloud Speech-to-Text API進行文字轉換與分析

PHPz
PHPz原創
2023-06-25 21:39:311601瀏覽

隨著人工智慧技術的發展,語音辨識越來越成熟和普及。 Google Cloud Speech-to-Text API 是一種強大的語音辨識服務,可幫助開發者進行語音辨識和轉換。在本文中,我們將討論如何在 PHP 中使用 Google Cloud Speech-to-Text API 進行文字轉換和分析。

  1. 開始之前

在使用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 平台的資源和服務。

  1. 建立認證

在使用 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 時,你需要使用這個金鑰進行驗證。

  1. 使用PHP進行語音辨識

完成了 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() 存取傳回值數組的第一項,並取得其中的轉錄文字。

  1. 結束語

在這篇文章中,我們學習如何在 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn