Python添加flac文件标签并实现wav转flac

在网上下载了flac格式的无损音乐专辑,但是标签都是乱码或者是空白,在播放器里不能连续的播放,显示的都是未知艺术家,看的我强迫症都犯了。我还顺便将.wmv转成了.flac,但是需要安装ffmpeg,具体的安装方法可以看这个链接https://blog.csdn.net/qq_30091945/article/details/81154014

我直接用了ffmpeg里的命令来转换,但是发现文件命令里不能有空格,还得重命名一下。我把代码存一下,省的以后找不到。

from mutagen.flac import FLAC
import os


def flac_process(file_dir, info):
    audio = FLAC(file_dir)

    audio["TITLE"] = info['TITLE']
    audio["ARTIST"] = info['ARTIST']
    audio["ALBUMARIST"] = info['ALBUMARIST']
    audio["ALBUM"] = info['ALBUM']
    audio["DATE"] = info['DATE']
    audio["GENRE"] = info['GENRE']
    audio["TRACKNUMBER"] = info['TRACKNUMBER']
    audio.pprint()
    audio.save()


def wav_to_flac(file_dir):
    save_dir = file_dir.replace('.wav', '.flac')
    cmd = 'ffmpeg -i ' + file_dir + ' ' + save_dir
    print(cmd)
    os.system(cmd)


def file_rename(file_dir):
    rename_dir = file_dir.replace(' ', '_')
    os.rename(file_dir, rename_dir)


if __name__ == "__main__":

    os.chdir(r'C:/Users/15323/Music/邓紫棋/G.E.M.-新的心跳 - 副本/')
    input_dir = os.getcwd()

    for file in os.listdir(input_dir):
        file_rename(file)

    for file in os.listdir(input_dir):
        if file.split('.')[-1] == 'wav':
            wav_to_flac(file)

    for file in os.listdir(input_dir):
        if file.split('.')[-1] == 'flac':
            file_name = file.split('.')[0]
            name = file_name[3:]
            number = file_name[:2]

            info = {
                'TITLE': name,
                'ARTIST': u'邓紫棋',
                'ALBUMARIST': u'邓紫棋',
                'ALBUM': u'新的心跳',
                'DATE': '2015',
                'GENRE': 'Pop',
                'TRACKNUMBER': number
            }
            print(info)

            flac_process(file, info)

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值