标签: node-lame

具有增益控制的node.js中的Mp3音频

我正在尝试在node.js中播放一些mp3文件.问题是我设法逐个播放它们,甚至是我想并行播放它们.但我还想要的是能够控制振幅(增益)以便最终能够创建交叉渐变.谁能帮我理解我需要做什么?(我想在node-webkit中使用它,所以我需要一个基于node.js而没有外部依赖的解决方案.)

这是我到目前为止所得到的:

var lame = require('lame'), Speaker = require('speaker'), fs = require('fs');
var audioOptions = {channels: 2, bitDepth: 16, sampleRate: 44100};
var decoder = lame.Decoder();


var stream = fs.createReadStream("music/ge.mp3", audioOptions).pipe(decoder).on("format", function (format) {
  this.pipe(new Speaker(format))
}).on("data", function (data) {
  console.log(data)
})
Run Code Online (Sandbox Code Playgroud)

audio stream node.js node-speaker node-lame

5
推荐指数
1
解决办法
1287
查看次数

将 PCM 文件转换为 .mp3 (Nodejs 12)

我正在制作一个 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'));
Run Code Online (Sandbox Code Playgroud)

(idAudio 是随机生成的字符串)。问题是我需要将 PCM 文件转换为 MP3。我已经尝试使用 node-lame 但没有用。我确定我错过了一些东西。PCm 是有符号的 16 位小端 (s16le) PCM

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 => {
            // …
Run Code Online (Sandbox Code Playgroud)

audio pcm node.js node-lame

5
推荐指数
0
解决办法
751
查看次数

标签 统计

audio ×2

node-lame ×2

node.js ×2

node-speaker ×1

pcm ×1

stream ×1