在Ubuntu WLS2上与Wav文件的Torchaudio兼容性问题

aiazj4mn  于 2024-01-06  发布在  其他
关注(0)|答案(1)|浏览(263)

这个repo https://github.com/facebookresearch/brainmagick在Ubuntu vanilla上运行良好。在完全相同的WLS2配置上,出现以下错误。这是使用torchaudio 2.2.1。
问题是torchaudio在这种情况下无法自动检测音频文件类型(wav)。

  1. Traceback (most recent call last):
  2. File "/home/ubuntu/anaconda3/envs/p310env/lib/python3.10/concurrent/futures/process.py", line 246, in _process_worker
  3. r = call_item.fn(*call_item.args, **call_item.kwargs)
  4. File "/home/ubuntu/brainmagick_abdhu/bm/dataset.py", line 381, in _preload
  5. recording.events()
  6. File "/home/ubuntu/brainmagick_abdhu/bm/studies/api.py", line 264, in events
  7. self._events = self._load_events()
  8. File "/home/ubuntu/brainmagick_abdhu/bm/studies/brennan2019.py", line 307, in _load_events
  9. events = _read_meta(file)
  10. File "/home/ubuntu/brainmagick_abdhu/bm/studies/brennan2019.py", line 167, in _read_meta
  11. events = events.event.create_blocks(groupby='sentence')
  12. File "/home/ubuntu/anaconda3/envs/p310env/lib/python3.10/site-packages/pandas/core/accessor.py", line 224, in __get__
  13. accessor_obj = self._accessor(obj)
  14. File "/home/ubuntu/brainmagick_abdhu/bm/events.py", line 549, in __init__
  15. self._frame = self.validate()
  16. File "/home/ubuntu/brainmagick_abdhu/bm/events.py", line 603, in validate
  17. return pd.DataFrame(self._frame.apply(self._validate_event, axis=1).tolist())
  18. File "/home/ubuntu/anaconda3/envs/p310env/lib/python3.10/site-packages/pandas/core/frame.py", line 10034, in apply
  19. return op.apply().__finalize__(self, method="apply")
  20. File "/home/ubuntu/anaconda3/envs/p310env/lib/python3.10/site-packages/pandas/core/apply.py", line 837, in apply
  21. return self.apply_standard()
  22. File "/home/ubuntu/anaconda3/envs/p310env/lib/python3.10/site-packages/pandas/core/apply.py", line 963, in apply_standard
  23. results, res_index = self.apply_series_generator()
  24. File "/home/ubuntu/anaconda3/envs/p310env/lib/python3.10/site-packages/pandas/core/apply.py", line 979, in apply_series_generator
  25. results[i] = self.func(v, *self.args, **self.kwargs)
  26. File "/home/ubuntu/brainmagick_abdhu/bm/events.py", line 586, in _validate_event
  27. event_obj = event_class.from_dict(event)
  28. File "/home/ubuntu/brainmagick_abdhu/bm/events.py", line 53, in from_dict
  29. return cls(**{k: v for k, v in row.items() if k in [f.name for f in fields(cls)]})
  30. File "<string>", line 9, in __init__
  31. File "/home/ubuntu/brainmagick_abdhu/bm/events.py", line 132, in __post_init__
  32. info = torchaudio.info(self.filepath)
  33. File "/home/ubuntu/anaconda3/envs/p310env/lib/python3.10/site-packages/torchaudio/_backend/utils.py", line 97, in info
  34. backend = dispatcher(uri, format, backend)
  35. File "/home/ubuntu/anaconda3/envs/p310env/lib/python3.10/site-packages/torchaudio/_backend/utils.py", line 53, in dispatcher
  36. raise RuntimeError(f"Couldn't find appropriate backend to handle uri {uri} and format {format}.")
  37. RuntimeError: Couldn't find appropriate backend to handle uri /home/ubuntu/brainmagick_abdhu/data/brennan2019/download/audio/DownTheRabbitHoleFinal_SoundFile1.wav and format None.
  38. """

字符串

6yt4nkrj

6yt4nkrj1#

原来这是SOX音频库的问题,不能自动检测wav文件。安装“soundfile”并卸载SOX起作用了。

相关问题