両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン 次のリビジョン両方とも次のリビジョン |
python:mutagen [2020/01/29 07:34] – [参考文献] ともやん | python:mutagen [2020/03/24 04:38] – [音楽ファイルフォーマット] ともやん |
---|
| <html> |
| <style> |
| #mincode pre { |
| /*height: 300px;*/ |
| overflow: scroll; |
| overflow-x: hidden; |
| font-size: 10px; |
| } |
| #mintbl table { |
| font-size: 12px; |
| } |
| .dokuwiki .plugin_wrap table { |
| width: auto; |
| } |
| </style> |
| </html> |
====== Mutagen ====== | ====== Mutagen ====== |
{{python:mutaggen_logo.svg?400|Mutagen Logo}}\\ | {{python:mutaggen_logo.svg?400|Mutagen Logo}}\\ |
[[http://docs.puddletag.net/|Home — puddletag]]\\ | [[http://docs.puddletag.net/|Home — puddletag]]\\ |
[[https://github.com/keithgg/puddletag|keithgg/puddletag: Powerful, simple, audio tag editor for GNU/Linux]] - github\\ | [[https://github.com/keithgg/puddletag|keithgg/puddletag: Powerful, simple, audio tag editor for GNU/Linux]] - github\\ |
| |
| ===== 基礎知識 ===== |
| |
| ==== 音楽ファイルフォーマット ==== |
| |
| === .mp3 (MPEG-1 Audio Layer-3) === |
| MP3 (エムピースリー、英: MPEG-1 Audio Layer-3) は、音響データを圧縮する技術の1つであり、それから作られる音声ファイルフォーマットでもある。ファイルの拡張子は「.mp3」である。\\ |
| [[wpjp>MP3|MP3 - Wikipedia]] より\\ |
| <WRAP prewrap 100% #mincode> |
| <code python> |
| 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' |
| >>> |
| </code> |
| </WRAP> |
| |
| === .m4a (MPEG-4 audio ALAC/AAC-LC) === |
| .m4a、.m4b、.m4v、.m4p、.m4r は Apple 社が決めた拡張子である。\\ |
| <WRAP prewrap 100% #mintbl> |
| ^ 拡張子 ^ 形式 ^ 補足 ^ |
| | [[https://fileinfo.com/extension/m4a|.m4a]] | MPEG-4 Audio File | AAC/Apple Lossless エンコーダ, DRM保護なし | |
| | [[https://fileinfo.com/extension/m4b|.m4b]] | MPEG-4 Audio Book File | iTunes ストア オーディオブック ファイル, Apple FairPlay DRM保護 | |
| | [[https://fileinfo.com/extension/m4v|.m4v]] | MPEG-4 Video File | Apple FairPlay DRM保護/保護なし | |
| | [[https://fileinfo.com/extension/m4p|.m4p]] | MPEG-4 Music Store Audio File | Apple Music, Apple FairPlay DRM保護 | |
| | [[https://fileinfo.com/extension/m4r|.m4r]] | MPEG-4 Ringtone File | iOS 着信音ファイル | |
| </WRAP> |
| [[wpjp>Apple_Lossless|ALAC]] (Apple Lossless Audio Codec)\\ |
| ※iTunes で **Apple Lossless エンコーダ** を選択して **.m4a** を生成するとこのコーデックが使用される。\\ |
| [[wpjp>AAC|AAC]] (Advanced Audio Coding)\\ |
| AAC-LC (AAC Low Complexity)\\ |
| ※iTunes で **AAC エンコーダ** を選択して **.m4a** を生成するとこのコーデックが使用される。\\ |
| \\ |
| [[wpjp>AAC|AAC - Wikipedia]] より\\ |
| [[https://www.tunemobie.net/resources/aac-m4a-m4b-m4p-m4r.html|AAC、M4A、M4B、M4PとM4Rとは?iTunes音声形式の説明 - TuneMobie]]\\ |
| [[https://align-centre.hatenablog.com/entry/2014/04/28/222154|デジタルオーディオの仕組み - 音声圧縮の原理 MP3, AAC, ATRAC, etc. - White croQuis]]\\ |
| |
| [[wpjp>MP4|MP4 - Wikipedia]] より\\ |
| <WRAP prewrap 100% #mincode> |
| <code python> |
| 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' |
| >>> |
| </code> |
| </WRAP> |
| ^ ^ .wav ^ .m4a(ALAC) ^ .m4a(AAC-LC) ^ |
| ^ ビットレート | 1,536.0kbps | 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\\ |
| |
===== 参考文献 ===== | ===== 参考文献 ===== |
[[https://python-discid.readthedocs.io/en/latest/|python-discid 1.1 — python-discid 1.1 documentation]]\\ | [[https://python-discid.readthedocs.io/en/latest/|python-discid 1.1 — python-discid 1.1 documentation]]\\ |
[[http://www.kuma-de.com/blog/2018-05-03/7404|[日記] CDの曲情報ってどうやって取得しているの? CDDB / TOC « きんくまデザイン]]\\ | [[http://www.kuma-de.com/blog/2018-05-03/7404|[日記] CDの曲情報ってどうやって取得しているの? CDDB / TOC « きんくまデザイン]]\\ |
| \\ |
| **ID3タグ**\\ |
| [[wpjp>ID3タグ|ID3タグ - Wikipedia]]\\ |
| [[http://eleken.y-lab.org/report/other/mp3tags.shtml|MP3 ファイルのタグについての解説 (id3v1, id3v2, MPEG フレームヘッダ, XING ヘッダ) - Y-Lab. Electronics]]\\ |
| \\ |
| **ID3 マッピングテーブル**\\ |
[[http://wiki.hydrogenaud.io/index.php?title=Tag_Mapping|Tag Mapping - Hydrogenaudio Knowledgebase]]\\ | [[http://wiki.hydrogenaud.io/index.php?title=Tag_Mapping|Tag Mapping - Hydrogenaudio Knowledgebase]]\\ |
| |