音乐标签批量导出和导入

#最近下载了一批WAV格式的音乐。可是 WAV格式的体积太大,然后iPhone 也无法播放。

放在NAS上转码 转码也要等一会才能听。用格式工厂转码后的文件是噪音,音乐都没了,

最后发现用酷狗可以 ,但是坑爹的 酷狗转的音乐 标签全部都抹了。

专辑名字,歌词都没了。

然后自己查了一下 使用music-tag 先导出标签 然后 再用酷狗转成FLAC 然后再用music-tag根据导出的名字再写到flac里面。反正就听折腾的。后来自己就用python 写了点代码 来帮我操作

先是导出音乐标签 保存在再脚本所在的alltag目录

import music_tag,json,os,sys


def readTag(file):
    f=music_tag.load_file(file)# dict access returns a Metadata
    allTag=['tracktitle','artist','album','albumartist','composer','tracknumber','totaltracks','discnumber','totaldiscs','genre','year','lyrics','isrc','comment','compilation']
    #artwork
    info={}
    for i in allTag:
        info[i]=str(f[i])
        #print(i,f[i])
    print(f.filename)
    #d=json.loads(j)
    #print(f.filename.split("/")[-1:])
    tName=os.getcwd()+'/alltag/'+f.filename.split("/")[-1:][0]+'.json'
    tFile=open(tName,"w")
    tFile.write(json.dumps(info));
    tFile.flush()
    tFile.close()




path=input("输入目录")
list=os.listdir(path)
for m in list:
    readTag(path+"/"+m)


匹配转码过的歌曲

import music_tag,json,os,sys


def writeTag(file):
    f=music_tag.load_file(file)# dict access returns a Metadata
    tName=os.getcwd()+'\\alltag\\'+f.filename.split("/")[-1:][0]+'.json'
    tName=tName.replace(".flac",".wav")  #后缀记得替换否则找不到文件
    tag=json.loads(open(tName).read())
    allTag=['tracktitle','artist','album','albumartist','composer','tracknumber','totaltracks','discnumber','totaldiscs','genre','year','lyrics','isrc','comment','compilation']
    #artwork
    for i in allTag:
        try:
            f.remove_tag(i)
            f.append_tag(i,tag[i])
        except Exception as e:
            pass
    f.save()





path=input("输入目录")
list=os.listdir(path)
l=len(list)
for m in list:
    
    print("剩余",l,"个",'正在处理',m)
    writeTag(path+"/"+m)
    l-=1


就这么多吧。。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值