pysndfx на массиве numpy не имеет атрибутов tobytes - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь передать pysndfx ndarray в ffmpeg.

Я импортировал файл wav в массив numpy и передал его в поток ffmpeg (используя proc.comumunicate (array.tobytes ()))), это работает хорошо.

Когда я пропускаю массив через pysndfx AudioEffectsChain (который должен возвращать массив numpy), я получаю сообщение об ошибке «У объекта AudioEffectsChain нет атрибута tobytes» при попытке передать в ffmpeg

  songb, fs = ffmpeg_load_audio(file)
  #fx = (
  #    AudioEffectsChain()
  #    .delay
  #)
  #songb = fx(songb)
  command3 = [
          'ffmpeg',
          '-re',
          '-y',
          '-ac', '2',
          '-ar', '44100',
          '-f', 'f32le',
          '-i', '-',
          '-c:a', 'libmp3lame',
          '-b:a', '320k',
          '-f', 'mpegts',
          'udp://224.1.2.3:7002?buffer_size=65535']
  p3 = sp.Popen(command3, stdin=sp.PIPE, bufsize=4096)
  p3.communicate(songb.tobytes())

Приведенный выше код запускается и дает желаемые результаты.

Если я откомментирую закомментированный раздел, я получу, что у объекта AudioEffectsChain нет атрибута 'tobytes'

...