第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

recorder.js 到節(jié)點(diǎn)以進(jìn)行 azure 說(shuō)話人識(shí)別

recorder.js 到節(jié)點(diǎn)以進(jìn)行 azure 說(shuō)話人識(shí)別

白衣非少年 2022-05-22 16:06:30
我有一個(gè)瀏覽器應(yīng)用程序,它通過(guò)麥克風(fēng)記錄用戶的聲音并使用 recorder.js 導(dǎo)出到 WAV 文件。我認(rèn)為將其轉(zhuǎn)換為數(shù)據(jù) url 并將其發(fā)布到節(jié)點(diǎn)。然后我嘗試將音頻發(fā)送到 Microsoft Azure Speaker Recognition API,但我總是得到“無(wú)效的音頻格式:不是 WAVE 文件 - 沒有 RIFF 標(biāo)頭”。有沒有辦法添加 RIFF 標(biāo)頭,或者是否有關(guān)于 recorder.js 或轉(zhuǎn)換到 base64 和從刪除這些標(biāo)頭的 base64 的內(nèi)容?有沒有辦法重新添加它們?代碼:INDEX.HTMLrec.exportWAV(function (blob) {    var reader = new window.FileReader();    reader.readAsDataURL(blob);    reader.onloadend = function () {        base64 = reader.result;        console.log(base64)        $.ajax({            type: "POST",            url: '/addVoiceToProfile',            data: { userId: '', voiceId: "XXX-XXX", voice: base64, sampleRate: audioContext.sampleRate / 1000 },            success: function (results) {                console.log(results)            }        })    }})節(jié)點(diǎn)路線:app.post('/addVoiceToProfile', function(req, res){    var voicedata = req.body.voice;    var base64Data = voicedata.replace(/^data:([A-Za-z-+/]+);base64,/, '');    addVoicesToProfile(base64Data, req.body.voiceId).then(function(results){        res.send(results)    })})addVoicesToProfile:function addVoicesToProfile(voice, id, user){    return new Promise(function (resolve, reject) {        var url = AzureParameters.endPoint+"/spid/v1.0/verificationProfiles/"+id+"/enroll";        request({            url:url,            headers:{'Content-Type':'audio/wave', 'Ocp-Apim-Subscription-Key':AzureParameters.key},            body: Buffer.from(voice, 'base64').toString('binary'),            method: "POST",            json: true        }, function(err, response, body){            if(err) return reject(err);            return resolve(body)        })    })}
查看完整描述

1 回答

?
qq_花開花謝_0

TA貢獻(xiàn)1835條經(jīng)驗(yàn) 獲得超7個(gè)贊

似乎問(wèn)題實(shí)際上是發(fā)送文件的方式。我不知道如果它在帖子正文中作為 wav 發(fā)送,而不是作為帖子中的數(shù)據(jù)發(fā)送,它為什么會(huì)起作用,但如果它對(duì)將來(lái)的任何人有幫助,這是我的工作代碼:


html:


我將此答案用于html。它包括 wav 的編碼。正如答案所示,我所做的唯一更改是發(fā)布到我的服務(wù)器,而不是直接發(fā)布到 MS Azure 服務(wù)。


節(jié)點(diǎn)路由:


這花了我一段時(shí)間,因?yàn)槲覠o(wú)法讓節(jié)點(diǎn)看到我正在發(fā)送的文件。此外,我正在使用 bodyParser,因此在我看到它之前,原始請(qǐng)求的原始正文被擺弄了。這是我發(fā)布請(qǐng)求的路線:


  app.post('/uploadAudio', function (req, res, next) {

    var data = new Buffer('');

    req.on('data', function (chunk) {

        data = Buffer.concat([data, chunk]);

    });

    req.on('end', function () {

        req.rawBody = data;

        next();

    });

  }, function (req, res) {

    addVoicesToProfile(req.rawBody)

  })

我希望這對(duì)某人有所幫助,因?yàn)檫@兩個(gè)部分都花了我太長(zhǎng)時(shí)間才能解決!


查看完整回答
反對(duì) 回復(fù) 2022-05-22
  • 1 回答
  • 0 關(guān)注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)