PyTaglib / Taglib DSD / DSF格式

时间:2018-07-12 10:35:24

标签: python taglib id3v2

目前,我正在使用Python编写脚本来读取和编辑音频文件中的ID3标签。我当前使用的是基于https://github.com/supermihi/pytaglibhttp://taglib.org/,但是该库不支持dsf文件。 是否有适用于dsf文件的Python库或基于命令行的工具?另一种选择是直接从文件中写入和读取标签。字节20-28应该是存储ID3标签的指针。是否有任何文档将ID3v2标签存储在二进制数据中?

1 个答案:

答案 0 :(得分:0)

DSD文件符合ID3V2。我进行了一些挖掘,发现此Python库诱变剂(https://mutagen.readthedocs.io/en/latest/index.html)支持ID3v2标签的读取和编辑。为了解密元数据的输出,您应该打开此网站(http://id3.org/id3v2.3.0)。这是一个示例脚本,可帮助将其组合在一起:

# !/usr/bin/python
# -*- coding: utf-8 -*-

import mutagen

x = mutagen.File("/Volumes/music/emilie-claire_barlow/seule_ce_soir_2ch64fs_dsd-dsf_2_8224_mhz/01_quand_le_soleil_dit_bonjour_aux_montagnes_2ch64.dsf")

if 'TDRC' in x:
    print('Year: {}'.format(x['TDRC']))
print('Track Number: {}'.format(x['TRCK']))
print('Title/songname/content description: {}'.format(x['TIT2']))
print('Content type(genre): {}'.format(x['TCON']))
if 'TXXX:DURATION' in x:
    print('Duration: {}'.format(x['TXXX:DURATION']))
print('Lead performer(s)/Soloist(s): {}'.format(x['TPE1']))
print('Band/orchestra/accompaniment: {}'.format(x['TPE2']))
print('Album/Movie/Show title: {}'.format(x['TALB']))
if 'TCOM' in x:
    print('Composer: {}'.format(x['TCOM']))