资讯专栏INFORMATION COLUMN

javaMP3转pcm 百度语音识别

afishhhhh / 3030人阅读

摘要:不多说直接贴代码获取文件的音频流,的格式将音频转化为的格式保存下来代码忘记借鉴了哪位大神的不好意思好像是综合了部分代码下面的是依赖小程序录音格式上传服务器转化为格式后通过百度语音识别结果

不多说直接贴代码

import com.baidu.aip.speech.AipSpeech;
import javazoom.spi.mpeg.sampled.file.MpegAudioFileReader;
import org.json.JSONObject;
import java.util.*;
import javax.sound.sampled.AudioFileFormat;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
public static final String APP_ID = "";
public static final String API_KEY = "";
public static final String SECRET_KEY = "";

public void test() throws Exception {
    AipSpeech client = new AipSpeech(APP_ID, API_KEY, SECRET_KEY);
    String path = "D:	est2.mp3";
    String path2 = "D:	est2.pcm";
    convertMP32Pcm(path, path2);
    JSONObject asrRes = client.asr(path2, "pcm", 16000, null);
    System.out.println(asrRes);
    System.out.println(asrRes.get("result"));
}
public boolean convertMP32Pcm(String mp3filepath, String pcmfilepath){
    try {
        //获取文件的音频流,pcm的格式
        AudioInputStream audioInputStream = getPcmAudioInputStream(mp3filepath);
        //将音频转化为  pcm的格式保存下来
        AudioSystem.write(audioInputStream, AudioFileFormat.Type.WAVE, new File(pcmfilepath));
        return true;
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return false;
    }
}
private static AudioInputStream getPcmAudioInputStream(String mp3filepath) {
    File mp3 = new File(mp3filepath);
    AudioInputStream audioInputStream = null;
    AudioFormat targetFormat = null;
    try {
        AudioInputStream in = null;
        MpegAudioFileReader mp = new MpegAudioFileReader();
        in = mp.getAudioInputStream(mp3);
        AudioFormat baseFormat = in.getFormat();
        targetFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, baseFormat.getSampleRate(), 16,
                baseFormat.getChannels(), baseFormat.getChannels()*2, baseFormat.getSampleRate(), false);
        audioInputStream = AudioSystem.getAudioInputStream(targetFormat, in);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return audioInputStream;
}

代码忘记借鉴了哪位大神的 不好意思 好像是综合了部分代码
下面的是依赖


    com.googlecode.soundlibs
    mp3spi
    1.9.5.4

http://mvnrepository.com/arti...
小程序录音MP3格式上传服务器 转化为pcm格式后通过百度语音识别结果

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/68574.html

相关文章

  • 技术文:微信小程序如何实现语音搜索

    摘要:直接调用微信小程序录音接口,然后上传到服务器,百度语音接口是识别不了这种格式的文件,那么问题来了如何转码如何在中使用本文将要解决这两个问题。程序俱乐部是一个专注微信小程序学习交流,相关外包招聘需求信息发布的微信公众号。 直接调用微信小程序录音接口,然后上传到服务器,百度语音接口是识别不了这种格式的文件,那么问题来了 如何转码? ffmpeg? 如何在PHP中使用? 本文将要解决这两...

    animabear 评论0 收藏0
  • 小程序实现语音识别到底要填多少坑?

    摘要:前不久写了个工具型微信小程序周边,里面用到了语音识别技术。当然如果你要兼容低端微信用户需要使用做兼容处理。如果发现不当之处欢迎微信交流。想看实际案例的可以微信扫码关于安装关于安装关于安装 前不久写了个工具型微信小程序(Find周边),里面用到了语音识别技术。现将实现细节整理如下: 接口预览 通过阅读了解科大讯飞接口文档、小程序接口开发文档以及对后端ThinkPhp框架的学习,我整理...

    Benedict Evans 评论0 收藏0
  • 小程序实现语音识别到底要填多少坑?

    摘要:前不久写了个工具型微信小程序周边,里面用到了语音识别技术。当然如果你要兼容低端微信用户需要使用做兼容处理。如果发现不当之处欢迎微信交流。想看实际案例的可以微信扫码关于安装关于安装关于安装 前不久写了个工具型微信小程序(Find周边),里面用到了语音识别技术。现将实现细节整理如下: 接口预览 通过阅读了解科大讯飞接口文档、小程序接口开发文档以及对后端ThinkPhp框架的学习,我整理...

    gaara 评论0 收藏0
  • JAVA 百度语音识别

    摘要:贴上百度的技术文档地址其实这里说的已经很清楚了不知道为什么第一次按照这里来的时候没有试验成功然后就自己坑自己了翻了别人年前的技术博客直接贴下自己的测试代码采样率文件样例下载自己百度账号进去创建个应用就有了贴下运行结果还有很多功能没有深入这 贴上百度的技术文档地址https://ai.baidu.com/docs#/AS...其实这里说的已经很清楚了 不知道为什么第一次按照这里来的时候没...

    phoenixsky 评论0 收藏0
  • 微信小程序--------语音识别(前端自己也能玩)

    摘要:一背景作为一名前端同学有时候感觉挺可怜的,复杂的操作都依赖后端同学在服务器端完成。 一、背景 作为一名前端同学有时候感觉挺可怜的,复杂的操作都依赖后端同学在服务器端完成。那么,有一天我们自己想玩一个新技术或者后端同学不搭理我们,怎么办?绝望中..... 二、小程序语音识别 接到这个需求,我们明确两个问题: 小程序录音支持什么格式 由小程序文档可知:只支持 mp3格式和 aac格式微信...

    omgdog 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<