Я делаю бота Discord, и в какой-то момент мне нужно сохранить звук в формате PCM
voiceChannel.join().then(connection =>
{
const fs = require('fs');
// Create a ReadableStream of s16le PCM audio
var usee = message.member;
const audio = connection.receiver.createStream(usee, { mode: 'pcm' });
var idAudio = makeid(10);
audio.pipe(fs.createWriteStream(idAudio + '.pcm'));
(idAudio - это случайная сгенерированная строка). Дело в том, что мне нужно преобразовать файл PCM в MP3. Я уже пытался использовать node-lame, но не сработало. Я уверен, что что-то упускаю. PCM - это 16-битный формат PCM с прямым порядком байтов (s16le) со знаком
const Lame = require("node-lame").Lame;
const encoder = new Lame({
output: "./audio-files/demox122.mp3",
bitrate: 192
}).setFile("./user_audio.pcm");
encoder
.encode()
.then(() => {
// Encoding finished
console.error("all good");
})
.catch(error => {
// Something went wrong
console.error("error");
});