Maison > développement back-end > tutoriel php > PHP implémente la fonction de synthèse vocale dans le mini-programme WeChat

PHP implémente la fonction de synthèse vocale dans le mini-programme WeChat

PHPz
Libérer: 2023-06-01 08:32:02
original
1718 Les gens l'ont consulté

Avec la popularité des outils sociaux et la popularité continue des smartphones, je pense que tout le monde peut profiter des avantages et de la commodité de communiquer en envoyant des messages vocaux. Dans la vie quotidienne, nous pouvons facilement utiliser les fonctions de saisie vocale et de synthèse vocale des smartphones pour compléter la saisie et la sortie de texte vocal. Cependant, pour certaines applications Web, elles ne sont pas fournies avec ces fonctions, nous devons donc utiliser des services tiers pour implémenter ces fonctions. Cet article explique comment utiliser le langage PHP pour implémenter la fonction de synthèse vocale dans l'applet WeChat.

Préparation des connaissances préalables

Avant de commencer, nous avons besoin de quelques connaissances de base :

  • Connaissance de base du développement de l'applet WeChat
  • Connaissance de base du langage PHP ;
  • Principes de base de la synthèse vocale ; Requête HTTP et connaissance de base de la réponse.
  • Le principe de base de la synthèse vocale

La synthèse vocale est une technologie qui convertit les informations textuelles en informations sonores. Son principe est de convertir le texte en son grâce à un algorithme de synthèse basé sur les phonèmes, les tons, les syllabes, la grammaire du langage et. d'autres informations. Il existe de nombreuses technologies pour mettre en œuvre la synthèse vocale, parmi lesquelles les plus largement utilisées sont la technologie de synthèse vocale basée sur HMM et la technologie de synthèse vocale basée sur les réseaux neuronaux.

Connaissance de base des requêtes et réponses HTTP

Dans le processus de création de requêtes HTTP, nous devons utiliser le protocole HTTP. Le protocole HTTP contient généralement les parties suivantes :

En-tête de requête : l'en-tête de requête contient les informations de base de la requête, telles que la méthode de requête, le chemin de la requête, les paramètres de la requête, les en-têtes de requête et d'autres informations.
  • Corps de la requête : le corps de la requête contient le contenu de l'entité de la requête HTTP, tel que les paramètres et les fichiers de la requête POST.
  • En-tête de réponse : l'en-tête de réponse contient le code d'état, le type de données, l'en-tête de réponse et d'autres informations renvoyées par le serveur.
  • Corps de la réponse : le corps de la réponse contient le contenu réel des données renvoyées par le serveur.
  • Lorsque nous effectuons des requêtes HTTP via PHP, nous pouvons utiliser la bibliothèque CURL pour implémenter ce processus. Le processus de mise en œuvre spécifique est le suivant :

Initialisez l'instance CURL et définissez les options associées.
  • Envoyez la demande et définissez l'en-tête de la demande, le corps de la demande et d'autres informations.
  • Recevez le résultat de la réponse et analysez l'en-tête de la demande, le corps de la demande et d'autres informations.
  • Processus d'implémentation

Ensuite, voyons comment utiliser PHP pour implémenter la fonction de synthèse vocale dans l'applet WeChat.

Étape 1 : demander le jeton d'accès de l'API Baidu Voice

Avant d'utiliser l'API Baidu Voice pour implémenter la fonction de synthèse vocale, vous devez demander le jeton d'accès de l'API Baidu Voice. Le jeton d'accès est principalement utilisé pour la vérification de l'identité de divers services sur la plateforme ouverte Baidu AI et doit être facturé en fonction du nombre de demandes.

Comment obtenir un jeton d'accès est le suivant :

Tout d'abord, vous devez créer un compte sur Baidu AI Open Platform et créer une application.
  • Ensuite, lors de la création d'une application, vous devez sélectionner la fonction « synthèse vocale » et configurer les informations de l'application.
  • Enfin, vous pouvez obtenir le jeton d'accès dans la page de gestion de l'application.
  • Étape 2 : Écrire un script PHP

Installer le module CURL
  1. Dans le langage PHP, nous devons utiliser le module CURL pour implémenter les fonctions de requête et de réponse HTTP. Par conséquent, avant d'implémenter la fonction de synthèse vocale, nous devons nous assurer que le module CURL a été correctement installé et activé.

