lookat 发表于 2023-8-14 04:52

百度智能云的语音识别问题

using Baidu.Aip.Speech;
using Newtonsoft.Json.Linq;
using System.IO;
using NAudio.Wave;
using System;
using Newtonsoft.Json;
using System.Text.Json.Nodes;
using System.Collections.Generic;

namespace speechVolume
{
    public partial class Form1 : Form
    {
      private static string fileName = "volume";
      private static string fileType = "wav";
      private static string wavName = "001." + fileType;
      private static string path = Application.StartupPath;
      private static string path1 = path + fileName;
      private static string path2 = path1 + "\\";
      private static string filePath = path2 + wavName;
      private static NAudioTool nt = new NAudioTool();



      public Form1()
      {
            InitializeComponent();
            initialize();
      }

      public void initialize()
      {
            // 创建本地录音文件
            textBox1.Text = filePath;
            if (!Directory.Exists(path1))
            {
                Directory.CreateDirectory(path1);
            }
            if (!File.Exists(filePath))
            {
                File.Create(filePath).Close();
            }
            // 音频地址
            nt.setSavePath(filePath);
      }

      private void button1_Click(object sender, EventArgs e)
      {
            if (button1.Text.Equals("开"))
            {
                button1.Text = "关";
                nt.StartRecordAudio();
            }
            else
            {
                button1.Text = "开";
                nt.StopRecordAudio();
            }

      }


      public void readWav()
      {
            // 设置APPID/AK/SK
            string APP_ID = "37429179";
            string API_KEY = "Pvg5bSGwkY3ef5Uuo61PpE7c";
            string SECRET_KEY = "dg956md7g4d1nH55Wvs5XA664f9McxV8";
            // 语音识别最长60秒
            Asr asr = new Asr(APP_ID, API_KEY, SECRET_KEY) { Timeout = 60000 };
            // 录音数据
            byte[] data = File.ReadAllBytes(filePath);
            // 额外参数
            Dictionary<string, object> options = new Dictionary<string, object>
             {
                {"dev_pid", 1537}//语音模型1537普通话
             };
            //数据上传,wav格式,16000码率,额外数据
            JObject result = asr.RecognizePro(data, "wav", 16000, 1537, options);

            Console.Write(result);
            this.textBox3.Text = result.ToString();
      }

      private void button2_Click(object sender, EventArgs e)
      {
            readWav();
      }
    }
}


实在是不知道到底改什么了,一直报错: "err_msg": "110: Access token invalid or no longer valid"

rwj1990 发表于 2023-8-14 07:45

这不是令牌错误了

wanghuisenior 发表于 2023-8-14 09:41

你把appid   secret全放出来。。。      心大

helh0275 发表于 2023-8-14 10:14

把APP ID和KEY都删了,再问嘛{:301_978:}

lookat 发表于 2023-8-14 17:37

rwj1990 发表于 2023-8-14 07:45
这不是令牌错误了

在线验证的时候token 能正常获取,但是一识别文字就报错

lookat 发表于 2023-8-14 17:38

wanghuisenior 发表于 2023-8-14 09:41
你把appid   secret全放出来。。。      心大

这个没事可以随意更新,为了详细一点嘛

lookat 发表于 2023-8-14 17:39

helh0275 发表于 2023-8-14 10:14
把APP ID和KEY都删了,再问嘛

没事没事可以更新的

lookat 发表于 2023-8-14 17:43

eclipsa 发表于 2023-8-14 07:51
你没给token吧
官方文档
https://cloud.baidu.com/doc/SPEECH/s/Jlbxdezuf,语言识别部分,上传以及返回 ...

token也获取到了,在线验证时从页面返回数值里复制到验证窗口依然报错

lookat 发表于 2023-8-14 17:44

eclipsa 发表于 2023-8-14 07:51
你没给token吧
官方文档
https://cloud.baidu.com/doc/SPEECH/s/Jlbxdezuf,语言识别部分,上传以及返回 ...

捕获异常里显示了一条意思是超出4096的错误,但怎么可能这么大,就没找到别的了

lookat 发表于 2023-8-14 17:59

    "refresh_token": "25.bf2cb11afb4203*************************************8",
    "expires_in": 2592000,
    "session_key": "9mzdCrylRGpSNuE7dMgHtqLC*****************************************",
    "access_token": "24.18a5827aecfa*******************************",
    "scope": "brain_asr_async au************************",
    "session_secret": "1aca*******************"

页: [1] 2
查看完整版本: 百度智能云的语音识别问题