tinytag入门教程:3行Python代码获取歌曲信息(附实例)
tinytag入门教程3行Python代码获取歌曲信息附实例【免费下载链接】tinytagPython library for reading audio file metadata项目地址: https://gitcode.com/gh_mirrors/ti/tinytag 想要快速读取音乐文件的元数据信息吗tinytag 是一个轻量级的 Python 库专门用于读取音频文件的元数据信息包括歌曲标题、艺术家、专辑、时长、比特率等关键信息。作为纯 Python 实现且无依赖的音频元数据读取工具tinytag 提供了简单易用的 API让您只需几行代码就能获取完整的歌曲信息。 tinytag 是什么tinytag是一个专注于读取音频文件元数据的 Python 库。它支持多种主流音频格式包括 MP3、M4A、WAV、OGG、FLAC、WMA、AIFF 等。无论您是开发音乐播放器、音乐管理系统还是需要批量处理音频文件tinytag 都能为您提供简单高效的解决方案。核心功能亮点多格式支持支持 ID3 v1/v2、MP3、M4A、WAV、OGG、FLAC、WMA、AIFF 等格式轻量高效纯 Python 实现无需外部依赖统一 API所有音频格式使用相同的 API 接口丰富信息可读取标签、图片、音频属性等完整元数据 快速安装步骤安装 tinytag 非常简单只需一行命令pip install tinytag或者如果您想从源码安装git clone https://gitcode.com/gh_mirrors/ti/tinytag cd tinytag pip install . 3行代码获取歌曲信息tinytag 的使用非常简单直观。下面是一个最基本的示例from tinytag import TinyTag # 读取音频文件元数据 tag TinyTag.get(/path/to/your/music.mp3) # 打印歌曲信息 print(f歌曲: {tag.title}) print(f艺术家: {tag.artist}) print(f专辑: {tag.album}) print(f时长: {tag.duration:.2f}秒)是的就是这么简单只需要 3 行核心代码您就能获取音频文件的基本信息。 支持的音频格式tinytag 支持广泛的音频格式包括格式类型支持版本主要用途MP3/MP2/MP1ID3 v1, v1.1, v2.2, v2.3最常见的音频格式M4AAAC / ALACApple 音频格式WAVE/WAV标准 WAV 格式无损音频OGGFLAC / Opus / Speex / Vorbis开源音频格式FLAC无损音频格式高质量音频WMAWindows Media AudioWindows 媒体格式AIFF/AIFF-CApple 音频交换格式Mac 音频格式 常用元数据字段tinytag 可以读取以下常见的元数据信息音频文件属性filesize- 文件大小字节duration- 音频时长秒bitrate- 比特率kbpssamplerate- 采样率Hzchannels- 声道数音乐元数据title- 歌曲标题artist- 艺术家album- 专辑名称year- 发行年份genre- 音乐流派track- 曲目编号track_total- 总曲目数disc- 光盘编号disc_total- 总光盘数comment- 注释信息 实际应用示例示例1批量读取音乐库信息import os from tinytag import TinyTag def scan_music_library(folder_path): 扫描音乐库并提取元数据 music_info [] for root, dirs, files in os.walk(folder_path): for file in files: if file.lower().endswith((.mp3, .m4a, .flac, .wav)): file_path os.path.join(root, file) try: tag TinyTag.get(file_path) music_info.append({ file: file, title: tag.title or 未知, artist: tag.artist or 未知, album: tag.album or 未知, duration: tag.duration, bitrate: tag.bitrate }) except Exception as e: print(f读取 {file} 失败: {e}) return music_info # 使用示例 music_library scan_music_library(/path/to/music) print(f共找到 {len(music_library)} 首歌曲)示例2创建音乐播放列表from tinytag import TinyTag import json def create_playlist_json(music_files): 创建 JSON 格式的播放列表 playlist [] for file_path in music_files: try: tag TinyTag.get(file_path) playlist.append({ path: file_path, title: tag.title, artist: tag.artist, album: tag.album, duration: tag.duration, track: tag.track }) except: continue # 保存为 JSON 文件 with open(playlist.json, w, encodingutf-8) as f: json.dump(playlist, f, ensure_asciiFalse, indent2) return playlist 高级功能探索读取专辑封面图片tinytag 还可以读取音频文件中的专辑封面图片from tinytag import TinyTag tag TinyTag.get(/path/to/music.mp3) # 检查是否有专辑封面 if tag.images and tag.images.any: # 获取第一个图片 image_data tag.images.any # 保存专辑封面 with open(album_cover.jpg, wb) as f: f.write(image_data) print(专辑封面已保存)命令行工具使用tinytag 还提供了命令行工具可以直接在终端中使用# 查看单个文件信息 python -m tinytag /path/to/music.mp3 # 查看多个文件信息 python -m tinytag song1.mp3 song2.flac song3.m4a # 查看帮助信息 python -m tinytag --help⚠️ 注意事项只读不写tinytag 只提供读取功能不支持修改音频元数据。如果需要修改建议使用 Mutagen 等其他库。错误处理建议在代码中添加适当的错误处理以应对损坏或不支持的音频文件。性能优化对于大量文件的批量处理可以考虑使用多线程或异步处理来提高效率。 深入学习资源要了解更多 tinytag 的详细功能和高级用法可以查看以下资源核心源码文件tinytag/tinytag.py - 主要实现文件测试示例tinytag/tests/ - 查看测试用例了解各种用法命令行接口tinytag/main.py - 命令行工具实现 总结tinytag 是一个简单而强大的 Python 音频元数据读取库特别适合需要快速获取音频文件信息的应用场景。无论是开发音乐播放器、音乐管理工具还是进行音频文件分析tinytag 都能为您提供高效便捷的解决方案。主要优势总结✅ 简单易用3行代码即可开始✅ 支持多种音频格式✅ 无外部依赖纯 Python 实现✅ 提供丰富的元数据信息✅ 包含命令行工具方便脚本使用现在就开始使用 tinytag让您的音频文件处理工作变得更加轻松高效吧【免费下载链接】tinytagPython library for reading audio file metadata项目地址: https://gitcode.com/gh_mirrors/ti/tinytag创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

