docstr: `sox_io_backend.info` can check opus file correcty
docstr_tok: ["`","sox_io_backend.info","`","can","check","opus","file","correcty"]
code: def test_opus(self, bitrate, num_channels, compression_level):
      """`sox_io_backend.info` can check opus file correcty"""
      path = get_asset_path(
          "io", f"{bitrate}_{compression_level}_{num_channels}ch.opus"
      )
      info = sox_io_backend.info(path)
      assert info.sample_rate == 48000
      assert info.num_frames == 32768
      assert info.num_channels == num_channels
      assert (
          info.bits_per_sample == 0
      )  # bit_per_sample is irrelevant for compressed formats
      assert info.encoding == "OPUS"
  
imports: import itertools
  from parameterized import parameterized
  from torchaudio.backend import sox_io_backend
  from torchaudio_unittest.backend.common import get_encoding
  from torchaudio_unittest.common_utils import get_asset_path, get_wav_data, PytorchTestCase, save_wav, skipIfNoExec, skipIfNoSox, skipIfNoSoxDecoder, sox_utils, TempDirMixin
  from .common import name_func
label_desc: Use image node_id 1 for calling the TestInfoOpus obj's underlying member method code with example usage: obj.test_opus(bitrate, num_channels, compression_level) without return types