回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在使用<code>pyacoustid</code>,我不明白为什么这段代码会起作用(艺术家实际上就是艺术家,依此类推):</p>
<pre><code>first = True
for score, rid, title, artist in self.fpresults:
if first:
first = False
else:
print
print '%s - %s' % (artist, title)
print 'http://musicbrainz.org/recording/%s' % rid
print 'Score: %i%%' % (int(score * 100))
</code></pre>
<p>虽然这一块没有(当我打印时,它看起来是空的):</p>
^{pr2}$
<p>全班同学都来了(欢迎提出建议!)公司名称:</p>
^{3}$
<p><strong>注意:</strong><code>acoustid.match(api_key, path)</code>返回元组!在</p>
<p>编辑:</p>
<p>这个小例子</p>
<pre><code>songfp = SongFP(sys.argv[1])
songfp.printResults()
</code></pre>
<p>{cd3>在哪里</p>
<pre><code>class SongFP:
"""
Song with FINGERPRINTS
"""
fpresults = None
def __init__(self, path = None):
"""
:param path: the path of the song
"""
self.path = path
try:
self.fpresults = acoustid.match(api_key, path)
except acoustid.NoBackendError:
logger(paths['log'], "ERROR: chromaprint library/tool not found")
except acoustid.FingerprintGenerationError:
logger(paths['log'], "ERROR: fingerprint could not be calculated")
except acoustid.WebServiceError, exc:
logger(paths['log'], ("ERROR: web service request failed: %s" % exc.message))
def getFingerprintArtist(self):
"""
Returns tuples with possible artists fetched from the MusicBrainz DB
"""
return [artist for _, _, _, artist in self.fpresults]
def getFingerprintTitle(self):
"""
Returns tuples with possible titles fetched from the MusicBrainz DB
"""
return [title for _, _, title, _ in self.fpresults]
def getFingerprintID(self):
"""
Returns tuples with IDs fetched from the MusicBrainz DB
"""
return [rid for _, rid, _, _ in self.fpresults]
def getFingerprintScore(self):
"""
Returns tuples with scores fetched from the MusicBrainz DB
"""
return [score for score, _, _, _ in self.fpresults]
def printResults(self):
print("Titles: %s" % self.getFingerprintTitle())
print("Artists: %s" % self.getFingerprintArtist())
print("IDs: %s" % self.getFingerprintID())
print("Scores: %s" % self.getFingerprintScore())
</code></pre>
<p>当被调用为<code>./app song.mp3</code>时,只输出一些字段(如果一个字段为空,则所有其他字段也应如此,并且viceversa因为它获取在线MP3s元数据)</p>
<pre><code>Titles: [u'Our Day Will Come', u'Our Day Will Come', u'Our Day Will Come', u'Our Day Will Come', u'Our Day Will Come']
Artists: []
IDs: []
Scores: []
</code></pre>
<p><strong>日志中没有异常!</strong></p>