使用AI来实现拼夕夕自动化运营脚本

使用AI来实现拼夕夕自动化运营脚本

AI编程是当前最热门的话题之一,指的是大模型来辅助人类进行编程,甚至由AI自动生成代码。这个过程通常被称为AI代码生成或AI辅助编程。 常见的AI编程工具: GitHub Copilot:基于OpenAI的Codex模型,能根据你的注释或代码…

2026/6/18 18:11:59阅读更多 →
打造极简登录界面:SilentSDDM配置文件编写实例与最佳实践

打造极简登录界面:SilentSDDM配置文件编写实例与最佳实践

打造极简登录界面:SilentSDDM配置文件编写实例与最佳实践 【免费下载链接】SilentSDDM A very customizable SDDM theme that actually looks good. 项目地址: https://gitcode.com/gh_mirrors/si/SilentSDDM 想要为你的Linux系统打造一个既美观又高度可定制…

2026/6/18 18:06:57阅读更多 →
Zod验证如何保障C.A.F.E.自动化的稳定性?深入解析项目架构

Zod验证如何保障C.A.F.E.自动化的稳定性?深入解析项目架构

Zod验证如何保障C.A.F.E.自动化的稳定性?深入解析项目架构 【免费下载链接】cafe-hass The "Third Way" for Home Assistant Automations. 项目地址: https://gitcode.com/gh_mirrors/ca/cafe-hass C.A.F.E.作为Home Assistant自动化的"第三条…

2026/6/18 18:06:57阅读更多 →
TC818A芯片应用指南:集成运放与LCD驱动的嵌入式信号处理设计

TC818A芯片应用指南:集成运放与LCD驱动的嵌入式信号处理设计

1. 项目概述:TC818A芯片的定位与核心价值 在嵌入式系统开发,尤其是那些需要模拟信号处理与信息显示的场合,选对一颗核心芯片往往能决定整个项目的成败。今天要聊的这颗TC818A,就是这样一个集成了模拟前端和显示驱动的“多面手”。…

