1. 程式人生 > >javaMP3轉pcm 百度語音識別

javaMP3轉pcm 百度語音識別

不多說直接貼程式碼

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:\\test2.mp3";
    String path2 = "D:\\test2.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; }
<dependency>
    <groupId>com.googlecode.soundlibs</groupId>
    <artifactId>mp3spi</artifactId>
    <version>1.9.5.4</version>
</dependency>

相關推薦

javaMP3pcm 語音識別

不多說直接貼程式碼import com.baidu.aip.speech.AipSpeech; import javazoom.spi.mpeg.sampled.file.MpegAudioFileReader; import org.json.JSONObject; imp

語音識別】JavaAPI方式語音識別示例 MP3PCM檔案Java實現

【百度語音識別】JavaAPI方式語音識別示例MP3轉PCM Java-API合成語音示例:http://ai.baidu.com/forum/topic/show/496727REST-API文

語音識別API的使用樣例(python實現)

百度給的樣例程式,不論C還是Java版,都分為method1和method2兩種 前者稱為隱式(post的是json串,音訊資料編碼到json裡),後者稱為顯式(post的就是音訊資料) 一開始考慮到python wave包處理的都是“字串”,擔心跟C語言的陣列不一致,所

Qt:使用語音識別REST API,做全平臺語音識別

百度語音開發介紹文件: 使用語音識別,需要在百度申請一個應用,然後拿到API Key和Secret Key,然後才可以使用語音識別 ps:我的示例裡面有放了一組可用的Key,但是僅供各位測試使用,有需要開發App的請自行申請,放在示例中的Key我可能隨時會撤銷。 ps:

Unity整合語音識別和合成--REST API

直接上unity的C#指令碼程式碼 百度語音識別 using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Xml; using

python呼叫語音識別 api

#!/usr/bin/env python # -*- coding: utf-8 -*- #####################################################

語音識別api呼叫 python

最近在處理語音檢索相關的事。 其中用到語音識別,呼叫的是訊飛與百度的api,前者使用js是實現,後者用python3實現(因為自己使用python) 環境: python3.5 centos 7 流程 整個百度語音識別rest api 使用分

語音識別--示例

終於找到能跑通的,copy下~~import requests import json import os import base64 #設定應用資訊 baidu_server = "https://openapi.baidu.com/oauth/2.0/token?"

語音識別REST API使用方法(含C++程式碼)——不需要整合SDK的方法

本文程式碼為C++版,可以用於C環境的應用開發中,下面介紹其中重要的程式碼。 下面程式碼是一個可以使用該方式進行語音識別功能的例項程式碼 #include <stdio.h> #include <stdlib.h> #include "curl

node語音識別

絕對乾貨,直接程式碼詳解 1. 擷取一段音訊檔案(wav) eg:audio.wav 2. 驗證語音識別賬戶 var config_data= { apiKey: "4eymBfpmT4Laaaaaaaa", secretKey: "da

mui 語音識別轉換文字

前言   用mui混合開發的APP,現有一個功能需求就是語音轉換成文字,並把語音進行儲存。對此考慮兩種選擇訊飛和百度。最終選擇了百度語音。 百度語音      通過官方文件我們大致可以確定如果想要實現語音識別,要做到以下幾點: 1.獲取Access Token 2.獲取錄音 REST

在Android Studio下使用語音識別的一個簡單例子

一、引言 利用百度語音識別和百度語音合成可以很方便的設計一個語音互動應用,這裡記錄一下百度線上語音識別的簡單例子以便快速上手。  我所用的語音識別包的版本是Baidu-Voice-SDK-Android-1.6.2.zip,開發平臺用的是Android Studio

Android studio整合語音識別api

          今天 專案中要用到語音功能,所以看了下百度語音api    1,根據百度語音開發文件,建立應用,下載相應的jar包,新增到你的應用     2,清單檔案配置資訊,  

python pyaudio 語音識別api 圖靈api 語音聊天機器人

最近有點頹,還是寫寫python緩解一下(不務正業x idea 之前看到有拆筆記本螢幕做魔鏡的覺得特別神奇,當時記得是要樹莓派來著。現在自己搞搞發現百度的語音識別api還不錯,加上以前註冊的圖靈ai大概也能搞個語音聊天機器人,主要還是筆記本上終於帶了一個

Android開發學習之使用語音識別SDK實現語音識別(上)

        作為移動網際網路殺手級的互動方式,語音識別從問世以來就一直備受人們的關注,從IOS的Siri到國內的訊飛語音,語音識別技術在移動開發領域是最為充滿前景和希望的技術。Android作為一個移動作業系統,其本身就繼承了Google天生的搜尋基因,因此Androi

ROS下語音識別

看到一個好玩的東西,百度的語音識別,大家可以自己DIY一些小東西了。 參考:http://www.rosclub.cn/post-1032.html 1. 前面的下載,安裝都沒問題,故跳過不用理會。 2. 測試 下載之後:CMakeList.t

基於java的語音識別示例

最近一直在搞java,就選擇了java工程。將程式碼拷過去。同時複製檔案“test.pcm”到工程目錄下。就基本上可以了。注:test.pcm是語音檔案,可以用audacity軟體開啟,選擇 檔案->匯入->裸資料。 設定取樣率為8000Hz。點選播放就能聽見聲音

【ROS總結】ROS下的語音識別應用

前言 今天閒來無事檢視下語音識別在ROS中的應用,之前在ROS中玩過一段時間的Pocket Sphinx,關於Pocket Sphinx的學習過程以後會介紹,或者可以去網上搜索一些教程,都是比較不錯

python調用語音識別接口實時識別

bsp 鼠標 -m pyw lan 語音識別 .com 實時 代碼 1、本文直接上幹貨   奉獻代碼:https://github.com/wuzaipei/audio_discern/tree/master/%E8%AF%AD%E9%9F%B3%E8%AF%86%E5%

python調用語音語音識別-鬥地主語音記牌器)

receive idt 本地文件 file post 最終 callback import pri 一、概述 本篇簡要介紹百度語音語音識別的基本使用(其實是鬥地主時想弄個記牌器又沒money,抓包什麽的又不會,只好搞語音識別的了) 二、創建應用 打開百度語