Maison  >  Article  >  développement back-end  >  Comment implémenter la reconnaissance vocale en PHP

Comment implémenter la reconnaissance vocale en PHP

WBOY
WBOYoriginal
2023-06-11 22:24:431413parcourir

Avec le développement continu de la technologie de l'intelligence artificielle, la technologie de reconnaissance vocale devient de plus en plus populaire. Dans le développement Web, la mise en œuvre de la reconnaissance vocale est également devenue une tâche importante.

En tant que langage largement utilisé dans le domaine du développement web, PHP peut également mettre en œuvre la reconnaissance vocale. Dans cet article, nous présenterons comment implémenter la reconnaissance vocale en PHP.

  1. Utiliser l'API de reconnaissance vocale Baidu

L'API de reconnaissance vocale Baidu est l'une des API de reconnaissance vocale les plus matures et les plus populaires à l'heure actuelle. La fonction de reconnaissance vocale peut être facilement implémentée à l'aide de l'API de reconnaissance vocale Baidu.

Tout d'abord, vous devez vous inscrire et créer une application sur la plateforme de développement Baidu, et obtenir l'ID d'application et la clé d'application de l'application.

Ensuite, vous devez utiliser PHP pour envoyer une requête POST afin de transférer le fichier vocal vers l'API de reconnaissance vocale Baidu. Voici un exemple de code :

//语音文件路径
$audio_file = "audio.pcm";

//将语音文件读取为字符串
$file_content = file_get_contents($audio_file);

//设置POST请求的header
$header = array(
    "Content-Type: audio/pcm;rate=8000",
    "Content-Length: " . strlen($file_content),
    "Referer: http://yuyin.baidu.com/"
);

//构造POST请求
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://vop.baidu.com/server_api");
curl_setopt($ch, CURLOPT_POSTFIELDS, $file_content);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);

//设置App ID和App Key
$app_id = "your_app_id";
$app_key = "your_app_key";
curl_setopt($ch, CURLOPT_USERPWD, $app_id . ":" . $app_key);

//发送POST请求
$response = curl_exec($ch);

//解析返回结果
$result = json_decode($response, true);
if (isset($result['result'][0])) {
    echo $result['result'][0];
}
else {
    echo "识别失败";
}
  1. Utilisation de l'API de reconnaissance vocale de Google

En plus de l'API de reconnaissance vocale de Baidu, l'API de reconnaissance vocale de Google est également une API de reconnaissance vocale très mature et populaire. La fonctionnalité de reconnaissance vocale peut également être facilement implémentée à l'aide de l'API Google Speech Recognition.

Tout d'abord, vous devez créer un projet dans Google Cloud Console et activer l'API Google Cloud Speech-to-Text.

Ensuite, vous devez utiliser PHP pour envoyer une requête POST afin de transférer le fichier vocal vers l'API de reconnaissance vocale de Google. Voici un exemple de code :

//语音文件路径
$audio_file = "audio.flac";

//将语音文件读取为字符串
$file_content = file_get_contents($audio_file);

//构造POST请求
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://speech.googleapis.com/v1/speech:recognize");
curl_setopt($ch, CURLOPT_POSTFIELDS, $file_content);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);

//设置API密钥
$api_key = "your_api_key";
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json",
                                           "Authorization: Bearer ".$api_key));

//设置请求体
$request_data = array(
    "config" => array(
        "encoding" => "FLAC",
        "sampleRateHertz" => 16000,
        "languageCode" => "zh-CN",
    ),
    "audio" => array(
        "content" => base64_encode($file_content),
    ),
);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($request_data));

//发送POST请求
$response = curl_exec($ch);

//解析返回结果
$result = json_decode($response, true);
if (isset($result['results'][0]['alternatives'][0]['transcript'])) {
    echo $result['results'][0]['alternatives'][0]['transcript'];
}
else {
    echo "识别失败";
}

Summary

Il existe deux manières ci-dessus d'implémenter la reconnaissance vocale en PHP : en utilisant l'API de reconnaissance vocale Baidu et en utilisant l'API de reconnaissance vocale Google. Ces deux méthodes sont relativement matures et populaires pour réaliser la reconnaissance vocale. La méthode à choisir peut être choisie en fonction des besoins réels et des préférences personnelles.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn