Maison  >  Article  >  développement back-end  >  Compétences essentielles pour les développeurs Golang : connectez-vous facilement à l'interface Baidu AI pour obtenir la reconnaissance vocale

Compétences essentielles pour les développeurs Golang : connectez-vous facilement à l'interface Baidu AI pour obtenir la reconnaissance vocale

WBOY
WBOYoriginal
2023-08-12 15:21:03697parcourir

Compétences essentielles pour les développeurs Golang : connectez-vous facilement à linterface Baidu AI pour obtenir la reconnaissance vocale

Compétences essentielles pour les développeurs Golang : Connectez-vous facilement à l'interface Baidu AI pour obtenir la reconnaissance vocale

Introduction : Avec le développement rapide de l'intelligence artificielle, la technologie de reconnaissance vocale pénètre progressivement dans nos vies et devient la base de notre communication quotidienne et interaction L'un des moyens importants. En tant que développeur Golang, savoir comment se connecter à l'interface Baidu AI pour la reconnaissance vocale ajoutera beaucoup de commodité au développement de notre application. Cet article amènera les lecteurs à comprendre comment utiliser Golang pour se connecter facilement à l'interface Baidu AI afin d'obtenir une reconnaissance vocale, et joindra des exemples de code.

  1. Enregistrer un compte développeur Baidu AI
    Avant de commencer, nous devons enregistrer un compte développeur Baidu AI. Sur la plateforme ouverte Baidu AI (https://ai.baidu.com/), cliquez sur le bouton « S'inscrire maintenant », remplissez les informations pertinentes et créez un compte avec succès. Après vous être connecté, créez une application dans la « Console » et obtenez la clé API et la clé secrète.
  2. Installez l'environnement de développement Golang
    Assurez-vous que l'environnement de développement Golang a été installé et configuré correctement. Vous pouvez télécharger le package d'installation adapté à votre système d'exploitation sur le site officiel (https://golang.org/dl/), puis l'installer et le configurer conformément à la documentation officielle.
  3. Installez les packages de dépendances nécessaires
    Avant de commencer à écrire du code, nous devons installer certains packages de dépendances nécessaires pour faciliter nos requêtes HTTP et l'analyse JSON. Ouvrez un terminal ou un outil de ligne de commande et utilisez la commande suivante pour installer :
go get -u github.com/go-resty/resty/v2
go get -u github.com/json-iterator/go
  1. Écrivez le code pour implémenter la fonction de reconnaissance vocale
    Tout d'abord, nous devons créer un fichier Go, par exemple speech_recognition.go, écrivez le code suivant dans le fichier :
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "os"
    "strings"

    "github.com/go-resty/resty/v2"
    "github.com/json-iterator/go"
)

const (
    TokenURL     = "https://aip.baidubce.com/oauth/2.0/token"
    APIURL       = "http://vop.baidu.com/server_api"
    APIKey       = "your_api_key"    // 替换成你的API Key
    SecretKey    = "your_secret_key" // 替换成你的Secret Key
    AudioFile    = "audio.wav"       // 替换成你的音频文件路径
    DevUserID    = "user01"          // 替换成你的用户标识
)

type TokenResponse struct {
    AccessToken string `json:"access_token"`
    ExpiresIn   int    `json:"expires_in"`
}

type RecognitionResult struct {
    ErrNo  int      `json:"err_no"`
    ErrMsg string   `json:"err_msg"`
    Result []string `json:"result"`
}

func main() {
    accessToken := getAccessToken()

    audioData, err := ioutil.ReadFile(AudioFile)
    if err != nil {
        fmt.Printf("读取音频文件失败:%s
", err.Error())
        os.Exit(1)
    }

    boundary := "12345678901234567890"
    body := fmt.Sprintf("--%s
Content-Disposition: form-data; name="dev_pid"

1537
--%s
Content-Disposition: form-data; name="format"

wav
--%s
Content-Disposition: form-data; name="channel"

1
--%s
Content-Disposition: form-data; name="token"

%s
--%s
Content-Disposition: form-data; name="cuid"

%s
--%s
Content-Disposition: form-data; name="len"

%d
--%s
Content-Disposition: form-data; name="speech"; filename="%s"
Content-Type: application/octet-stream

%s
--%s--",
        boundary, boundary, boundary, boundary, accessToken, boundary, DevUserID, boundary, len(audioData), AudioFile, audioData, boundary)
    resp, err := resty.New().R().
        SetHeader("Content-Type", "multipart/form-data; boundary="+boundary).
        SetBody(body).
        Post(APIURL)
    if err != nil {
        fmt.Printf("请求百度AI接口失败:%s
", err.Error())
        os.Exit(1)
    }

    result := RecognitionResult{}
    if err := jsoniter.Unmarshal(resp.Body(), &result); err != nil {
        fmt.Printf("解析返回结果失败:%s
", err.Error())
        os.Exit(1)
    }

    if result.ErrNo != 0 {
        fmt.Printf("识别失败:%s
", result.ErrMsg)
    } else {
        text := strings.Join(result.Result, "")
        fmt.Printf("识别结果:%s
", text)
    }
}

func getAccessToken() string {
    resp, err := resty.New().R().
        SetQueryParams(map[string]string{
            "grant_type":    "client_credentials",
            "client_id":     APIKey,
            "client_secret": SecretKey,
        }).
        Get(TokenURL)
    if err != nil {
        fmt.Printf("获取百度AI接口Token失败:%s
", err.Error())
        os.Exit(1)
    }

    token := TokenResponse{}
    if err := jsoniter.Unmarshal(resp.Body(), &token); err != nil {
        fmt.Printf("解析Token失败:%s
", err.Error())
        os.Exit(1)
    }

    return token.AccessToken
}
  1. Remplacer les paramètres de configuration
    Dans le code, nous devons le remplacer par notre propre clé API, clé secrète, chemin du fichier audio et identifiant utilisateur. La clé API et la clé secrète peuvent être trouvées dans l'application créée sur la console Baidu AI. Le chemin du fichier audio est le chemin du fichier audio à reconnaître. L'ID utilisateur est une chaîne personnalisée utilisée pour distinguer différents utilisateurs.
  2. Compilez et exécutez le code
    Après avoir fini d'écrire le code, utilisez la commande suivante pour compiler et exécuter :
go build speech_recognition.go
./speech_recognition
  1. Vérification des résultats
    Après avoir exécuté le programme, si tout est normal, vous pourrez voir la reconnaissance résultats sortis par la console. Si la reconnaissance échoue, vérifiez si les paramètres de configuration sont corrects et si le fichier audio existe.

Résumé : Cet article explique comment utiliser Golang pour se connecter facilement à l'interface Baidu AI afin d'obtenir une reconnaissance vocale, et fournit des exemples de code correspondants. En maîtrisant cette compétence, les développeurs Golang peuvent utiliser l'interface Baidu AI pour développer des applications de reconnaissance vocale de manière plus flexible et plus pratique. J'espère que cet article pourra fournir de l'aide et de l'inspiration aux développeurs de Golang dans la mise en œuvre des fonctions de reconnaissance vocale.

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