<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>超群.com的博客 &#187; attached picture</title>
	<atom:link href="http://www.fuchaoqun.com/tag/attached-picture/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fuchaoqun.com</link>
	<description></description>
	<lastBuildDate>Thu, 22 Jul 2010 23:31:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Python处理MP3的歌词和图片</title>
		<link>http://www.fuchaoqun.com/2010/01/python-mp3-id3v2-lyrics-attached_picture/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=python-mp3-id3v2-lyrics-attached_picture</link>
		<comments>http://www.fuchaoqun.com/2010/01/python-mp3-id3v2-lyrics-attached_picture/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 14:51:31 +0000</pubDate>
		<dc:creator>超群.com</dc:creator>
				<category><![CDATA[默认分类]]></category>
		<category><![CDATA[attached picture]]></category>
		<category><![CDATA[id3v2]]></category>
		<category><![CDATA[lyrics]]></category>
		<category><![CDATA[mp3]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.fuchaoqun.com/?p=289</guid>
		<description><![CDATA[一些MP3播放器（包括iphone、ipod、itouch、blackberry等）可以在播放mp3的时候显示专辑图片、歌词等信息而不需要额外的图片文件和歌词文件，仅仅一个mp3文件就搞定，比较有意思。除了用专门的软件（比如itunes）来制作这样的mp3，我们还可以用程序来批量生成。 查阅mp3头信息ID3V2的技术文档，发现可以往ID3信息里面加入歌词和图片信息（可以在页面上查找Lyrics、Attached picture就能发现相应的内容）。有了官方格式上的支持，我们要做的就是把歌词和图片加入到MP3文件中去。 测试一些开源的软件包，发现一个比较可靠的：eyeD3，由python语言编写，直接上代码： 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 #coding=utf-8 import eyeD3 import re &#160; # mp3文件 mp3_file = '/path/to/foobar.mp3' # lrc歌词文件 lrc_file = '/path/to/foobar.lrc' # [...]]]></description>
			<content:encoded><![CDATA[<p>一些MP3播放器（包括iphone、ipod、itouch、blackberry等）可以在播放mp3的时候显示专辑图片、歌词等信息而不需要额外的图片文件和歌词文件，仅仅一个mp3文件就搞定，比较有意思。除了用专门的软件（比如itunes）来制作这样的mp3，我们还可以用程序来批量生成。</p>
<p>查阅mp3头信息<a href="http://www.id3.org/d3v2.3.0" target="_blank">ID3V2的技术文档</a>，发现可以往ID3信息里面加入歌词和图片信息（可以在页面上查找Lyrics、Attached picture就能发现相应的内容）。有了官方格式上的支持，我们要做的就是把歌词和图片加入到MP3文件中去。</p>
<p>测试一些开源的软件包，发现一个比较可靠的：<a href="http://eyed3.nicfit.net/" target="_blank">eyeD3</a>，由python语言编写，直接上代码：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
</pre></td><td class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">#coding=utf-8</span>
<span style="color: #ff7700;font-weight:bold;">import</span> eyeD3
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">re</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># mp3文件</span>
mp3_file = <span style="color: #483d8b;">'/path/to/foobar.mp3'</span>
<span style="color: #808080; font-style: italic;"># lrc歌词文件</span>
lrc_file = <span style="color: #483d8b;">'/path/to/foobar.lrc'</span>
<span style="color: #808080; font-style: italic;"># 专辑图片</span>
pic_file = <span style="color: #483d8b;">'/path/to/foobar.jpg'</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># 实例化eyeD3</span>
tag = eyeD3.<span style="color: black;">Tag</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># 绑定到mp3文件</span>
tag.<span style="color: black;">link</span><span style="color: black;">&#40;</span>mp3_file<span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># 去掉原文件中可能存在的图片</span>
tag.<span style="color: black;">removeImage</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># 去掉原文件中可能存在的歌词</span>
tag.<span style="color: black;">removeLyrics</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># 设定编码,非常重要，否则不支持中文</span>
tag.<span style="color: black;">encoding</span> = <span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\x</span>01'</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># 添加图片</span>
tag.<span style="color: black;">addImage</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">3</span>, pic_file, u<span style="color: #483d8b;">''</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># 添加歌词，注意要utf-8编码，去掉lrc中时间信息</span>
tag.<span style="color: black;">addLyrics</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">re</span>.<span style="color: black;">sub</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'(<span style="color: #000099; font-weight: bold;">\[</span>.*?<span style="color: #000099; font-weight: bold;">\]</span>[<span style="color: #000099; font-weight: bold;">\n</span>]*)+'</span>, <span style="color: #483d8b;">''</span>, <span style="color: #008000;">unicode</span><span style="color: black;">&#40;</span><span style="color: #008000;">open</span><span style="color: black;">&#40;</span>lrc_file, <span style="color: #483d8b;">'r'</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>, <span style="color: #483d8b;">'utf8'</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># 更新到文件</span>
tag.<span style="color: black;">update</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></td></tr></table></div>

<p>代码非常简单，需要注意的是设定编码，不然歌词就乱码了。有了eyeD3之后，可以写个爬虫，从网上抓下歌词和图片直接灌进MP3文件里面，剩下的就是享受了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fuchaoqun.com/2010/01/python-mp3-id3v2-lyrics-attached_picture/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->