如何访问torchaudio.info(filepath)返回对象及返回值与文档不符问题
解决方法
你拿到的AudioMetaData对象本身已经包含了所有文档标注的元数据字段,直接通过属性访问即可获取对应值:
import os import torchaudio tempFile = os.path.join(audio_dir,'1','121007.wav') metadata = torchaudio.info(tempFile) # 直接通过点语法访问各字段 sample_rate = metadata.sample_rate num_frames = metadata.num_frames num_channels = metadata.num_channels bits_per_sample = metadata.bits_per_sample encoding = metadata.encoding # 按需使用即可,比如打印所有字段: print(f"AudioMetaData(sample_rate={sample_rate}, num_frames={num_frames}, num_channels={num_channels}, bits_per_sample={bits_per_sample}, encoding={encoding})")
补充说明
你直接打印对象出现内存地址,是因为你使用的torchaudio版本低于0.10.0,旧版本的AudioMetaData类未实现友好的字符串序列化方法。将torchaudio升级到0.10.0及以上版本后,直接执行print(metadata)就会输出你期望的结构化格式。
内容的提问来源于stack exchange,提问作者Akash
相关产品推荐
相关产品推荐

