精华内容
下载资源
问答
  • 百度语音

    2021-04-25 09:40:57
    百度语音生成 <?php /* 百度语音生成*/ var_dump(voice_generate("你有新订单了,请注意查收"));die; function voice_generate($text,$path="./"){ require_once './AipSpeech.php'; // 你的 APPID AK SK ...

    百度语音生成

    <?php
    /*
    百度语音生成*/
    var_dump(voice_generate("你有新订单了,请注意查收"));die;
    
    
    function voice_generate($text,$path="./"){
     
         require_once  './AipSpeech.php';
        // 你的 APPID AK SK
        $APP_ID = '**';
        $API_KEY = '**';
        $SECRET_KEY = '**';
        
        /*spd	String	语速,取值0-9,默认为5中语速	否
    pit	String	音调,取值0-9,默认为5中语调	否
    vol	String	音量,取值0-15,默认为5中音量	否
    per	String	发音人选择, 0为女声,1为男声,
    3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女*/
        $client = new AipSpeech($APP_ID,$API_KEY, $SECRET_KEY);
        $result = $client->synthesis($text, 'zh', 1, array(
            'vol' => 15,
            'spd' => 5,
            'pit' => 5,
            'per' => 0,
        ));
        // var_dump( $result);die;
        // 识别正确返回语音二进制 错误则返回json 参照下面错误码
        $time=time();
        if(!is_array($result)){
            file_put_contents($path.$time.'.mp3', $result);
        }
         return $path.$time.'.mp3';
    }
    

    语音识别

    <?php
       require_once 'AipSpeech.php';
    
        // 你的 APPID AK SK
        const APP_ID = '18292366';
        const API_KEY = 'WpNg4xVzYVobpVexcqDFGw25';
        const SECRET_KEY = 'ryQHjupKjxY1ssIu1MiOBbpjIG39qb1x';
        
        $client = new AipSpeech(APP_ID, API_KEY, SECRET_KEY);
        $cz=$client->asr(file_get_contents('audio1.wav'), 'wav', 16000, array('dev_pid' => 1536,));
        var_dump($cz,1);die;
    
    展开全文
  • 百度语音对上传的语音要求目前必须是单声道,16K采样率,采样深度可以是16位或者8位的PCM编码。其他编码输出的语音识别不出来。 语音的处理技巧: 录制为MP3的语音(通常采样率为44100),要分两步才能正确处理。第...
  • 只好改用百度语音百度语音所有功能免费,功能也比较简单实用,包括语音识别,语音合成和语音唤醒,正好可以组成一套完整的语音交互功能。 效果图: 首先是语音唤醒功能,说出关键词即可叫语音识别,唤醒成功会有...
  • 百度语音实战

    2019-02-26 15:43:06
    Java 语音聊天机器人(百度语音API)(当前预置问答,可用图灵机器人框架扩展): https://blog.csdn.net/haoranhaoshi/article/details/87888469 (依赖前三篇博客代码) --------------------- 作者:浩然浩世 ...
  • 百度语音识别和生成百度语音识别和生成百度语音识别和生成.zip
  • 百度语音识别注册流程

    千次阅读 2020-08-01 11:24:04
    访问网址 ... 跳转至如下页面—>... ... 登录后跳转至如下页面 ...应用描述:开发语音识别基础服务,需要百度大厂的支持,谢谢 点击应用详情 点击显示 将红框标注的地方,复制出来 将红框圈住的地方和个人信息填写

    访问网址

    https://ai.baidu.com/tech/speech/aasr

    点击页面上的立即使用

    image.png

    跳转至如下页面—>有账号的直接登录,没有账号的点立即注册

    image.png

    点击立即注册后会跳转至以下页面

    image.png

    登录后跳转至如下页面

    image.png

    若提交过后出现如下情况,可点击回到首页

    image.png

    第一次注册,点击回到首页会出现如下弹窗,点击同意

    image.png

    点击创建应用

    image.png

    应用名称:语音识别

    应用描述:开发语音识别基础服务,需要百度大厂的支持,谢谢

    image.png

    点击应用详情

    image.png

    点击显示

    image.png

    将红框标注的地方,复制出来

    image.png

    将红框圈住的地方和个人信息填写到调查问卷中

    https://wj.qq.com/s2/6295174/5c91/

    展开全文
  • 百度语音合成官方文档: 百度语音识别官方文档: 本文项目源码下载: 第一步 注册百度账号 以及 创建创建应用 读者请自行注册,以及创建应用 并在创建应用过程中加入接口选择。创建完成后,可得到AppID,API Key,...
  • 视频介绍 百度语音技术,识别率97% 永久免费的语音转字幕 支持中文,英文,粤语 网站地址: http://thinktothings.com:8888 视频介绍 https://www.bilibili.com/video/av42750807/ ...

    百度语音技术永久免费的语音自动转字幕介绍

    在这里插入图片描述

    展开全文
  • html5录音+百度语音实现语音识别

    万次阅读 多人点赞 2017-10-07 22:09:36
    首先,语音识别技术已经不是什么新鲜的词汇了,各大公司也提供了自己的语音识别API,据说百度、讯飞等...没办法只能使用百度的语音识别,百度语音识别,需要提供音频文件,格式为pcm、wav 、avr。所以需要做一个ht...

    首先,语音识别技术已经不是什么新鲜的词汇了,各大公司也提供了自己的语音识别API,据说百度、讯飞等公司的识别率已经达到99%。

    最近我也想给网站加上一个语音识别功能,用于搜索词汇。我首选的是讯飞,毕竟人家是专业做语音的,但关于html5的SDK讯飞已经下架,无法使用人家现成的接口。

    没办法只能使用百度的语音识别,百度语音识别,需要提供音频文件,格式为pcm、wav 、avr。所以需要做一个html5的录音功能,我辗转各个网站,浏览了三天的信息,入了无数个坑,也发现了现在的html5录音基本上使用的是recorder.js,通过配合html5的audio标签来实现的。但网上挂着的那些录音代码十个有九个不能用,特别坑。现在网上的html5录音格式基本上都是mp3的,我又费了一点劲调成了wav格式的。

    现在步入正题哈

    1.首先建一个html,代码如下:

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
    </head>
    <body>
        <div>
            <audio controls autoplay></audio>
            <input οnclick="startRecording()" type="button" value="录音" />
            <input οnclick="stopRecording()" type="button" value="停止" />
            <input οnclick="playRecording()" type="button" value="播放" />
            <input οnclick="uploadAudio()" type="button" value="提交" />
        </div>

        <script type="text/javascript" src="HZRecorder.js"></script>

        <script>
            var recorder;
            var audio = document.querySelector('audio');
            function startRecording() {
                HZRecorder.get(function (rec) {
                    recorder = rec;
                    recorder.start();
                });
            }
            function stopRecording() {
                recorder.stop();
            }
            function playRecording() {
                recorder.play(audio);
            }
            function uploadAudio() {
                recorder.upload("UploadVideoServlet.do", function (state, e) {
                    switch (state) {
                        case 'uploading':
                            //var percentComplete = Math.round(e.loaded * 100 / e.total) + '%';
                            break;
                        case 'ok':
                            //alert(e.target.responseText);
                            //alert("上传成功");
                            window.location.href="VideoSearchServlet.do";
                            break;
                        case 'error':
                            alert("上传失败");
                            break;
                        case 'cancel':
                            alert("上传被取消");
                            break;
                    }
                });
            }

        </script>
    </body>
    </html>

    2.再建一个HZRecorder.js

    (function (window) {
        //兼容
        window.URL = window.URL || window.webkitURL;
        navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;


        var HZRecorder = function (stream, config) {
            config = config || {};
            config.sampleBits = config.sampleBits || 16;      //采样数位 8, 16
            config.sampleRate = config.sampleRate || (8000);   //采样率(1/6 44100)


            var context = new AudioContext();
            var audioInput = context.createMediaStreamSource(stream);
            var recorder = context.createScriptProcessor(4096, 1, 1);


            var audioData = {
                size: 0          //录音文件长度
                , buffer: []     //录音缓存
                , inputSampleRate: context.sampleRate    //输入采样率
                , inputSampleBits: 16       //输入采样数位 8, 16
                , outputSampleRate: config.sampleRate    //输出采样率
                , oututSampleBits: config.sampleBits       //输出采样数位 8, 16
                , input: function (data) {
                    this.buffer.push(new Float32Array(data));
                    this.size += data.length;
                }
                , compress: function () { //合并压缩
                    //合并
                    var data = new Float32Array(this.size);
                    var offset = 0;
                    for (var i = 0; i < this.buffer.length; i++) {
                        data.set(this.buffer[i], offset);
                        offset += this.buffer[i].length;
                    }
                    //压缩
                    var compression = parseInt(this.inputSampleRate / this.outputSampleRate);
                    var length = data.length / compression;
                    var result = new Float32Array(length);
                    var index = 0, j = 0;
                    while (index < length) {
                        result[index] = data[j];
                        j += compression;
                        index++;
                    }
                    return result;
                }
                , encodeWAV: function () {
                    var sampleRate = Math.min(this.inputSampleRate, this.outputSampleRate);
                    var sampleBits = Math.min(this.inputSampleBits, this.oututSampleBits);
                    var bytes = this.compress();
                    var dataLength = bytes.length * (sampleBits / 8);
                    var buffer = new ArrayBuffer(44 + dataLength);
                    var data = new DataView(buffer);


                    var channelCount = 1;//单声道
                    var offset = 0;


                    var writeString = function (str) {
                        for (var i = 0; i < str.length; i++) {
                            data.setUint8(offset + i, str.charCodeAt(i));
                        }
                    }
                    
                    // 资源交换文件标识符 
                    writeString('RIFF'); offset += 4;
                    // 下个地址开始到文件尾总字节数,即文件大小-8 
                    data.setUint32(offset, 36 + dataLength, true); offset += 4;
                    // WAV文件标志
                    writeString('WAVE'); offset += 4;
                    // 波形格式标志 
                    writeString('fmt '); offset += 4;
                    // 过滤字节,一般为 0x10 = 16 
                    data.setUint32(offset, 16, true); offset += 4;
                    // 格式类别 (PCM形式采样数据) 
                    data.setUint16(offset, 1, true); offset += 2;
                    // 通道数 
                    data.setUint16(offset, channelCount, true); offset += 2;
                    // 采样率,每秒样本数,表示每个通道的播放速度 
                    data.setUint32(offset, sampleRate, true); offset += 4;
                    // 波形数据传输率 (每秒平均字节数) 单声道×每秒数据位数×每样本数据位/8 
                    data.setUint32(offset, channelCount * sampleRate * (sampleBits / 8), true); offset += 4;
                    // 快数据调整数 采样一次占用字节数 单声道×每样本的数据位数/8 
                    data.setUint16(offset, channelCount * (sampleBits / 8), true); offset += 2;
                    // 每样本数据位数 
                    data.setUint16(offset, sampleBits, true); offset += 2;
                    // 数据标识符 
                    writeString('data'); offset += 4;
                    // 采样数据总数,即数据总大小-44 
                    data.setUint32(offset, dataLength, true); offset += 4;
                    // 写入采样数据 
                    if (sampleBits === 8) {
                        for (var i = 0; i < bytes.length; i++, offset++) {
                            var s = Math.max(-1, Math.min(1, bytes[i]));
                            var val = s < 0 ? s * 0x8000 : s * 0x7FFF;
                            val = parseInt(255 / (65535 / (val + 32768)));
                            data.setInt8(offset, val, true);
                        }
                    } else {
                        for (var i = 0; i < bytes.length; i++, offset += 2) {
                            var s = Math.max(-1, Math.min(1, bytes[i]));
                            data.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7FFF, true);
                        }
                    }


                    return new Blob([data], { type: 'audio/wav' });
                }
            };


            //开始录音
            this.start = function () {
                audioInput.connect(recorder);
                recorder.connect(context.destination);
            }


            //停止
            this.stop = function () {
                recorder.disconnect();
            }


            //获取音频文件
            this.getBlob = function () {
                this.stop();
                return audioData.encodeWAV();
            }


            //回放
            this.play = function (audio) {
                audio.src = window.URL.createObjectURL(this.getBlob());
            }


            //上传
            this.upload = function (url, callback) {
                var fd = new FormData();
                fd.append("audioData", this.getBlob());
                var xhr = new XMLHttpRequest();
                if (callback) {
                    xhr.upload.addEventListener("progress", function (e) {
                        callback('uploading', e);
                    }, false);
                    xhr.addEventListener("load", function (e) {
                        callback('ok', e);
                    }, false);
                    xhr.addEventListener("error", function (e) {
                        callback('error', e);
                    }, false);
                    xhr.addEventListener("abort", function (e) {
                        callback('cancel', e);
                    }, false);
                }
                xhr.open("POST", url);
                xhr.send(fd);
            }


            //音频采集
            recorder.onaudioprocess = function (e) {
                audioData.input(e.inputBuffer.getChannelData(0));
                //record(e.inputBuffer.getChannelData(0));
            }


        };
        //抛出异常
        HZRecorder.throwError = function (message) {
            alert(message);
            throw new function () { this.toString = function () { return message; } }
        }
        //是否支持录音
        HZRecorder.canRecording = (navigator.getUserMedia != null);
        //获取录音机
        HZRecorder.get = function (callback, config) {
            if (callback) {
                if (navigator.getUserMedia) {
                    navigator.getUserMedia(
                        { audio: true } //只启用音频
                        , function (stream) {
                            var rec = new HZRecorder(stream, config);
                            callback(rec);
                        }
                        , function (error) {
                            switch (error.code || error.name) {
                                case 'PERMISSION_DENIED':
                                case 'PermissionDeniedError':
                                    HZRecorder.throwError('用户拒绝提供信息。');
                                    break;
                                case 'NOT_SUPPORTED_ERROR':
                                case 'NotSupportedError':
                                    HZRecorder.throwError('浏览器不支持硬件设备。');
                                    break;
                                case 'MANDATORY_UNSATISFIED_ERROR':
                                case 'MandatoryUnsatisfiedError':
                                    HZRecorder.throwError('无法发现指定的硬件设备。');
                                    break;
                                default:
                                    HZRecorder.throwError('无法打开麦克风。异常信息:' + (error.code || error.name));
                                    break;
                            }
                        });
                } else {
                    HZRecorder.throwErr('当前浏览器不支持录音功能。'); return;
                }
            }
        }


        window.HZRecorder = HZRecorder;


    })(window);

     

    现在前台的代码就到这里了。

     

    3.下面进行Servlet处理

    我先说一下,这是在Tomcat服务器中运行的。

    下面的这个Servlet:UploadVideoServlet.do是将音频文件保存到服务器端的。

    代码如下:

    package com.hanfeng.servlet;

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.PrintWriter;
    import java.util.ArrayList;
    import java.util.List;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import javax.sound.sampled.AudioInputStream;
    import javax.sound.sampled.AudioSystem;
    import javax.sound.sampled.Clip;


    import java.io.IOException;
    import javax.servlet.annotation.WebServlet;
    import org.apache.commons.fileupload.FileItem;
    import org.apache.commons.fileupload.disk.DiskFileItemFactory;
    import org.apache.commons.fileupload.servlet.ServletFileUpload;


    import com.hanfeng.dao.Music;
    import com.hanfeng.dao.Regist;
    import com.hanfeng.service.MusicService;
    import com.hanfeng.service.RegistService;


    public class UploadVideoServlet extends HttpServlet {


    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {


    }


    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    MusicService musicService = new MusicService();
    HttpSession  hs = request.getSession();
    String userName = (String) hs.getAttribute("username");
    // 得到上传文件的保存目录,将上传的文件存放于WEB-INF目录下,不允许外界直接访问,保证上传文件的安全
    String savePath = "D:/java web/apache-tomcat-9.0.0.M17/webapps/pcm";

    File file = new File(savePath);
    // 判断上传文件的保存目录是否存在
    if (!file.exists() && !file.isDirectory()) {
    System.out.println(savePath + "目录不存在,需要创建");
    // 创建目录
    file.mkdir();
    }
    // 消息提示
    String message = "";
    try {
    String filename = null;
    // 使用Apache文件上传组件处理文件上传步骤:
    // 1、创建一个DiskFileItemFactory工厂
    DiskFileItemFactory factory = new DiskFileItemFactory();
    // 2、创建一个文件上传解析器
    ServletFileUpload upload = new ServletFileUpload(factory);
    // 解决上传文件名的中文乱码
    upload.setHeaderEncoding("UTF-8");
    // 3、判断提交上来的数据是否是上传表单的数据
    if (!ServletFileUpload.isMultipartContent(request)) {
    // 按照传统方式获取数据
    return;
    }
    // 4、使用ServletFileUpload解析器解析上传数据,解析结果返回的是一个List<FileItem>集合,每一个FileItem对应一个Form表单的输入项
    List<FileItem> list = upload.parseRequest(request);


    //System.out.println(list.get(0));
    String[] value = new String[5]; 
    int i=0;
    for (FileItem item : list) {
    // 如果fileitem中封装的是普通输入项的数据
    if (item.isFormField()) {
    // System.out.println("歌曲名"+item.getString("musicName")+"类别"+item.getString("musicType"));
    String name = item.getFieldName();
    // 解决普通输入项的数据的中文乱码问题
    value[i++] = item.getString("UTF-8");
    // value = new String(value.getBytes("iso8859-1"),"UTF-8");
    //System.out.println(name + "=" + value);
    } else {// 如果fileitem中封装的是上传文件
    // 得到上传的文件名称,

    filename = "test.wav";
    //item.getName();
    System.out.println(filename);
    if (filename == null || filename.trim().equals("")) {
    continue;
    }
    // 注意:不同的浏览器提交的文件名是不一样的,有些浏览器提交上来的文件名是带有路径的,如:
    // c:\a\b\1.txt,而有些只是单纯的文件名,如:1.txt
    // 处理获取到的上传文件的文件名的路径部分,只保留文件名部分
    filename = filename.substring(filename.lastIndexOf("\\") + 1);
    // 获取item中的上传文件的输入流
    InputStream in = item.getInputStream();
    // 创建一个文件输出流
    FileOutputStream out = new FileOutputStream(savePath + "\\" + filename);
    // 创建一个缓冲区
    byte buffer[] = new byte[1024];
    // 判断输入流中的数据是否已经读完的标识
    int len = 0;
    // 循环将输入流读入到缓冲区当中,(len=in.read(buffer))>0就表示in里面还有数据
    while ((len = in.read(buffer)) > 0) {
    // 使用FileOutputStream输出流将缓冲区的数据写入到指定的目录(savePath + "\\"
    // + filename)当中
    out.write(buffer, 0, len);
    }
    // 关闭输入流
    in.close();
    // 关闭输出流
    out.close();
    // 删除处理文件上传时生成的临时文件
    item.delete();
    message = "文件上传成功!";
    }
    }

    } catch (Exception e) {
    message = "文件上传失败!";
    e.printStackTrace();
    }

    }

    }

    4.下面进入百度语音识别端口的连接,

    首先进入百度语音网站申请端口(都是免费的)http://yuyin.baidu.com/

    (1)点击SDK下载

    (2)选择应用,自己填一下信息,申请一下,很简单的

    (3)选择SDK,画红圈的是百度语音提供的demo,做javaweb用这个足以,就下载那个就行。

    选择java,导入到自己的工程中。

    (4)上述的都弄好了之后,进入应用管理,获取自己的key

     

    5.下面进行百度语音识别API连接

    建一个java文件

    package com.baidu.speech.serviceapi;


    import java.io.BufferedReader;
    import java.io.DataOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;


    import javax.xml.bind.DatatypeConverter;


    import org.json.JSONObject;


    public class Sample {


        private static final String serverURL = "http://vop.baidu.com/server_api";
        private static String token = "";
        private static final String testFileName = "D:/java web/apache-tomcat-9.0.0.M17/webapps/pcm/test.wav";//需要识别的音频文件
        //put your own params here
        private static final String apiKey = "自己的apiKey";
        private static final String secretKey = "自己的secretKey";
        private static final String cuid = “自己的网卡物理地址";


        public static void main(String[] args) throws Exception {
            getToken();
            method1();
            method2();
        }
        private static void getToken() throws Exception {
            String getTokenURL = "https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials" + 
                "&client_id=" + apiKey + "&client_secret=" + secretKey;
            HttpURLConnection conn = (HttpURLConnection) new URL(getTokenURL).openConnection();
            token = new JSONObject(printResponse(conn)).getString("access_token");
        }


        private static void method1() throws Exception {
            File wavFile = new File(testFileName);
            HttpURLConnection conn = (HttpURLConnection) new URL(serverURL).openConnection();


            // construct params
            JSONObject params = new JSONObject();
            params.put("format", "wav");
            params.put("rate", 16000);
            params.put("channel", "1");
            params.put("token", token);
            params.put("cuid", cuid);
            params.put("lan", "zh");
            params.put("len", wavFile.length());
            params.put("speech", DatatypeConverter.printBase64Binary(loadFile(wavFile)));


            // add request header
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-Type", "application/json; charset=utf-8");


            conn.setDoInput(true);
            conn.setDoOutput(true);


            // send request
            DataOutputStream wr = new DataOutputStream(conn.getOutputStream());
            wr.writeBytes(params.toString());
            wr.flush();
            wr.close();


            printResponse(conn);
        }


        private static void method2() throws Exception {
            File wavFile = new File(testFileName);
            HttpURLConnection conn = (HttpURLConnection) new URL(serverURL
                    + "?cuid=" + cuid + "&token=" + token).openConnection();


            // add request header
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-Type", "audio/wav; rate=16000");


            conn.setDoInput(true);
            conn.setDoOutput(true);


            // send request
            DataOutputStream wr = new DataOutputStream(conn.getOutputStream());
            wr.write(loadFile(wavFile));
            wr.flush();
            wr.close();


            printResponse(conn);
        }


        private static String printResponse(HttpURLConnection conn) throws Exception {
            if (conn.getResponseCode() != 200) {
                // request error
                return "";
            }
            InputStream is = conn.getInputStream();
            BufferedReader rd = new BufferedReader(new InputStreamReader(is));
            String line;
            StringBuffer response = new StringBuffer();
            while ((line = rd.readLine()) != null) {
                response.append(line);
                response.append('\r');
            }
            rd.close();
            System.out.println(new JSONObject(response.toString()).toString(4));
            //System.out.println(response.toString());
            return response.toString();
        }


        private static byte[] loadFile(File file) throws IOException {
            InputStream is = new FileInputStream(file);


            long length = file.length();
            byte[] bytes = new byte[(int) length];


            int offset = 0;
            int numRead = 0;
            while (offset < bytes.length
                    && (numRead = is.read(bytes, offset, bytes.length - offset)) >= 0) {
                offset += numRead;
            }


            if (offset < bytes.length) {
                is.close();
                throw new IOException("Could not completely read file " + file.getName());
            }


            is.close();
            return bytes;
        }
        public static String getChinese(String paramValue) {
        String regex = "([\u4e00-\u9fa5]+)";
        String str = "";
        Matcher matcher = Pattern.compile(regex).matcher(paramValue);
        while (matcher.find()) {
        str+= matcher.group(0);
        }
        return str;
        }
    }

     

     

    好了做完上述操作基本上语音识别就实现了,自己可以先打开html的录音录好后,运行java程序,就可以查看语音识别结果了。

    当然你也可以将main方法去掉,将代码放入到一个Servlet中,将识别结果return出来,可以用ajaxj将结果回调获取,传值到搜索的页面,获得搜索结果。

    这是我做的Demo,有需要的可以自行下载  https://download.csdn.net/download/qq_33609401/10847695

    好的,就这些了,希望能帮助到需要语音识别的你们。

    如果有不懂的地方可以留言,谢谢。

    展开全文
  • 本文实例为大家分享了python调用百度语音REST API的具体代码,供大家参考,具体内容如下 (百度的rest接口的部分网址发生了一定的变化,相关代码已更新) 百度通过 REST API 的方式给开发者提供一个通用的 HTTP ...
  • 本文实例为大家分享了python版百度语音识别功能的具体代码,供大家参考,具体内容如下 环境:使用的IDE是Pycharm 1.新建工程 2.配置百度语音识别环境 “File”——“Settings”打开设置面板,“Project”标签下添加...
  • 使用百度语音接口,仿微信语音输入。 使用注意 使用前请先申请百度开发者平台API_KEY和SECRET_KEY,然后将pch文件中的设置修改为您在百度开发者平台申请的API_KEY和SECRET_KEY #warning 请修改为您在百度开发者...
  • 整个百度语音识别rest api 使用分为三部分: 1 (申请操作)创建应用,获取应用的 API Key 以及 Secret Key。 2 (程序实现)通过已知的 应用的 API Key 以及 Secret Key, 发送post 请求到 ...
  • uni-app使用百度语音识别转文字

    万次阅读 2020-04-09 16:58:26
    1. 准备 注册登录百度AI开放平台(http://ai.baidu.com/)
  • 国内在业内比较有名的第三方语音合成平台有百度语音和科大讯飞。 本文集成的是百度语音合成,其主要特点是: 完全永久免费 业界首创完全永久免费新形式,为开发者提供最流畅最自然的语音合成服务。完全免费,永久...
  • 本文使用百度语音识别,完成语音识别的功能,使用百度语音识别,先要申请APP ID,这个直接到百度网站上有说明文档,本文不再赘述。申请之后,下载SDK包,按照百度官网要求,合并libs和res两个目录到项目中,然后在...
  • <?... $mp3 = "data:audio/x-mpeg;base64,//MoxAAMSL7BX00QAuAC3LGANDTzMTBmUu6ZJgegnCmroIGZ/QjkVOQAAxZf8QH+Z6H/yHKe7IAg4o7/5Moq/JhBGg1EcbrG//MoxAkOgWLQAY1oAIgoFARwWKQ7DNRTB/caSnOObXnp1o+HVGc+qPtFpghT6...
  • 本文实例为大家分享了python实现百度语音识别的具体代码,供大家参考,具体内容如下 详细百度语音识别api文档 先下载python用SDK,可以用python setup.py install安装 # 引入Speech SDK from aip import AipSpeech ...
  • :是对百度语音SDK封装,百度号称永久免费 :AIUI网络测试工具-折线图动态测试可持续观测 共同特点:实现了全双工语音识别iat、合成tts、和语义nlp部分接口的封装,经过稳定测试,通过简洁的调用方式来满足开发需求。...
  • 需要更改的地方是最上面的那一排排路径,还有就是需要自己在百度注册appId, apiKey ...#import snowboydetect 这里是语音唤醒需要的代码 from aip import AipSpeech #import tuling 图灵机器人,现在要钱了 import ...
  • 使用 Python 和百度语音识别生成视频字幕

    万次阅读 多人点赞 2020-01-19 14:43:24
    文章目录从视频中提取音频根据静音对音频分段使用百度语音识别获取 Access Token使用 Raw 数据进行合成生成字幕总结 从视频中提取音频 安装 moviepy pip install moviepy 相关代码: audio_file = work_path + '\\...
  • esp8266百度语音在线识别全功能版开发板功能 1,WEB配网,开发板产生clock_mac的wifi热点,手机或者电脑连接该热点后,在浏览器中访问192.168.4.1进入wifi配网页面配网连网wifi。 2,百度语音在线识别任意语音 3,...
  • 百度语音接口 nodejs,express fluent-ffmegp 环境 windows 10 vs code 1.20.1 微信小程序开发工具 1.02.1802270 花生壳-提供域名和内容穿透-用于方便本地远程调试微信小程序 微信小程序 考虑到业务并不复杂,所以就将...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,310
精华内容 2,124
关键字:

百度语音