2026/6/19 11:01:03阅读更多 →
TC1320 DAC芯片详解:I2C接口、低功耗设计与嵌入式应用实战

TC1320 DAC芯片详解:I2C接口、低功耗设计与嵌入式应用实战

1. 项目概述:为什么是TC1320?在嵌入式开发,尤其是需要精密模拟量输出的场景里,选对一颗DAC(数模转换器)芯片,往往能让整个项目的稳定性和功耗表现提升一个档次。今天要聊的TC1320,就…

2026/6/19 11:01:03阅读更多 →
CMOS LDO TC1107:低功耗传感器节点的电源管家设计指南

CMOS LDO TC1107:低功耗传感器节点的电源管家设计指南

1. 项目概述:从一颗“小芯片”聊起最近在整理一个低功耗传感器节点的BOM表,电源部分的设计让我又一次把目光聚焦在了LDO上。手头正好有几片Microchip(原Microsemi)的TC1107,这玩意儿在业内算不上什么新潮货&#xff0c…

2026/6/19 11:01:02阅读更多 →
零打板自制ELRS接收机:基于ESP-01F与SX1280的轻量化实践

零打板自制ELRS接收机:基于ESP-01F与SX1280的轻量化实践

1. 为什么选择ESP-01F和SX1280搭建ELRS接收机 玩航模的朋友都知道,接收机的重量和稳定性直接影响飞行体验。传统方案要么价格昂贵,要么体积笨重。我最近尝试用ESP-01F WiFi模块和SX1280 LoRa射频模块组合,成功做出了一个仅5克重的2.4G ELRS接…

2026/6/19 11:01:02阅读更多 →
Microchip 24XX512 EEPROM选型全解析:从命名规则到电路设计

Microchip 24XX512 EEPROM选型全解析:从命名规则到电路设计

1. 项目概述:为什么需要吃透这颗“小芯片”?在嵌入式开发或者硬件设计里,我们经常会遇到一个看似简单却至关重要的需求:掉电后数据不能丢。无论是保存设备的校准参数、记录运行日志,还是存储用户的配置信息&#xff0c…

2026/6/19 11:01:02阅读更多 →
LogExpert终极指南:Windows平台最强日志分析工具,告别命令行tail的烦恼

LogExpert终极指南:Windows平台最强日志分析工具,告别命令行tail的烦恼

LogExpert终极指南:Windows平台最强日志分析工具,告别命令行tail的烦恼 【免费下载链接】LogExpert Windows tail program and log file analyzer. 项目地址: https://gitcode.com/gh_mirrors/lo/LogExpert 在Windows平台上进行日志分析&#xff…

2026/6/19 10:56:02阅读更多 →
Photobucket付费墙背后:5美元买童年回忆却落得一场空!

Photobucket付费墙背后:5美元买童年回忆却落得一场空!

1. 付费墙初现如今身处万亿市值公司林立的时代,我们也不能轻易放弃5美元。就像Photobucket,它曾相当于过去的Imgur,我们小时候常把图片上传到这个网站,然后在各种论坛上分享链接,它简单好用,尽职尽责。但最…

2026/6/19 0:04:37阅读更多 →
如何在5分钟内掌握Mermaid Live Editor:实时图表编辑终极指南

如何在5分钟内掌握Mermaid Live Editor:实时图表编辑终极指南

如何在5分钟内掌握Mermaid Live Editor:实时图表编辑终极指南 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid-live…

2026/6/19 0:04:37阅读更多 →
yuzu模拟器内存修改技术深度解析:金手指功能实现原理与实践指南

yuzu模拟器内存修改技术深度解析:金手指功能实现原理与实践指南

yuzu模拟器内存修改技术深度解析:金手指功能实现原理与实践指南 【免费下载链接】yuzu 项目地址: https://gitcode.com/GitHub_Trending/yuz/yuzu yuzu作为目前最流行的开源Nintendo Switch模拟器,不仅提供了完整的游戏运行环境,还内…

2026/6/19 0:04:37阅读更多 →