File: tagsources.html

package info (click to toggle)
puddletag 2.5.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 29,888 kB
  • sloc: python: 24,938; javascript: 21,828; xml: 964; makefile: 129; sh: 85
file content (302 lines) | stat: -rw-r--r-- 21,715 bytes parent folder | download | duplicates (3)
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302

<!DOCTYPE html>

<html>
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Using Tag Sources &#8212; puddletag</title>
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    <link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
    <script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
    <script src="../_static/jquery.js"></script>
    <script src="../_static/underscore.js"></script>
    <script src="../_static/doctools.js"></script>
    <link rel="author" title="About these documents" href="../about.html" />
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
<meta charset='utf-8'>
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
<meta name="apple-mobile-web-app-capable" content="yes">
<script type="text/javascript" src="../_static/js/jquery-1.11.0.min.js "></script>
<script type="text/javascript" src="../_static/js/jquery-fix.js "></script>
<script type="text/javascript" src="../_static/bootstrap-3.3.7/js/bootstrap.min.js "></script>
<script type="text/javascript" src="../_static/bootstrap-sphinx.js "></script>

  </head><body>

  <div id="navbar" class="navbar navbar-default navbar-fixed-top">
    <div class="container">
      <div class="navbar-header">
        <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" href="../index.html">puddletag</a>
      </div>

        <div class="collapse navbar-collapse nav-collapse">
          <ul class="nav navbar-nav">
            <li class="divider-vertical"></li>
            
                <li><a href="../index.html">Home</a></li>
                <li><a href="../download.html">Download</a></li>
                <li><a href="../news.html">News</a></li>
                <li><a href="../docs.html">Documentation</a></li>
                <li><a href="https://github.com/puddletag/puddletag/issues">Issue Tracker</a></li>
                <li><a href="../screenshots.html">Screenshots</a></li>
                <li><a href="../about.html">About</a></li>
            
            
              
              
            
            
            
            
            
          </ul>

          
            
<form class="navbar-form navbar-right" action="../search.html" method="get">
 <div class="form-group">
  <input type="text" name="q" class="form-control" placeholder="Search" />
 </div>
  <input type="hidden" name="check_keywords" value="yes" />
  <input type="hidden" name="area" value="default" />
</form>
          
        </div>
    </div>
  </div>

<div class="container">
  <div class="row">
      <div class="col-md-3">
        <div id="sidebar" class="bs-sidenav" role="complementary"><ul>
<li><a class="reference internal" href="#">Using Tag Sources</a><ul>
<li><a class="reference internal" href="#the-tag-sources-window">The Tag Sources window</a></li>
<li><a class="reference internal" href="#how-to-search">How to Search</a></li>
<li><a class="reference internal" href="#using-acoustid">Using AcoustID</a></li>
<li><a class="reference internal" href="#using-amazon">Using Amazon</a></li>
<li><a class="reference internal" href="#using-discogs">Using Discogs</a></li>
<li><a class="reference internal" href="#using-freedb">Using FreeDB</a></li>
<li><a class="reference internal" href="#using-musicbrainz">Using MusicBrainz</a></li>
<li><a class="reference internal" href="#using-mp3tag-s-tag-sources">Using Mp3tag’s Tag Sources</a><ul>
<li><a class="reference internal" href="#caveats">Caveats</a></li>
</ul>
</li>
</ul>
</li>
</ul>


<hr style='width:80%'>


        </div>
      </div>
    <div class="body col-md-9 content" role="main">
      
  <div class="section" id="using-tag-sources">
