-1

Just typed a massive question and realised I was wasting space and time, so I shortened it, will answer any questions of context if needed:

PROBLEM

I have a short audio file "name.mp3" and a long audio file "Vocals.mp3", and i'm trying to make an output file where the audio from "name.mp3" occurs multiple times over "Vocals.mp3"**.

For the sake of this thread lets just say every 20 seconds.

TRIED

So far I have been using "Fluent-ffmpeg" and have just started using "Sox-audio" but I'm open to suggestions of other packages. I have been able to split "Vocals.mp3" into parts and concatenate "Name.mp3" inbetween, but this has led to timing issues.

I have also been using the Mix() method from Sox but haven't been able to find a working system of starting each "name.mp3" input at set times.

I'll continue looking for more threads about this topic and if i find an answer i'll share it here.

Cheers!

Tom Rowe
  • 1
  • 7

1 Answers1

0

Addition to the answer, using sox-audio I am inputting subcommands in to delay each input a certain amount before outputting, i've used both pad and delay (essentially the same thing):

var command = soxCommand()
    .input(nameFile + ' -p pad ' + songData.nameTimes[1] + ' 0')
    .input('| sox - -m ' + nameFile + ' -p pad ' + songData.nameTimes[0] + ' 0')
    .input('| sox - -m ' + songFull)
    .output(nameLocation);

callback(command);
Community
  • 1
  • 1
Tom Rowe
  • 1
  • 7