如何将 HDF5 数据集读取为类似 Python 文件的对象?

问题描述 投票:0回答:1

为了将原始环境声音文件内容与元数据和评估日期保存在一起,声音数据将作为原始声音文件的原始字节到字节流(uint8 数组)复制到 HDF5 文件的数据集中。因此,每次都可以完整地再现原始文件。当然,数据集不仅包含编码的PCM数据,还包含围绕这些数据的原始文件的分帧。就我而言,原始文件是作品文件。但它也可以是 mp3 或任何其他格式。没有用于解码的 HDF5 插件。所以我必须在 HDF5 数据访问之外进行。

为了在不同的评估例程中使用数据,我正在寻找一种通用的解决方案来将 HDF5 数据集中的字节作为文件对象进行访问。因此,如果是 opus 文件,我可以通过 pyogg.opus_file_stream.OpusFileStream(filepath) 绑定数据集。或任何其他库,如 librosa。

弗兰克

我的解决方案是,将数据解压到一个临时文件中并使用它。但是是否有可能将 HDF5 数据集解释为没有任何数据副本的文件?

python audio dataset hdf5 librosa
1个回答
0
投票

在引擎盖下, 作品 正在分配

self.of = opus.op_open_file(ogg.to_char_p(path), ctypes.pointer(error))

即使没有 猴子补丁, 看起来你应该能够创建

f = OpusFileStream(my_ogg_file)
以标准支持的方式,然后去分配给
f.of = ...
一些类似文件的对象 对应于您的 HDF5 字节流。 请务必设置
f.channels
等。价值观 适用于 HDF5 音频内容。

© www.soinside.com 2019 - 2024. All rights reserved.