|
@@ -40,126 +40,128 @@ let ncmAPIUrl = "http://localhost:5999";
|
|
|
|
|
|
|
|
|
function Submit(req, res) {
|
|
|
- let uuid = crypto.randomUUID()
|
|
|
- db.connect(function (err) {
|
|
|
- if (err) {
|
|
|
- console.log(err)
|
|
|
- }
|
|
|
- })
|
|
|
- try {
|
|
|
- res.header("Access-Control-Allow-Origin", "*");
|
|
|
-
|
|
|
- } catch (e) {
|
|
|
- console.log(e)
|
|
|
- }
|
|
|
-
|
|
|
- let albumCover = null;
|
|
|
- try {
|
|
|
- fetch(req.body.file).then(res => {
|
|
|
- res.arrayBuffer().then(r => fs.writeFileSync("./" + uuid, Buffer.from(r)));
|
|
|
- })
|
|
|
- fetch(req.body.albumCover).then(res => {
|
|
|
- res.arrayBuffer().then(r => {
|
|
|
- albumCover = r
|
|
|
- })
|
|
|
+ if (req.body.file !== undefined) {
|
|
|
+ let uuid = crypto.randomUUID()
|
|
|
+ db.connect(function (err) {
|
|
|
+ if (err) {
|
|
|
+ console.log(err)
|
|
|
+ }
|
|
|
})
|
|
|
-
|
|
|
try {
|
|
|
- res.end("api_success")
|
|
|
+ res.header("Access-Control-Allow-Origin", "*");
|
|
|
+
|
|
|
} catch (e) {
|
|
|
console.log(e)
|
|
|
}
|
|
|
|
|
|
- } catch (err) {
|
|
|
+ let albumCover = null;
|
|
|
try {
|
|
|
- res.status(500).send("Server Error");
|
|
|
+ fetch(req.body.file).then(res => {
|
|
|
+ res.arrayBuffer().then(r => fs.writeFileSync("./" + uuid, Buffer.from(r)));
|
|
|
+ })
|
|
|
+ fetch(req.body.albumCover).then(res => {
|
|
|
+ res.arrayBuffer().then(r => {
|
|
|
+ albumCover = r
|
|
|
+ })
|
|
|
+ })
|
|
|
|
|
|
- } catch (e) {
|
|
|
- console.log(e)
|
|
|
- }
|
|
|
- return
|
|
|
- }
|
|
|
+ try {
|
|
|
+ res.end("api_success")
|
|
|
+ } catch (e) {
|
|
|
+ console.log(e)
|
|
|
+ }
|
|
|
|
|
|
- const callback = function (d) {
|
|
|
- console.log(d.toString());
|
|
|
- }
|
|
|
- const errcb = function (d) {
|
|
|
- console.log(d.toString());
|
|
|
- }
|
|
|
- let kind_of = [];
|
|
|
-
|
|
|
- switch (req.body.kind) {
|
|
|
- case 0:
|
|
|
- kind_of[0] = `audio-separator ./${uuid} --model_filename UVR-MDX-NET-Inst_HQ_5.onnx --mdx_enable_denoise --mdx_segment_size 4000 --mdx_overlap 0.75 --output_format mp3 --mdx_batch_size 300 --output_dir output`
|
|
|
- kind_of[1] = `./output/${uuid}_(Instrumental)_UVR-MDX-NET-Inst_HQ_5.mp3`
|
|
|
- kind_of[2] = `${uuid}_(Instrumental)_UVR-MDX-NET-Inst_HQ_5.mp3`
|
|
|
- kind_of[3] = `./output/${uuid}_(Vocals)_UVR-MDX-NET-Inst_HQ_5.mp3`
|
|
|
- break;
|
|
|
- case 1:
|
|
|
- kind_of[0] = `audio-separator ./${uuid} --model_filename UVR_MDXNET_KARA.onnx --mdx_enable_denoise --mdx_segment_size 4000 --mdx_overlap 0.75 --output_format mp3 --mdx_batch_size 300 --output_dir output`
|
|
|
- kind_of[1] = `./output/${uuid}_(Instrumental)_UVR_MDXNET_KARA.mp3`
|
|
|
- kind_of[2] = `${uuid}_(Instrumental)_UVR_MDXNET_KARA.mp3`
|
|
|
- kind_of[3] = `./output/${uuid}_(Vocals)_UVR_MDXNET_KARA.mp3`
|
|
|
- break;
|
|
|
- case 3:
|
|
|
- kind_of[0] = `audio-separator ./${uuid} --model_filename kuielab_a_bass.onnx --mdx_enable_denoise --mdx_segment_size 4000 --mdx_overlap 0.75 --output_format mp3 --mdx_batch_size 300 --output_dir output`
|
|
|
- kind_of[1] = `./output/${uuid}_(Bass)_kuielab_a_bass.mp3`
|
|
|
- kind_of[2] = `${uuid}_(Bass)_kuielab_a_bass.mp3`
|
|
|
- kind_of[3] = `./output/${uuid}_(No Bass)_kuielab_a_bass.mp3`
|
|
|
- break;
|
|
|
- case 4:
|
|
|
- kind_of[0] = `audio-separator ./${uuid} --model_filename kuielab_a_drums.onnx --mdx_enable_denoise --mdx_segment_size 4000 --mdx_overlap 0.75 --output_format mp3 --mdx_batch_size 300 --output_dir output`
|
|
|
- kind_of[1] = `./output/${uuid}_(Drums)_kuielab_a_drums.mp3`
|
|
|
- kind_of[2] = `${uuid}_(Drums)_kuielab_a_drums.mp3`
|
|
|
- kind_of[3] = `./output/${uuid}_(No Drums)_kuielab_a_drums.mp3`
|
|
|
- break;
|
|
|
+ } catch (err) {
|
|
|
+ try {
|
|
|
+ res.status(500).send("Server Error");
|
|
|
|
|
|
+ } catch (e) {
|
|
|
+ console.log(e)
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
|
|
|
- }
|
|
|
- nrc.run([kind_of[0]], {
|
|
|
- onData: callback, onError: errcb
|
|
|
- }).then(() => {
|
|
|
+ const callback = function (d) {
|
|
|
+ console.log(d.toString());
|
|
|
+ }
|
|
|
+ const errcb = function (d) {
|
|
|
+ console.log(d.toString());
|
|
|
+ }
|
|
|
+ let kind_of = [];
|
|
|
+
|
|
|
+ switch (req.body.kind) {
|
|
|
+ case 0:
|
|
|
+ kind_of[0] = `audio-separator ./${uuid} --model_filename UVR-MDX-NET-Inst_HQ_5.onnx --mdx_enable_denoise --mdx_segment_size 4000 --mdx_overlap 0.75 --output_format mp3 --mdx_batch_size 300 --output_dir output`
|
|
|
+ kind_of[1] = `./output/${uuid}_(Instrumental)_UVR-MDX-NET-Inst_HQ_5.mp3`
|
|
|
+ kind_of[2] = `${uuid}_(Instrumental)_UVR-MDX-NET-Inst_HQ_5.mp3`
|
|
|
+ kind_of[3] = `./output/${uuid}_(Vocals)_UVR-MDX-NET-Inst_HQ_5.mp3`
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ kind_of[0] = `audio-separator ./${uuid} --model_filename UVR_MDXNET_KARA.onnx --mdx_enable_denoise --mdx_segment_size 4000 --mdx_overlap 0.75 --output_format mp3 --mdx_batch_size 300 --output_dir output`
|
|
|
+ kind_of[1] = `./output/${uuid}_(Instrumental)_UVR_MDXNET_KARA.mp3`
|
|
|
+ kind_of[2] = `${uuid}_(Instrumental)_UVR_MDXNET_KARA.mp3`
|
|
|
+ kind_of[3] = `./output/${uuid}_(Vocals)_UVR_MDXNET_KARA.mp3`
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ kind_of[0] = `audio-separator ./${uuid} --model_filename kuielab_a_bass.onnx --mdx_enable_denoise --mdx_segment_size 4000 --mdx_overlap 0.75 --output_format mp3 --mdx_batch_size 300 --output_dir output`
|
|
|
+ kind_of[1] = `./output/${uuid}_(Bass)_kuielab_a_bass.mp3`
|
|
|
+ kind_of[2] = `${uuid}_(Bass)_kuielab_a_bass.mp3`
|
|
|
+ kind_of[3] = `./output/${uuid}_(No Bass)_kuielab_a_bass.mp3`
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ kind_of[0] = `audio-separator ./${uuid} --model_filename kuielab_a_drums.onnx --mdx_enable_denoise --mdx_segment_size 4000 --mdx_overlap 0.75 --output_format mp3 --mdx_batch_size 300 --output_dir output`
|
|
|
+ kind_of[1] = `./output/${uuid}_(Drums)_kuielab_a_drums.mp3`
|
|
|
+ kind_of[2] = `${uuid}_(Drums)_kuielab_a_drums.mp3`
|
|
|
+ kind_of[3] = `./output/${uuid}_(No Drums)_kuielab_a_drums.mp3`
|
|
|
+ break;
|
|
|
|
|
|
- db.execute(("INSERT INTO instrunet_entry (uuid, song_name, album_name, link_to, databinary, artist,kind, albumcover) VALUES (?,?,?,?,?,?,?,?)"), [uuid, req.body.name, req.body.albumName, req.body.link, fs.readFileSync(kind_of[1]), req.body.artist, req.body.kind, albumCover])
|
|
|
- db.unprepare(() => {
|
|
|
|
|
|
- })
|
|
|
- fs.rm(kind_of[1], (err) => {
|
|
|
- if (err) {
|
|
|
- console.log(err);
|
|
|
+ }
|
|
|
+ nrc.run([kind_of[0]], {
|
|
|
+ onData: callback, onError: errcb
|
|
|
+ }).then(() => {
|
|
|
|
|
|
- }
|
|
|
- })
|
|
|
- fs.rm(kind_of[3], (err) => {
|
|
|
- if (err) {
|
|
|
- console.log(err);
|
|
|
+ db.execute(("INSERT INTO instrunet_entry (uuid, song_name, album_name, link_to, databinary, artist,kind, albumcover) VALUES (?,?,?,?,?,?,?,?)"), [uuid, req.body.name, req.body.albumName, req.body.link, fs.readFileSync(kind_of[1]), req.body.artist, req.body.kind, albumCover])
|
|
|
+ db.unprepare(() => {
|
|
|
|
|
|
- }
|
|
|
- })
|
|
|
- fs.rm(uuid, (err) => {
|
|
|
- if (err) {
|
|
|
- console.log(err);
|
|
|
+ })
|
|
|
+ fs.rm(kind_of[1], (err) => {
|
|
|
+ if (err) {
|
|
|
+ console.log(err);
|
|
|
|
|
|
- }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ fs.rm(kind_of[3], (err) => {
|
|
|
+ if (err) {
|
|
|
+ console.log(err);
|
|
|
|
|
|
+ }
|
|
|
+ })
|
|
|
+ fs.rm(uuid, (err) => {
|
|
|
+ if (err) {
|
|
|
+ console.log(err);
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
- })
|
|
|
- if (req.body.email !== undefined) {
|
|
|
- console.log(req.body.email)
|
|
|
- transporter.sendMail({
|
|
|
- from: '"xiey0" <xiey0@qq.com>',
|
|
|
- to: req.body.email,
|
|
|
- subject: "你的音频已处理完成。",
|
|
|
- text: "你的音频已处理完成。",
|
|
|
- html: fs.readFileSync("./Template.html", "utf8").toString().replace("{song_name}", req.body.name).replace("{href_link}", "https://andyxie.cn:4000/player?play=" + uuid)
|
|
|
- }).then((result) => {
|
|
|
- console.log("Message sent: %s", result.messageId)
|
|
|
|
|
|
})
|
|
|
- }
|
|
|
+ if (req.body.email !== undefined) {
|
|
|
+ console.log(req.body.email)
|
|
|
+ transporter.sendMail({
|
|
|
+ from: '"xiey0" <xiey0@qq.com>',
|
|
|
+ to: req.body.email,
|
|
|
+ subject: "你的音频已处理完成。",
|
|
|
+ text: "你的音频已处理完成。",
|
|
|
+ html: fs.readFileSync("./Template.html", "utf8").toString().replace("{song_name}", req.body.name).replace("{href_link}", "https://andyxie.cn:4000/player?play=" + uuid)
|
|
|
+ }).then((result) => {
|
|
|
+ console.log("Message sent: %s", result.messageId)
|
|
|
|
|
|
+ })
|
|
|
+ }
|
|
|
|
|
|
- })
|
|
|
+
|
|
|
+ })
|
|
|
+ }
|
|
|
|
|
|
|
|
|
}
|