您好,登錄后才能下訂單哦!
這篇文章主要介紹了微信小程序語音識別與合成怎么實現 的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇微信小程序語音識別與合成怎么實現 文章都會有所收獲,下面我們一起來看看吧。
先敘述下原理:
利用微信小程序api,錄音結束后返回mp3文件;
錄音轉換成文件的格式只有兩種:acc mp3,所以網上老api返回的是silk格式的都是過時的。
切記:
微信開發者工具拿到的MP3連接是不可用的,只有在真機上調試返回的是本地文件的路徑,這個路徑指向錄音的mp3文件,是可以用的。
如此輕松的拿到mp3文件了,很簡單吧~
接下來我們將利用百度語音識別合成api:http://ai.baidu.com/docs#/ASR-API/top
這里配置微信小程序錄音api
配置后start的值為:
{ numberOfChannels: 1, sampleRate:16000, format: 'mp3', frameSize: 50 }
這樣錄音后取到的mp3文件是百度語音想要的。
方式一 :是不是要問了百度語音識別不支持mp3格式啊,這就是java后臺的事了,網上java mp3轉pcm格式的博客數不勝數,讓你的java后臺去看百度語音api獲取token順便將轉換后的pcm格式給轉換成文字傳給前臺吧。
是不是百度一大堆的配置和前端沒有關系了~
松了一口氣~好強的前端當然可以拿到后臺傳輸過來的pcm文件地址再去調百度api。
選擇方式一跳過方式二,直接看再續。
方式二 :如果前端要去做的話,請看api詳解
再續: 這樣錄音后的mp3文件就被轉換成了文字。如果想要語音播放的功能,請繼續往下看~很簡單
微信小程序api:
wx.createInnerAudioContext()
看參數;
這里要的是src即是MP3的鏈接啊,我只拿到后臺穿過來的文字啊。
對,百度語音合成API,不去百度官網看了,太簡單了,奉上:
https://tsn.baidu.com/text2audio?tok=xxxx&cuid=867905025778863&ctp=1&spd=6&lan=zh&tex=xxxx; tok:百度語音token, (獲取請看額外篇) text:你想要播報的文字。 這是一個完整的mp3鏈接,調用微信小程序api可直接播放。 額外:百度token的獲取;
/*百度語音合成獲取token*/ export let getBaiDuToken=()=>{ return new Promise((resolve)=>{ wx.request({ url: 'https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=xxxxxxxx&client_secret=xxxxxxxxxx', method:'GET', success: function(r){ resolve(r); }, fail(res){ wx.showToast({ title:"百度語音合成獲取token接口錯誤", icon:'none' }); } }) }); };
這里的client_id和client_secret是注冊百度語音識別平臺在控制臺中創建應用獲取的。
關于“微信小程序語音識別與合成怎么實現 ”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“微信小程序語音識別與合成怎么實現 ”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。