微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Node Js 将录制的 wav 音频上传到 API

如何解决使用 Node Js 将录制的 wav 音频上传到 API

我尝试录制我的声音以发送到 API 然后转换为文本,我使用 NodeJs 将我的声音发送到 API,如何检索我录制的语音而不将其保存到文件文件夹中而是直接将其发送到音频形式的 API?这是我上传录音的代码

// routes.js
import voiceBotController from "../controllers/voiceBotController";


// upload config
const upload = mutler({
    limits: {
        fileSize: 2 * 1024 * 1024,files: 1 // 1 file
    }
})

let router = express.Router();

let initWebroutes = (app) => {
    router.get("/",indexController.getIndex); 
    router.get("/webhook",chatbotController.getWebhook);
    router.post("/webhook",chatbotController.postWebhook);

    // voice handing
    router.post("/upload",voiceBotController.postVoice,upload.single("myfile"));
    

    return app.use('/',router);
};

和我的控制器


// dotenv
require("dotenv").config()

// environtment
const WIT_TOKEN = process.env.WIT_SERVER_ACCESS_TOKEN;

// handling POST voice to wit.ai
let postVoice = (req,res,next) => {
    let upFile =  req.files.myfile;
    console.log("File Uploaded: ");
    console.log(upFile);
    var buffer = upFile.data;

    // define url and Make Post to wit.ai API
    const url = "https://api.wit.ai/speech";

    // post Data using axios To Wit.ai API speech
    axios.post(url,buffer,{
        headers: {
            "Authorization": "Bearer " + WIT_TOKEN,"Content-Type": "audio/wav"
        }
    
    }).then(witResponse => {
        console.log("Wit.ai Response: "  + JSON.stringify(witResponse.data));
        res.json(witResponse.data)
    
    }).catch(err => {
        console.log("Error sending to wit: " + err);
        res.json({error: err.message});
    });

}

// export module
module.exports = {
    postVoice: postVoice,}

在这里,我对如何录制我的录音然后将其发布到 API 感到困惑

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。