无法从音频缓冲区向s3发送wave

时间:2017-08-24 13:54:15

标签: audio amazon-s3 audiocontext

我通过xmlhttprequest从Ispeech检索文件,然后使用音频上下文对其进行解码!但是当我尝试将文件保存到FS时,它只会生成一个损坏的wav文件!

    var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var fs = require('file-system');
var AWS = require('aws-sdk');
var AudioContext = require('web-audio-api').AudioContext
console.log("audioContext:",AudioContext);
AWS.config.update({
    accessKeyId: 'test',
    secretAccessKey: 'test'
});

(function(){
        //var source = audioContext.createBufferSource();
        var xhr = new XMLHttpRequest();
        xhr.timeout = 2000;
        xhr.onreadystatechange = function(e){
            console.log(this);
            if (xhr.readyState === 4){
                if (xhr.status === 200){
                    // debugger;
                    console.log("data:",xhr.response);
                    //$response.innerHTML = xhr.response;
                    let byteArray= [];
                                        let data = xhr.responseText;
                    for (var i = 0; i < data.length; ++i) {
                        byteArray.push(data.charCodeAt(i) & 0xff)
                          }
                    writeFile("/Users/mac/documents/test.wav",data);

                    audioContext =  new AudioContext();
                    audioContext.decodeAudioData(byteArray, function(buffer) {
                        console.log("decoded data:",buffer);
                        writeFile("/Users/mac/documents/test.wav",buffer._data);
    enter code here
                         //source.buffer = buffer;

                         //source.connect(audioContext.destination);
                         //source.loop = true;
                       });

/*


                } else {
                    console.error("XHR didn't work: ", xhr.status);
                }
            }
        }
        xhr.ontimeout = function (){
            console.error("request timedout: ", xhr);
        }
                xhr.responseType = "arraybuffer";
        xhr.open("get", "http://api.ispeech.org/api/rest?apikey=test&action=convert&text=This+is+the+text+I+want+to+convert&voice=usenglishfemale&format=wav&frequency=8000&Bitdepth=8&speed=-1&startpadding=0&endpadding=0&pitch=100&filename=myaudiofile", /*async*/ true);
        // xhr.responseType = "text";
        xhr.send();
    })();


    var writeFile = function (path, buffer, permission) {
      console.log(buffer.length);
    permission = permission || 438; // 0666
    var fileDescriptor;

    try {
        fileDescriptor = fs.openSync(path, 'w', permission);
    } catch (e) {
        fs.chmodSync(path, permission);
        fileDescriptor = fs.openSync(path, 'w', permission);
    }

    if (fileDescriptor) {
        fs.writeSync(fileDescriptor, buffer, 0, buffer.length, 0);
        fs.closeSync(fileDescriptor);
    }
}

编辑:原始数据如下所示:

RIFFoC\u0000\u0000WAVEfmt \u0010\u0000\u0000\u0000\u0001\u0000\u0001\u0000@\u001f\u0000\u0000@\u001f\u0000\u0000\u0001\u0000\b\u0000dataKC\u0000\u0000�����������������������������������������������������������������������������~~}}}}}}~~�������������~{xutrqqrtvz��������������{uojgb`acfkqx�����������������zvqmhda`_]^`bejqx~������������������|tld^YVTSSUX]ahqz�������������������zskd^YVTSSUX\\ahq{�����������������{rib[UQPNLLMPT[dny�������������������xmbXNFB=84347>IVdr��������������û����|m`TI>61.*&\'+08CRbq��������������ǿ����{l^RG<3/,)&&)/6AQao}�������������������~naUK@71/,))+05>KZhv��������������������~pcWLA82/+))+/6@M[iw��������������ƽ����|nbWLB:40-+,.29BN\\jw��������������Ļ����{nbWMD<7310137>FQ]jw�������������ſ�����|pe\\RJC>:878:>DKT_jw��������������������~sjaXQLFB@@@BEJPW`jt��������������������wof^WRMIGGGHKOUZbir{�������������������xpcabQGGKKLKTWZ`jsz������������������qg]WQMGA;?KMO[flv�������������������ofbWMKHB8DVRZpz��������������������wrhWLG=\'&KMJt����������������������weVH5$\u0015\u0013<GR�����������������������weVI6$\u0015\u0013<GR����������������������~mZB/ \u000b\u0000-IH�������������}���������o[F/\u001b\u0011\u0000\u001aHIq�����ȼ�����~���������q_J2\u001c\u0012\u0000\u0013GFj�����ɾ�����|���������s`M5\u001d\u0016\u0002\u0012HFf�����Ȼ�����}���������sbP7\u001e\u0018\u0003\u0016HEi�����ļ�����~���������qbN1#\u0017\u0002-IFz����ʾ���������������ocH,$\u0011\f<CS�����ƻ���������������ygW;%\u001b\u0002!E<o����������������������l`J0&\r\u0011>:R�����ü���������������wdU>0\u001f\f2?>p����������������������vdV>0\u001f\f2?>q����������������������lYJ>)\u00133C:b����������������������q`TI:%1I@W{��������������������rbVL;(#<>Cm}������ù����������~zoaUOD6-7HFXt~������������������xmhbXSPF=JUSdu|������������������wqohdb]TTVX_fpw{�����������������}zwsjgg_X]]^fnsy������������������}yyuqopmgkmkjpvvz�������������������woooiinnoupxzz~�����������������}vxxrsttwzxwzy�{���������������}|y}vwv}uv|zzx�����������������~w��z{|ytz~yzx{{}����������������~~�||z{xv{yyz}}{�����������������}}|{{{zyz{z}}{~�����������������~|zzzzz{{z{~~��������������������~}{zzzz{{z{~~����������������~|}{|}{{|}}}�~~����������������}~||}}|}}}�������������������~}~~|}|||}���������������~}|~}~}}����������������}~~~}~~~}~�~~��������������~~~�~~�~��������}��~~~�~~����������������}�~~�~��~~��~~���|����~}�������|~��~�~~�������~~�����~���}|~~�}��������|~��~��~}����}~y��~~~�����{}~~��~��~�}���}��~������|�~���~��|��~��������~}�}~|{~|~�}���~�������������~|{zzwyzxxwwwuu{|{���������������}wlc_ZTMH?FV^q������������������������|wmd`ZUMH?FU]q��������������������}ul^N?4$\u001a2JIY{�����������������������yj`O:1\u001f\u00132GLd�����������������������{ph[G62\u0018\u0018ANTp������������������������ynhYB4-\u0017!DOZs�������������~����������{ni]J83\u001f\u001eALTm��������������|����������{wo_PB;"#FIPhz������������}�����������ysbMB=$\u001b<FHZq�������������������������}znZKD:"&@DG\\py������������������������~yn^TJC4+=EFSbov������������������������}yn^TJC4+=EFScnu�����������������������~xti^TQK@:EJLU_kqx����������������������|vume`\\YXQNRSV[`flt}���������������������yvtokhfa`]YYY\\_`dkpv}��������������������}zwtqnkgeec```aeglpty~���������������������~{wuqnljkkkkllloqstyz|���������������������~|zyxwvuuutuvvxxxz{|}~~����������������������~|~|{||zz{zzz{||||~}}~~�������������������������~~~}~~~~|~~}}~~~�����������������������~~~~~~~}}}}}}~~~������������������������~~~~}}~~~}~~~������������������������������~~~}}~~~}~~~���������������������������~������������������������~��������������������������~~~~~���������������������~~~~~~~~~~~���������������������~~~~~~~~~~~~���������������������~~~~~~~~~�����������������������~�����������������y{yww~{wwx}}|������������xvrz{vutvzz}��������~�����}�}���yx��z{}}~|}��}��~~���������������~xw��z{}}~|~��~��~~�������������~~�~yx}}y{�}yz|yqsstqsz{z�������������{y~}y{�|yy{wqstvtx~�����������������������|uwlb^ME4)LMPy�������������~���������������}z|{xomgSJ@&=RKi~������������}}����������������{y~xpqg]RJ<6PPVt|�����������������������������}}}|zvuqlkgfednsrx|~}~�������������������������������~{yywwwxxxyxxwvuussttvxz}��������������������~|{zyxyyzz|}}~~~~~~~}~����������������������~}}}}|}}}~~~~~~~~~~~���������������������~}}}}|}}}~~~~~~~~~~~��������������������~~}}}}}~~~��������������������������~~~~}~~�����������������������������������������������~~~~~~~~~������������������������~~~~~~~~~~~~~~~���������������������������~~������������������������������~~~~~~�����������������}�����~�|y|wvxy�{|~|~����}�}~~�}��~����}��}}�v~}�}�|~{||~|{}{{z|~y}�z�|}|{�z}�{~|{~{|}~~}�|�~����~��~�z���~�}~|}||{}|{z|~y}�z�|}|{�{}�z~|�{}|~�~�~�}���������~������������{}�~��|�}�~��~�}�����~�}�{�}��{�|��w��w�~{�|}����|��z��}����}�z}�|~��{��|�~~����z~yw�}��z}ysw�����u|x}���}~v|�~�y~vy�~���x�}|��~�|}y�~|���~�y|�~�~{~w{����x�~|��~�|}z�|����{|�|�{����|�{y�p��y��~�uyyy�~�{~�{�~y�~}|�{~��|}�~z��}�|{�v~�|���}{�}|��|��{�{~}x�z����~{�{���r������yt~{���}��y}��{��y��~u�|u�����ur���|��mw�~���yu��|~��}���yw|}���}t{}���{y�|��}�|t����|~�vy��{~�|yy��z��{x��~~��|~����z~|�~|��zx������}z��|���{~�~���}~�||��xv�yr|�xs|{pt�||������������������~yofgjcY[VNSp}}�����������������������}yoggjcZZVNSp~������������������uqrlghaD7.Cwqy�wkj�������������������vfXUN:&%K���{~]V��������������������zoXF:61<l���{dRc�������������{������jc^NHI9<f����^No������~������t�����xe^THR8*d����~VPx�����{�������o~�����s_\\XEX+/�����Bd������w������wq������j\\ZSKU*H�����mMr�������������x������{l^VDK5$r�����TU������������z������|m^VDK5$r�����UQ}������������y������uf]MDQ!:�����rGrz�������������������xiUDN9#bv����aV}|��������������������zcJJC):j|���{hswy��������������������q_TB,%@gq���j|yr|����������������}��zf[M4&6QWn�x�{x�����������������}}zrldVI<6CQ_qy���������������������{wvroof\\WNLV\\fmr{~�������������������}wvtrnkidbbchptt|�������������������~|{yzyxusurrtvx{~�����������������������~~~|}|}}}~~~�����������������~~~~}}~||}||}}~~~�����������������~~~~~}|||}~}}}}~������������������~}}}||}}|}}}~~�������������������~~~~~}~~}~~~~~���������������������~~~~~~~~~~����������������������~~~~~~~~~~���������������������~~~~~~~~~��������������������{ppz���{ww{����~}~���������������~~~~~���������������������������}wwy}�|}~����~}~���~��~~��~~�~~�}�����~��~~������~~��}~�~�������������������~~��~~��~��~�����~��~������|~��~}��~�~���}~������������������}�����~~��}~��~��|~��}~�~��~�~�����~���~~�����~���|���|��~��}�~}}��|��~~��~����~�~��~�~~����~~�����~����~�������������~������~~~��}���������~�~��������������~����������������������~�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}�}|{z�{��}{|y�~u|xvy|zz��{��y���|vvopz||{�����}��{}}}��{|y{}|{��|���z���|vvopz||{�����~|�|�������~���������~}~�~�������~~�����~~��������������������~�����~~~~����~~~��������~�����~~~~����~~~���������~~�������������~���������������~~�������������~�������������������������������������������������������uttrux��vtw��}}~�~������������|}|}|vqsy}����|{�������������zx|�~x���}nklig]{���ket�������z��������������wrvuvtskZPQt���rslqy�������������������}���{ssj_D8\u001f-��͒I1M�������s��������������up~�����|���pdaa[O?,E|��{URm����������������������tv�����qgcfffY?\u001c4z���W[s�|�����z��������������yy���|qpkmfcWH)\u001d_���XF]�������}��������������z{���}qpkmfdXH)\u001d_���VE\\�������y��������������z}���}|th`_c\\N4"Iy��rZ]x{���������������������|vx}��w^RS]PJ,!M|��iZ]s���������������~�������znx��pV\\c`D7()V{��wQQr����������������������|yxz~sd`_YB<#&[���cZbi��������������z�������un'

0 个答案:

没有答案