Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {js:
- const fetch = require("node-fetch")
- const fs = require("fs")
- async function preview(args) {
- if (args.trim() == "") {
- console.log(
- "[nombre del tema]\n" +
- "-q [int] - bitrate (default 128)\n" +
- "-f [string] - formato (default mp3)\n" +
- "-s [float] - velocidad (default 1.0)\n" +
- "-r [float] - volumen de reverb (default 0.0)\n" +
- "-rd [int] - delay de reverb (default 500)\n" +
- "-b [float] - db+ de bass (default 0)\n" +
- "-p [float] - pitch (default = velocidad))\n"
- )
- return
- }
- const match = args.match(/^(.*?)(?:\s+-q\s+(\d*?))?(?:\s+-f\s+(\S*?))?(?:\s+-s\s+(\S*?))?(?:\s+-r\s+(\S*?))?(?:\s+-rd\s+(\d*?))?(?:\s+-b\s+(\S*?))?(?:\s+-p\s+(\S*?))?$/)
- const song = match[1] ?? ""
- const bitrate = match[2] ?? "128"
- const format = match[3] ?? "mp3"
- var speed = match[4] ?? "1"
- const reverbAmount = match[5] ?? "0"
- const reverbDelay = match[6] ?? "500"
- const bass = match[7] ?? "0"
- const pitch = match[8] ?? speed
- const res = await fetch(
- `https://api.deezer.com/search?q=${encodeURIComponent(song)}`
- );
- const data = await res.json()
- var version = []
- if (speed != "1") {
- version.push(parseFloat(speed) > 1 ? "NIGHTCORE" : "SLOWED")
- }
- if (reverbAmount != "0") {
- version.push("REVERB")
- discord.variables.reverb = `,aecho=0.8:0.9:${reverbDelay}:${reverbAmount}`
- }
- if (bass != "0") {
- discord.variables.bass = `,bass=g=${bass}`
- version.push("BASSBOST")
- }
- if (pitch != speed) {
- discord.variables.pitch = `${pitch},aresample=44100`
- speed = parseFloat(speed) * 1 / Math.pow(2, parseFloat(pitch) - 1)
- version.push("PITCHED")
- } else {
- discord.variables.pitch = speed
- }
- versionTag = version.length > 0 ? `[${version.join(" ")}] ` : ""
- const track = data.data[0];
- const title = track.title.replaceAll("/","_")
- const artist = track.artist.name.replaceAll("/","_")
- const url = `https://theanx-deezer-ai.hf.space/deezer?song=${track.id}&quality=flac`
- const path = `/home/notsocoder/output/${versionTag}${title} - ${artist}.${format}`
- discord.variables.url = url
- discord.variables.path = path
- discord.variables.speed = speed
- discord.variables.bitrate = bitrate
- }
- preview("{args}")
- }
- {if:{argslen}|>|0|then:{sh:curl -L "{get:url}" -o "input.flac" && ffmpeg -loglevel error -i "input.flac" -b:a {get:bitrate}k -filter:a "asetrate=44100*{get:pitch},atempo={get:speed}{get:reverb}{get:bass}" -vn "{get:path}"}}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement