python:mutagen

Mutagen

Mutagen Logo
本家: Overview - mutagen
ソースコード: quodlibet/mutagen: Python module for handling audio metadata

Mutagen は、オーディオメタデータを処理する Python モジュールである。
ASF、FLAC、MP4、Monkey's Audio、MP3、Musepack、Ogg Opus、Ogg FLAC、Ogg Speex、Ogg Theora、Ogg Vorbis、True Audio、WavPack、OptimFROG、および AIFF オーディオファイルをサポートしている。
ID3v2 のすべてのバージョンがサポートされており、すべての標準 ID3v2.4 フレームが解析される。
Xing ヘッダーを読み取って、MP3 のビットレートと長さを正確に計算できる。
ID3 および APEv2 タグは、オーディオ形式に関係なく編集できる。
また、個々のパケット/ページレベルで Ogg ストリームを操作できる。

Mutagen は、Linux、Windows、および macOS 上の Python 2.7、3.5+ (CPython および PyPy) で動作し、Python 標準ライブラリ以外の依存関係は無い。Mutagen は GPL バージョン 2 以降でライセンスされている。
Overview — mutagen より

$ pip install mutagen
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting mutagen
  Downloading https://files.pythonhosted.org/packages/16/b3/f7aa8edf2ff4495116f95fd442b2a346aa55d1d46313143c8814886dbcdb/mutagen-1.45.1-py3-none-any.whl (218kB)
    100% |████████████████████████████████| 225kB 226kB/s
Installing collected packages: mutagen
Successfully installed mutagen-1.45.1

.mp3 (MPEG-1 Audio Layer-3)

MP3 (エムピースリー、英: MPEG-1 Audio Layer-3) は、音響データを圧縮する技術の1つであり、それから作られる音声ファイルフォーマットでもある。ファイルの拡張子は「.mp3」である。
MP3 - Wikipedia より

PS > py
Python 3.8.1 (tags/v3.8.1:1b293b6, Dec 18 2019, 23:11:46) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import mutagen
>>> ft = mutagen.File(r"B'z\048.15.2006.MONSTER\01 - ALL-OUT ATTACK.mp3")
>>> ft.info.pprint()
'MPEG 1 layer 3, 192000 bps (CBR?), 44100 Hz, 2 chn, 251.37 seconds'
>>>

.m4a (MPEG-4 audio ALAC/AAC-LC)

.m4a、.m4b、.m4v、.m4p、.m4r は Apple 社が決めた拡張子である。

拡張子 形式 補足
.m4a MPEG-4 Audio File AAC/Apple Lossless エンコーダ, DRM保護なし
.m4b MPEG-4 Audio Book File iTunes ストア オーディオブック ファイル, Apple FairPlay DRM保護
.m4v MPEG-4 Video File Apple FairPlay DRM保護/保護なし
.m4p MPEG-4 Music Store Audio File Apple Music, Apple FairPlay DRM保護
.m4r MPEG-4 Ringtone File iOS 着信音ファイル

ALAC (Apple Lossless Audio Codec)
※iTunes で Apple Lossless エンコーダ を選択して .m4a を生成するとこのコーデックが使用される。
AAC (Advanced Audio Coding)
AAC-LC (AAC Low Complexity)
※iTunes で AAC エンコーダ を選択して .m4a を生成するとこのコーデックが使用される。

AAC - Wikipedia より
MP4 - Wikipedia より

PS > py
Python 3.8.1 (tags/v3.8.1:1b293b6, Dec 18 2019, 23:11:46) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> import mutagen
>>> import wave
 
>>> wf = wave.open(r"B'z\DINOSAUR\01 Dinosaur.wav", 'r')
>>> wf.getparams()
_wave_params(nchannels=2, sampwidth=2, framerate=48000, nframes=14940800, comptype='NONE', compname='not compressed')
>>> '{:,}'.format(os.path.getsize(r"B'z\DINOSAUR\01 Dinosaur.wav"))
'59,763,244'
 
>>> ft = mutagen.File(r"B'z\DINOSAUR\01 Dinosaur.m4a")
>>> ft.info.pprint()
'MPEG-4 audio (ALAC), 311.27 seconds, 972145 bps'
>>> '{:,}'.format(os.path.getsize(r"B'z\DINOSAUR\01 Dinosaur.m4a"))
'37,853,103'
 
>>> ft = mutagen.File(r"B'z\054.20.2017.DINOSAUR\01 Dinosaur.m4a")
>>> ft.info.pprint()
'MPEG-4 audio (AAC LC), 311.33 seconds, 320000 bps'
>>> '{:,}'.format(os.path.getsize(r"B'z\054.20.2017.DINOSAUR\01 Dinosaur.m4a"))
'13,562,702'
>>>
.wav .m4a(ALAC) .m4a(AAC-LC)
ビットレート 1,536.0 kbps 972.145 kbps 320.0 kbps
サイズ(byte) 59,763,244
(100%)
37,853,103
(63%)
13,562,702
(22%)

※ビットレート
 44100Hz × 16bit × 2ch(ステレオ) = 1,411.2kbps
 48000Hz x 16bit × 2ch(ステレオ) = 1,536.0kbps

  • python/mutagen.txt
  • 最終更新: 2021/10/05 01:13
  • by ともやん