用于从音频文件中读取和将来写入元数据的库。

audio-metadata的Python项目详细描述


音频元数据

PyPI
TravisCodecov
Docs - StableDocs - Latest

audio-metadata是一个用于从音频文件读取和将来写入元数据的库。

为什么选择另一个音频元数据库?/为什么不使用诱变剂等?

清晰易懂的代码、良好的api和良好的ux(用户体验)是音频元数据的重点。 一个或多个我觉得从现有的选择中缺少的东西 足以让你想在脑海中从头开始写点什么。 此外,还有一些在其他解决方案中不存在的特性,要添加这些特性会非常痛苦。

那么,我为什么要用它呢?

与众不同的功能和功能:

  • 使用python标准加载/转储api。
    • 可以加载文件路径、类文件对象和二进制数据(类字节对象)。
  • 元数据对象看起来像dict,而则像dict。
    • 一些常见的库隐藏了dict的表示 和/或dict方法,但其行为与dict不同。
    • 支持可与dict密钥订阅混合使用的属性样式访问。
  • 所有元数据对象都具有用户友好的表示。
    • 这包括特定值的人性化表示 例如文件大小、比特率、持续时间和采样率。
>>> import audio_metadata

>>> metadata = audio_metadata.load('05 - Heart of Hearts.flac')

>>> metadata
<FLAC ({
	'filepath': '05 - Heart of Hearts.flac',
	'filesize': '44.23 MiB',
	'pictures': [],
	'seektable': <FLACSeekTable (37 seekpoints)>,
	'streaminfo': <FLACStreamInfo ({
		'bit_depth': 16,
		'bitrate': '1022 Kbps',
		'channels': 2,
		'duration': '06:03',
		'md5': '3ae700893d099a5d281a5d8db7847671',
		'sample_rate': '44.1 KHz',
	})>,
	'tags': <VorbisComment ({
		'album': ['Myth Takes'],
		'artist': ['!!!'],
		'bpm': ['119'],
		'date': ['2007'],
		'genre': ['Dance Punk'],
		'title': ['Heart of Hearts'],
		'tracknumber': ['05'],
	})>,
})>

>>> metadata['streaminfo']
<FLACStreamInfo ({
	'bit_depth': 16,
	'bitrate': '1022 Kbps',
	'channels': 2,
	'duration': '06:03',
	'md5': '3ae700893d099a5d281a5d8db7847671',
	'sample_rate': '44.1 KHz',
})>

>>> metadata.streaminfo.bitrate
1022134.0362995076

>>> metadata.streaminfo['duration']
362.9066666666667

>>> metadata['streaminfo'].sample_rate
44100

安装

pip install -U audio-metadata

用法

有关发布版本,请参见stable docs
有关开发版本,请参见latest docs

我们将介绍高级api和基本用法,但更高级的特性/功能需要文档。

待办事项

请不要提交有关以下内容的问题:

  • 文档、文档和更多文档。
  • 完成ID3摘要。
  • 添加对更多文件格式的支持。
    • MP4的阅读已经进行得很顺利了。
  • 添加写支持。

如果你愿意contribute 花时间研究它们,在Discourse forum上的development类别上发表文章。

感谢

表示感谢总是受欢迎的。

谢谢

Say Thanks

SayThanks.io获得您自己的感谢收件箱。

贡献

Contribute通过提交错误报告、功能请求或代码。

帮助他人/随时了解情况

Discourse forum

转诊/捐赠

CoinbaseDigital OceanNamecheapPayPal

btc:1BMLCFPcX8YHE1He2t3aBrsNDGr1pKhfFa
eth:0x8E3f8d8eAedeA61Bf34A998A2104954FE508D5d0
ltc:LgsQU1YaY4a4s7m9efjn6m35XhVEpW1xoP

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Admob不使用webview   Java Wicket表单:序列化对象类“myClassName”时出错   java googledriveapi更新文件与我的帐户管理员   java简单框架未知xml标记解析   java如何使用主类和用户获取Spark应用程序ID   java如何更改自定义属性的值?   java有没有办法在jMock中找到未使用的期望值?   gradle运行任务的java文档?   java通过使用数组来存储文本文件的行,通过覆盖来删除文本文件中的行   用于表达式语言注入的java利用负载   java IDEStyle程序运行   java在运行时启用/禁用Springws   爪哇芦苇。formatNumber NullPointException   java为什么我的代码无法检测两个动态实体之间的碰撞?