code: def test_load_audio_meta(self):
      try:
          import dora
      except ImportError:
          dora = None  # type: ignore
  
      audio_meta = [
          AudioMeta(
              "mypath1",
              1.0,
              16_000,
              None,
              None,
              PathInZip("/foo/bar.zip:/relative/file1.json"),
          ),
          AudioMeta(
              "mypath2",
              2.0,
              16_000,
              None,
              None,
              PathInZip("/foo/bar.zip:/relative/file2.json"),
          ),
      ]
      empty_meta = []
      for idx, meta in enumerate([audio_meta, empty_meta]):
          path = self.get_temp_path(f"data_{idx}_load.jsonl")
          with open(path, "w") as f:
              for m in meta:
                  json_str = json.dumps(m.to_dict()) + "\n"
                  f.write(json_str)
          read_meta = load_audio_meta(path)
          assert len(read_meta) == len(meta)
          for m, read_m in zip(meta, read_meta):
              if dora:
                  m.path = dora.git_save.to_absolute_path(m.path)
              assert m == read_m, f"original={m}, read={read_m}"
  
imports: from functools import partial
  from itertools import product
  import json
  import math
  import os
  import random
  import typing
  import pytest
  import torch
  from torch.utils.data import DataLoader
  from audiocraft.data.audio_dataset import AudioDataset, AudioMeta, _get_audio_meta, load_audio_meta, save_audio_meta
  from audiocraft.data.zip import PathInZip
  from ..common_utils import TempDirMixin, get_white_noise, save_wav
label_desc: Use image node_id 3 for calling the TestAudioMeta obj's underlying member method code with example usage: obj.test_load_audio_meta() without return types