Class: WSK::Actions::SilenceInserter

Inherits:
Object
  • Object
show all
Includes:
Common
Defined in:
lib/WSK/Actions/SilenceInserter.rb

Constant Summary collapse

SILENT_BUFFER_SIZE =

Number of samples in the silent buffer

Integer
2097152

Instance Method Summary collapse

Methods included from Common

#accessInputWaveFile, #accessOutputWaveFile, #getWaveFileAccesses, #parsePlugins, #readDuration, #readFFTProfile, #readThresholds, #val2db

Instance Method Details

#execute(iInputData, oOutputData) ⇒ Object

Execute

Parameters
  • iInputData (WSK::Model::InputData): The input data

  • oOutputData (Object): The output data to fill

Return
  • Exception: An error, or nil if success



40
41
42
43
44
45
46
# File 'lib/WSK/Actions/SilenceInserter.rb', line 40

def execute(iInputData, oOutputData)
  pushSilence(iInputData, oOutputData, @NbrBeginSilentSamples)
  pushFile(iInputData, oOutputData)
  pushSilence(iInputData, oOutputData, @NbrEndSilentSamples)
  
  return nil
end

#get_nbr_samples(iInputData) ⇒ Object

Get the number of samples that will be written. This is called before execute, as it is needed to write the output file. It is possible to give a majoration: it will be padded with silence.

Parameters
  • iInputData (WSK::Model::InputData): The input data

Return
  • Integer: The number of samples to be written



26
27
28
29
30
31
# File 'lib/WSK/Actions/SilenceInserter.rb', line 26

def get_nbr_samples(iInputData)
  @NbrBeginSilentSamples = readDuration(@BeginSilenceLength, iInputData.Header.SampleRate)
  @NbrEndSilentSamples = readDuration(@EndSilenceLength, iInputData.Header.SampleRate)

  return iInputData.NbrSamples+@NbrBeginSilentSamples+@NbrEndSilentSamples
end