<h1>Using Tag Sources<a class="headerlink" href="#using-tag-sources" title="Permalink to this headline">¶</a></h1>
<p>puddletag supports tagging your audio files using web based Tag Sources.</p>
<p>Included with puddletag are tag sources supporting lookups from <a class="reference internal" href="#amazon"><span class="std std-ref">Amazon</span></a>, <a class="reference internal" href="#discogs"><span class="std std-ref">Discogs</span></a>, <a class="reference internal" href="#freedb"><span class="std std-ref">FreeDB</span></a> and <a class="reference internal" href="#musicbrainz"><span class="std std-ref">MusicBrainz</span></a> and <a class="reference internal" href="#acoustid"><span class="std std-ref">AcoustID</span></a>. The metadata returned by each tag source is detailed at the bottom of this page.</p>
<div class="section" id="the-tag-sources-window">
<h2>The Tag Sources window<a class="headerlink" href="#the-tag-sources-window" title="Permalink to this headline">¶</a></h2>
<p>Refer to the screenshot below for a quick explanation of the Tag Sources windows’ controls:</p>
<img alt="Tag Source Example" class="align-center" src="../_images/eg_tagsource.png" />
<ol class="arabic simple">
<li><p>Selects a tag source.</p></li>
<li><p>Is the <strong>Search Box</strong>. Enter any text here to do a textual search. You cannot do a file-based and textual searches at the same time.</p></li>
<li><p>Lists the retrieved albums. Click on an album to retrieve metadata. Lookups are done by album, but you can select metadata by track too. Hover over an album/track to see an overview of the metadata that’ll get written.</p></li>
<li><p>After an album is selected, puddletag will enter <a class="reference internal" href="menus.html#preview-mode"><span class="std std-ref">Preview Mode</span></a>. Click on Write to write the previews, or use Write from the <a class="reference internal" href="menus.html#write-preview"><span class="std std-ref">Preview Mode menu</span></a> menu. Clear preview does as it says and exits preview mode.</p></li>
<li><p>Enter a list of comma-separated fields to write here, eg. <strong>artist, album</strong>, will update only the artist and album fields when you select an album. If left empty all the retrieved fields will be written. Starting the list with the tilde (~) character will write all but the fields you specify. eg. <strong>~year,mbrainz_track_id</strong> will write all the fields (artist, album, etc) but the year and mbrainz_track_id fields from the tag source.</p></li>
<li><p>Check this box and only fields that aren’t already in the file will get updated.</p></li>
<li><p>If checked, the album that best matches the retrieved albums will be automatically retrieved. See <a class="reference internal" href="preferences.html#auto-retrieval-prefs"><span class="std std-ref">Automatic Retrieval options</span></a>.</p></li>
</ol>
</div>
<div class="section" id="how-to-search">
<h2>How to Search<a class="headerlink" href="#how-to-search" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li><p>Make sure the Tag Sources window is visible (Windows-&gt;Tag Sources).</p></li>
<li><p>Choose a tag source.</p></li>
<li><p>Select all the files in an album you want to tag.</p></li>
<li><p>Click on Search.</p></li>
<li><p>The album’s tag’s will then be used to poll the tag sources.</p></li>
<li><p>When results are returned, select an appropriate album.</p></li>
<li><p>That album’s metadata will then be retrieved and the retrieved tags will be applied to the selected files. These changes aren’t written as puddletag will be in <a class="reference internal" href="menus.html#preview-mode"><span class="std std-ref">Preview Mode</span></a>.</p></li>
<li><p>Write the changes to the files using the <strong>Write</strong> button (feel free to make any changes yourself beforehand).</p></li>
</ul>
<p>Textual searches are also supported. If the Search Box has <em>any</em> text, it’ll be used to search with instead of the selected files. See the Search Box’s tooltip (or read the rest of this document) for details on how each tag source does textual searches.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>For a more detailed explanation see the <a class="reference internal" href="tut4.html"><span class="doc">Tag Sources tutorial</span></a>.</p>
</div>
</div>
<div class="section" id="using-acoustid">
<span id="acoustid"></span><h2>Using AcoustID<a class="headerlink" href="#using-acoustid" title="Permalink to this headline">¶</a></h2>
<p>AcoustID is a music fingerprinting service provided by Lukas Lalinsky. It works by calculating a unique fingerprint for your audio files and trying to match it to data in the AcoustID database. This allows you to find information for tracks that have no metadata!</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>In order to use the library you need to have <a class="reference external" href="http://acoustid.org/chromaprint">chromaprint</a> (specifically the fpcalc binary) installed.</p>
</div>
<p>AcoustID returns the same data as the <a class="reference internal" href="#musicbrainz"><span class="std std-ref">MusicBrainz tag source</span></a>, including the following fields.</p>
<ul class="simple">
<li><p><strong>acoustid_id</strong>: The AcoustID identifier for a track as returned by the AcoustID webservice.</p></li>
<li><p><strong>acoustid_fingerprint</strong>: The calculated AcoustID fingerprint. Can be a very large value.</p></li>
</ul>
</div>
<div class="section" id="using-amazon">
<span id="amazon"></span><h2>Using Amazon<a class="headerlink" href="#using-amazon" title="Permalink to this headline">¶</a></h2>
<p>The Amazon tag source polls Amazon.com’s XML service to retrieve album art. Basic track information is also retrieved.</p>
<p>Be sure to configure the tag source to retrieve the optimum size cover art. It defaults to medium.</p>
<p>Amazon does textual search too. The rules are:</p>
<ul class="simple">
<li><p>To search for a specific artist, album pair enter the search string as <strong>artist;album</strong>, ie. artist and album separated by a semi-colon.</p></li>
<li><p>Searching for the albums of a specific artist is done by leaving of the album part as in <strong>artist;</strong></p></li>
<li><p>For an album only leave off the artist part, ala <strong>;artist</strong></p></li>
<li><p>Type anything not matching the above to do a keyword search.</p></li>
</ul>
<p>Fields returned by the Amazon tag source are:</p>
<ul class="simple">
<li><p><strong>__image</strong>: Cover art.</p></li>
<li><p><strong>album</strong>: The release’s (album’s) name.</p></li>
<li><p><strong>artist</strong>: The track’s artist.</p></li>
<li><p><strong>asin</strong>: Amazon’s unique identifier for the album.</p></li>
<li><p><strong>label</strong>: The record label responsible for releasing the album.</p></li>
<li><p><strong>title</strong>: The track’s title.</p></li>
<li><p><strong>year</strong>: The album’s release date.</p></li>
</ul>
</div>
<div class="section" id="using-discogs">
<span id="discogs"></span><h2>Using Discogs<a class="headerlink" href="#using-discogs" title="Permalink to this headline">¶</a></h2>
<p>The Discogs.com tag source uses Discogs.com’s XML service to retrieve album information.</p>
<p>Be sure to configure the tag source to retrieve the optimum size cover art. It defaults to Large.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Discogs doesn’t allow lookups without a user agent any more. If you get <strong>Client Refused</strong> errors this is the reason. To rectify, set the user agent in Edit-&gt;Preferences-&gt;Tag Sources to <strong>puddletag/0.9.11</strong> or any other valid user agent.</p>
</div>
<p>Textual searches are supported. Rules are as follows:</p>
<ul class="simple">
<li><p>To search for a specific artist, album pair enter the search string as <strong>artist;album</strong>, ie. artist and album separated by a semi-colon.</p></li>
<li><p>Searching for the albums of a specific artist is done by leaving of the album part as in <strong>artist;</strong></p></li>
<li><p>For an album only leave off the artist part, ala <strong>;artist</strong></p></li>
<li><p>Retrieving an album using it’s Discogs Release ID is possible by using <strong>:r release_id</strong> where <strong>release_id</strong> is the Discogs Release ID.</p></li>
<li><p>Type anything not matching the above to do a keyword search.</p></li>
</ul>
<p>Fields returned this tag source are:</p>
<ul class="simple">
<li><p><strong>__image</strong>: Cover art. Usually more than one image.</p></li>
<li><p><strong>album</strong>: The release’s (album’s) name.</p></li>
<li><p><strong>artist</strong>: The track’s artist.</p></li>
<li><p><strong>country</strong>: The album’s release country</p></li>
<li><p><strong>discogs_catno</strong>: Discogs catalog number.</p></li>
<li><p><strong>discogs_format</strong>: The album’s release media (eg. Vinyl, CD, etc.)</p></li>
<li><p><strong>discogs_format_desc</strong>: The format description (eg. Album, Single, etc.)</p></li>
<li><p><strong>discogs_notes</strong>: Notes associated with the album.</p></li>
<li><p><strong>discogs_r_id</strong>: Discogs Release ID.</p></li>
<li><p><strong>discogs_summary</strong>: The album’s summary according to Discogs.</p></li>
<li><p><strong>discogs_uri</strong>: The album’s discogs URI.</p></li>
<li><p><strong>discnumber</strong>: Disc number.</p></li>
<li><p><strong>discs</strong>: Number of discs in the album.</p></li>
<li><p><strong>genre</strong>: Genres associated with the album.</p></li>
<li><p><strong>involvedpeople_album</strong>: People involved with the album’s creation. Taken from the extraartists node for the album. (Eg. <strong>Young Churf;Harpsichord</strong>)</p></li>
<li><p><strong>involvedpeople_track</strong>: People involved with the relevant track. Taken from the track’s extraartists node. (Eg. <strong>Young Churf;Harpsichord</strong>)</p></li>
<li><p><strong>label</strong>: The record label responsible for releasing the album.</p></li>
<li><p><strong>style</strong>: Discogs styles.</p></li>
<li><p><strong>track</strong>: Track number.</p></li>
<li><p><strong>year</strong>: The album’s release date.</p></li>
</ul>
</div>
<div class="section" id="using-freedb">
<span id="freedb"></span><h2>Using FreeDB<a class="headerlink" href="#using-freedb" title="Permalink to this headline">¶</a></h2>
<p>FreeDB creates a (semi-)unique DiscID by using the number of tracks, their order and lengths of a particular CD. The DiscID is then referenced to the FreeDB database and any matching albums are returned.</p>
<p>So all you need to do in order to do a FreeDB lookup is select all the files belonging to specific album and click on Search. It’s doesn’t work all the time, but it does most of the time.</p>
<ul class="simple">
<li><p><strong>album</strong>: The release’s (album’s) name.</p></li>
<li><p><strong>artist</strong>: The track’s artist.</p></li>
<li><p><strong>freedb_disc_id</strong>: The album’s FreeDB DiscID.</p></li>
<li><p><strong>freedb_category</strong>: The FreeDB category the album’s listed under.</p></li>
<li><p><strong>genre</strong>: The album’s genre.</p></li>
<li><p><strong>title</strong>: The track’s title.</p></li>
<li><p><strong>track</strong>: The track number.</p></li>
<li><p><strong>year</strong>: The earliest date that the album was released. Not available for every album.</p></li>
</ul>
</div>
<div class="section" id="using-musicbrainz">
<span id="musicbrainz"></span><h2>Using MusicBrainz<a class="headerlink" href="#using-musicbrainz" title="Permalink to this headline">¶</a></h2>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p><a class="reference external" href="http://musicbrainz.org/doc/python-musicbrainz2">python-musicbrainz2</a> ≥ 0.6.0 is required to enable MusicBrainz support.</p>
</div>
<p>In addition to normal file lookups MusicBrainz also supports textual searches. The rules are as follows.</p>
<ul class="simple">
<li><p>To search for a specific artist, album pair enter the search string as <strong>artist;album</strong>, ie. artist and album separated by a semi-colon.</p></li>
<li><p>Searching for the albums of a specific artist is done by leaving of the album part as in <strong>artist;</strong></p></li>
<li><p>For an album only leave off the artist part, ala <strong>;artist</strong></p></li>
<li><p>Retrieving the albums of an artist corresponding to a specific MusicBrainz Artist ID is done by starting your search string with <strong>:a</strong> as in
<strong>:a f59c5520-5f46-4d2c-b2c4-822eabf53419</strong></p></li>
<li><p>Also retrieving a specific album using it’s <strong>MusicBrainz Album ID</strong> can be done by starting your search string with <strong>:b</strong> eg. <strong>:b 34bb630-8061-454c-b35d-8f7131f4ff08</strong></p></li>
</ul>
<p>The fields returned by the MusicBrainz tag source are (not all fields are available for all albums):</p>
<ul class="simple">
<li><p><strong>album</strong>: The release’s (album’s) name.</p></li>
<li><p><strong>artist</strong>: The track’s artist.</p></li>
<li><p><strong>asin</strong>: Amazon identifier.</p></li>
<li><p><strong>barcode</strong>: The album’s barcode.</p></li>
<li><p><strong>catalog</strong>: Catalog numbers of the album.</p></li>
<li><p><strong>country</strong>: Album’s release country.</p></li>
<li><p><strong>discs</strong>: Number of discs in the album.</p></li>
<li><p><strong>involvedpeople_album</strong>: People involved with the album’s creation. Taken from the extraartists node for the album. (Eg. <strong>Young Churf;Harpsichord</strong>)</p></li>
<li><p><strong>involvedpeople_track</strong>: People involved with the relevant track. Taken from the track’s extraartists node. (Eg. <strong>Young Churf;Harpsichord</strong>)</p></li>
<li><p><strong>isrc</strong>: <a class="reference external" href="http://en.wikipedia.org/wiki/International_Standard_Recording_Code">ISRC’s</a> associated with the album.</p></li>
<li><p><strong>label</strong>: Label responsible for album’s release.</p></li>
<li><p><strong>mbrainz_album_id</strong>: MusicBrainz’s unique identifier for the album.</p></li>
<li><p><strong>mbrainz_artist_id</strong>: The unique MusicBrainz identifier for the artist.</p></li>
<li><p><strong>mbrainz_label_id</strong>: The unique MusicBrainz identifier for the recording label.</p></li>
<li><p><strong>musicip_puid</strong>: PUID’s associated with the track. PUID retrieval requires polling MusicBrainz for each track therefore it’s disabled by default.</p></li>
<li><p><strong>mbrainz_rating</strong>: The album’s rating according to MusicBrainz.</p></li>
<li><p><strong>mbrainz_track_id</strong>: MusicBrainz’s unique ID for the track.</p></li>
<li><p><strong>title</strong>: The track’s title.</p></li>
<li><p><strong>track</strong>: The track number.</p></li>
<li><p><strong>year</strong>: The earliest date that the album was released. Not available for every album.</p></li>
</ul>
</div>
<div class="section" id="using-mp3tag-s-tag-sources">
<span id="mp3tag-sources"></span><h2>Using Mp3tag’s Tag Sources<a class="headerlink" href="#using-mp3tag-s-tag-sources" title="Permalink to this headline">¶</a></h2>
<p><strong>If you don’t know what they are, visit the</strong> <a class="reference external" href="http://www.mp3tag.de">Mp3tag website</a> <strong>for details.</strong></p>
<p>puddletag <em>supports</em> using Mp3tag’s tag sources. To use them create the directory <strong>~/.puddletag/mp3tag_sources</strong> and place any tag sources in there. If everything went okay, they’ll be loaded when you start puddletag. In the <strong>Tag Sources</strong> window they’ll be listed with ‘[M]’ appended to the filename.</p>
<p>You can search as you do using Mp3tag by using the Search box. See the tooltip for the field used to do the search. Selecting files and searching works too.</p>
<div class="section" id="caveats">
<h3>Caveats<a class="headerlink" href="#caveats" title="Permalink to this headline">¶</a></h3>
<p>The sources I’ve tested work like Mp3tag’s. They also bomb on the same pages. However, unlike Mp3tag, puddletag doesn’t ‘detect’ when retrieval has gone awry. So sometimes you might get nothing in Mp3tag, while getting jibberish in puddletag.</p>
<p>I won’t be supporting the creation of Mp3tag tag source nor does puddletag have any useful debugging facilities for them. However, if a tag source works fine with Mp3tag, but doesn’t with puddletag, <a class="reference external" href="http://code.google.com/p/puddletag/issues">create an issue</a> with a link to the tag source and some example searches and I’ll fix ‘em.</p>
<p>Be sure to set ‘debug off’ or remove it alltogether unless you’re in the mood for having your filesystem being littered with junk files.</p>
</div>
</div>
</div>


    </div>
      
  </div>
</div>
<footer class="footer">
  <div class="container">
    <p class="pull-right">
      <a href="#">Back to top</a>
      
    </p>
    <p>
      This page and associated images are licensed under <a rel="license" href="http://www.apache.org/licenses/LICENSE-2.0">Apache Version 2.0</a>
	Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 3.4.3.<br/>
    </p>
  </div>
</footer>
  </body>
</html>