Le code PHP pour obtenir le jeton d'accès
  1. Le code PHP pour obtenir le jeton d'accès est le suivant :
const ACCESS_TOKEN_URL = 'https://aip.baidubce.com/oauth/2.0/token';

function getAccessToken()
{
    $url = ACCESS_TOKEN_URL;
    
    $params = array(
        'grant_type' => 'client_credentials',
        'client_id' => '********',
        'client_secret' => '********',
    );
    
    $options = array(
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HEADER => false,
        CURLOPT_POST => count($params),
        CURLOPT_POSTFIELDS => http_build_query($params),
    );
    
    $ch = curl_init($url);
    curl_setopt_array($ch, $options);
    
    $response = curl_exec($ch);
    
    $result = json_decode($response, true);
    
    if (! isset($result['access_token'])) {
        return false;
    }
    
    return $result['access_token'];
} 
Copier après la connexion

Où :

$url est l'adresse API demandée
  • $params est le tableau de paramètres demandé ;
  • $ options sont les options de la requête CURL, y compris la méthode de requête, l'en-tête de la requête, le corps de la requête et d'autres informations. Par exemple, CURLOPT_RETURNTRANSFER est vrai, ce qui signifie que la requête renverra le résultat au lieu de l'afficher directement à l'écran. ;
  • $response est les données originales renvoyées par la requête ;
  • $result est le résultat de la conversion de $response en tableau.
  • En appelant cette fonction, nous pouvons obtenir le jeton d'accès de l'API Baidu Speech et l'utiliser comme authentification valide pour les demandes de synthèse vocale ultérieures.

Le code PHP qui implémente la synthèse vocale
  1. Le code PHP pour la synthèse vocale est le suivant :
const TEXT_TO_SPEECH_URL = 'https://tsn.baidu.com/text2audio';

function textToSpeech($text, $access_token)
{
    $url = TEXT_TO_SPEECH_URL;
        
    $params = array(
        'tex' => urlencode($text),
        'cuid' => 'PHP TEXT TO SPEECH',
        'lan' => 'zh',
        'ctp' => '1',
        'spd' => '5',
        'vol' => '15',
        'per' => '0',
        'aue' => '3',
        'tok' => $access_token,
    );
    
    $options = array(
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HEADER => false,
        CURLOPT_POST => count($params),
        CURLOPT_POSTFIELDS => http_build_query($params),
    );
    
    $ch = curl_init($url);
    curl_setopt_array($ch, $options);
    
    $response = curl_exec($ch);
    
    return $response;
}
Copier après la connexion

Parmi eux :

$text est l'information textuelle qui doit être convertie en discours ;
  • $acess_token est le jeton d'accès obtenu. Card ;
  • $params est le tableau de paramètres de la requête, comprenant les informations textuelles qui doivent être synthétisées, la langue utilisée, le son utilisé et d'autres informations.
  • En appelant cette fonction, nous pouvons convertir les informations textuelles en un fichier vocal au format MP3 et le restituer à l'appelant.

Étape 3 : Appelez le script PHP dans le mini-programme WeChat et implémentez la fonction de synthèse vocale

L'utilisation de PHP dans le mini-programme WeChat pour implémenter la fonction de synthèse vocale peut être divisée en les étapes suivantes :

Sur la page du mini programme, écrivez le code pertinent pour obtenir les informations textuelles qui doivent être converties
  • Appelez le script PHP sur l'applet et transmettez les informations textuelles qui doivent être converties en paramètre au script ; Analysez le fichier vocal renvoyé par le script PHP et lisez-le via le lecteur.
  • Le processus spécifique de mise en œuvre est relativement compliqué et ne sera pas décrit en détail dans cet article. Les lecteurs peuvent mettre en œuvre cette fonction en se référant aux documents et tutoriels pertinents.
  • Résumé

Cet article explique comment utiliser le langage PHP pour implémenter la fonction de synthèse vocale dans l'applet WeChat. En utilisant la bibliothèque CURL, nous pouvons facilement implémenter le processus de requête et de réponse HTTP et convertir les informations textuelles en informations vocales en appelant l'API vocale Baidu. J'espère que cet article pourra être utile aux lecteurs.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal