Spaces:
Paused
Paused
File size: 2,731 Bytes
290c0c4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
import { exec } from 'child_process';
import fs from 'fs';
import { getRandom } from '../../lib/myfunc.cjs';
import config from '../../config.cjs';
const audioEffects = async (m, gss) => {
try {
const prefix = config.PREFIX;
const cmd = m.body.startsWith(prefix) ? m.body.slice(prefix.length).split(' ')[0].toLowerCase() : '';
const text = m.body.slice(prefix.length + cmd.length).trim();
const validCommands = ['bass', 'blown', 'deep', 'earrape', 'fast', 'fat', 'nightcore', 'reverse', 'robot', 'slow', 'smooth', 'tupai'];
if (!validCommands.includes(cmd)) return;
let set;
if (cmd === 'bass') {
set = '-af equalizer=f=54:width_type=o:width=2:g=20';
} else if (cmd === 'blown') {
set = '-af acrusher=.1:1:64:0:log';
} else if (cmd === 'deep') {
set = '-af atempo=4/4,asetrate=44500*2/3';
} else if (cmd === 'earrape') {
set = '-af volume=12';
} else if (cmd === 'fast') {
set = '-filter:a "atempo=1.63,asetrate=44100"';
} else if (cmd === 'fat') {
set = '-filter:a "atempo=1.6,asetrate=22100"';
} else if (cmd === 'nightcore') {
set = '-filter:a atempo=1.06,asetrate=44100*1.25';
} else if (cmd === 'reverse') {
set = '-filter_complex "areverse"';
} else if (cmd === 'robot') {
set = '-filter_complex "afftfilt=real=\'hypot(re,im)*sin(0)\':imag=\'hypot(re,im)*cos(0)\':win_size=512:overlap=0.75"';
} else if (cmd === 'slow') {
set = '-filter:a "atempo=0.7,asetrate=44100"';
} else if (cmd === 'smooth') {
set = '-filter:v "minterpolate=\'mi_mode=mci:mc_mode=aobmc:vsbmc=1:fps=120\'"';
} else if (cmd === 'tupai') {
set = '-filter:a "atempo=0.5,asetrate=65100"';
}
if (!m.quoted || m.quoted.mtype !== 'audioMessage') {
return m.reply(`Reply to the audio you want to change with a caption *${prefix + cmd}*`);
}
m.reply('Please wait...');
const media = await m.quoted.download();
const mediaPath = `./${getRandom('.webm')}`;
fs.writeFileSync(mediaPath, media);
const outputPath = `./${getRandom('.mp3')}`;
exec(`ffmpeg -i ${mediaPath} ${set} ${outputPath}`, (err, stderr, stdout) => {
fs.unlinkSync(mediaPath);
if (err) {
console.error('Error:', err);
return m.reply('An error occurred while processing the audio.');
}
const buff = fs.readFileSync(outputPath);
gss.sendMessage(m.from, { audio: buff, mimetype: 'audio/mpeg' }, { quoted: m });
fs.unlinkSync(outputPath);
});
} catch (e) {
console.error('Error:', e);
m.reply('An error occurred while processing the command.');
}
};
export default audioEffects;
|