利用百度tts 實現文字轉語音(node)

var http = require('http');        // 通過http模塊訪問百度的接口
var querystring = require('querystring');    // 處理請求參數的querystring模塊
var fs = require('fs');      // fs模塊,用來保存語音文件
var path = require('path');


var t = '浦發銀行有新信號'
var postData = querystring.stringify({
  "lan": "zh",    // zh表示中文
  "ie": "UTF-8",  // 字符編碼
  "spd": 5,       // 表示朗讀的語速,9代表最快,1是最慢(撩妹請用2,繞口令請用9)
  "text": t   // 這句話就是要轉換爲語音的,可以表白一下,XXX我愛你
});


var options = {
  "method": "GET",
  "hostname": "tts.baidu.com",
  "path": "/text2audio?" + postData
};


// 調用http模塊的request方法請求百度接口
var req = http.request(options, function (res) {
  var chunks = [];


  res.on("data", function (chunk) {
    chunks.push(chunk);   // 獲取到的音頻文件數據暫存到chunks裏面
  });


  res.on("end", function () {
    // 這裏用到了Buffer模塊,大概意思就是把獲取到的語音文件流存入到body裏面,body是一個Buffer
    var body = Buffer.concat(chunks);
    // 生成的mp3文件存儲的路徑,文件名叫做iloveu.mp3
    var filePath = path.normalize('./public/music/'+t+'.mp3');
    // fs模塊寫文件    
    fs.writeFileSync(filePath, body);
  });
});


req.end();
發佈了18 篇原創文章 · 獲贊 8 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章