Class: StepSequencer::SoundBuilder::DefaultEffects::Combine

Inherits:
Object
  • Object
show all
Defined in:
lib/step_sequencer/sound_builder/default_effects/combine.rb

Class Method Summary collapse

Class Method Details

.build(sources:, filename: nil) ⇒ Object

This combines the files one after another. To make them overlap, use Overlay



8
9
10
11
12
13
# File 'lib/step_sequencer/sound_builder/default_effects/combine.rb', line 8

def self.build(sources:, filename: nil)
  concat_cmd = "concat:#{sources.join("|")}"
  outfile = filename || generate_outfile_path(sources)
  system %{ffmpeg -y -i "#{concat_cmd}" -c copy #{outfile} 2> /dev/null }
  outfile
end

.generate_outfile_path(sources) ⇒ Object



20
21
22
# File 'lib/step_sequencer/sound_builder/default_effects/combine.rb', line 20

def generate_outfile_path(sources)
  "#{output_dir}/#{SecureRandom.urlsafe_base64}.mp3"
end