如何修剪PCM数据以识别要进样的样品数或帧数?

时间:2013-07-22 14:17:45

标签: audio pcm audio-fingerprinting downsampling

我想提供libsamplerate(一个库,用于下采样需要以下结构填充的音频数据:

typedef struct
  {   float  *data_in, *data_out ;

      long   input_frames, output_frames ;
      long   input_frames_used, output_frames_gen ;

      int    end_of_input ;

      double src_ratio ;
  } SRC_DATA ;

此结构的字段必须由调用者填写:

  data_in       : A pointer to the input data samples.
  input_frames  : The number of frames of data pointed to by data_in.
  data_out      : A pointer to the output data samples.
  output_frames : Maximum number of frames pointer to by data_out.
  src_ratio     : Equal to output_sample_rate / input_sample_rate.
  end_of_input  : Equal to 0 if more input data is available and 1 
                  otherwise.

要填充此结构,我有data_in但我不知道帧数,因此我无法定义input_frames。 是否有一种简单的方法来修剪PCM字节流?所以我可以用正确的帧数将它输入到这个函数中。 (所以这个问题与libsamplerate没有直接关系)

0 个答案:

没有答案