【PHP】Google Cloud Speech を試してみる

Google Cloud Speech を 試してみました。

音声ファイルからテキストに変換するというものです。

サンプルのソースだけだと、認証部分でエラーが出てしまいました。

そこで、↓こちらのように、

putenv('GOOGLE_APPLICATION_CREDENTIALS=key/◯◯.json');

Google Cloud のコンソールで作る認証用のJSONファイルを読み込むと、うまくいきました。

putenv('GOOGLE_APPLICATION_CREDENTIALS=key/◯◯.json');

# [START speech_quickstart]
# Includes the autoloader for libraries installed with composer
require __DIR__ . '/vendor/autoload.php';

# Imports the Google Cloud client library
use Google\Cloud\Speech\SpeechClient;

# Your Google Cloud Platform project ID
$projectId = '◯◯◯';

# Instantiates a client
$speech = new SpeechClient([
    'projectId' => $projectId,
    'languageCode' => 'ja-JP',
]);

# The name of the audio file to transcribe
$fileName = __DIR__ . '/resources/voice.wav';

# The audio file's encoding and sample rate
$options = [
    'encoding' => 'LINEAR16',
    'sampleRateHertz' => 44100,
];

# Detects speech in the audio file
$results = $speech->recognize(fopen($fileName, 'r'), $options);

foreach ($results as $result) {
    echo 'Transcription: ' . $result->alternatives()[0]['transcript'] . PHP_EOL;
}

# [END speech_quickstart]
return $results;

音声 > テキスト の変換精度は、Appleの方が高いような気がしました。