main.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. var express = require('express');
  2. var app = express();
  3. var fs = require("fs");
  4. const sqlite3 = require('sqlite3').verbose();
  5. const db = new sqlite3.Database('./database.db');
  6. const jwt = require("jsonwebtoken");
  7. const bodyParser = require("body-parser");
  8. const {spawn} = require("child_process");
  9. const nrc = require('node-run-cmd')
  10. console.log(process.cwd())
  11. app.use(bodyParser.json({"limit": "50mb"}));
  12. app.use(express.json());
  13. db.close()
  14. app.post('/submit', function (req, res) {
  15. fetch(req.body.file).then(res => {
  16. res.arrayBuffer().then(r => fs.writeFileSync("./audio_file", Buffer.from(r)));
  17. })
  18. res.header("Access-Control-Allow-Origin", "*");
  19. var callback = function (d) {
  20. console.log(d.toString());
  21. }
  22. var errcb = function (d) {
  23. console.log(d.toString());
  24. }
  25. nrc.run("python separate.py -m MDX_Net_Models/UVR_MDXNET_KARA.onnx -d -c 4000 ./audio_file", {
  26. onData: callback,
  27. onError: errcb
  28. });
  29. res.end("api_success");
  30. })
  31. app.options('/submit', function (req, res) {
  32. res.header("Access-Control-Allow-Origin", "*");
  33. res.header("Access-Control-Allow-Headers", "Content-Type");
  34. res.end()
  35. })
  36. app.listen(8080);