pylastfp is 'n Python koppelvlak Last.fm se akoestiese vingerafdrukke biblioteek (genoem fplib) en sy verwante dienste API & nbsp;. Dit voer vingerafdruk onttrekking, vingerafdruk ID lookup, en spoor metadata soek. Dit kom ook met 'n paar helpers vir dekodering klank lêers.
Installasie
Om te installeer, sal jy 'n samesteller en die wat deur fplib self afhanklikhede nodig: fftw (saamgestel vir enkel-presisie dryf) en libsamplerate.
Sodra jy hierdie, kan jy maklik installeer vanaf PyPI behulp pip:
PIP pylastfp installeer
Of, as jy nie pip (of easy_install), hoof van die aflaai bladsy het. Die normale installeer opdrag moet werk:
python setup.py installeer
Om te bou van die weergawe beheer bron (dit wil sê, nie van 'n vrystelling tarball), sal jy ook moet Cython. (Die bron uitkerings sluit die gegenereerde C ++ lêer, die voorkoms van die behoefte aan Cython. Setup.py se Hierdie pakket speel truuks op te spoor of jy Cython geïnstalleer het.)
Running
Jy kan die ingesluit fingerprinter / lookup script hardloop, lastmatch.py om jou installasie te toets:
& Nbsp; lastmatch.py mysterious_music.mp3
Dit sal metadata wedstryde van databasis Last.fm se wys. Die script gebruik GStreamer se Python bindings te MP3s ontsyfer. Jy kan ook gebruik pymad plaas van GStreamer (vir MPEG net klank) deur die verskaffing van die -M flag:
& Nbsp; lastmatch.py -M mysterious_music.mp3
Gebruik in Jou Kode
Die script vertoon die gewone manier om pylastfp gebruik, wat is dit:
>>> Invoer lastfp
>>> Xml = lastfp.gst_match (apikey, pad)
>>> Wedstryde = lastfp.parse_metadata (xml)
>>> Druk wedstryde [0] ['n kunstenaar '],' - ', vuurhoutjies [0] [' title ']
Die Nasionale - Fake Emprire
Hierdie voorbeeld gebruik die gst_match gerief funksie, wat GStreamer gebruik om klank data te ontsyfer. Die funksie invoer van die GStreamer module wanneer hy, so as jy nie wil afhang Kon net nie hierdie funksie noem. 'N ander soortgelyke funksie genoem mad_match plaas die invoer van die pymad biblioteek en gebruik MAD om te ontsyfer plaas van GStreamer.
As jy jou eie manier van dekodering klank, kan jy die laer-koppelvlak gebruik:
>>> Xml = lastfp.match (apikey, pcmdata, samplerate, time_in_secs)
Natuurlik, sal jy 'n PCM stroom vir die klank wat jy wil vingerafdruk nodig. Die parameter pcmdata moet 'n iterable van Python str of buffer voorwerpe wat PCM data as skikkings van C kort (16-bit integer) waardes.
Al hierdie funksies (wedstryd gst_match en mad_match) aanvaar 'n bykomende opsionele parameter genoem metadata. Dit moet 'n dict met jou huidige raaiskoot op metadata die lêer te wees. Last.fm kan hierdie inligting gebruik om hul databasis te verbeter. "Kunstenaar", "album", en "track": die dict moet hierdie sleutels (wat almal opsioneel) gebruik.
Die module intern voer draad-veilige API beperk tot 5 navrae per sekonde, in ooreenstemming met Last.fm se API TOS
Wat is nuut in hierdie release:.
< p>- Gebruik audioread in plaas van die ingesluit pygst en pymad dekodeerders.
Wat is nuut in die weergawe 0,5:
- Hanteer leë antwoorde van die API. setup.py soek nou die Homebrew gebruikersvriendelik plaaslike voorvoegsel.
Wat is nuut in weergawe 0.4:
- Fix opruim fout in gstdec wat veroorsaak dat lêers oop bly .
Wat is nuut in weergawe 0.3:
- Fix tikfout in die hantering van HTTP foute. Hanteer gevalle wanneer HTTP status lyn is verkeerd
Wat is nuut in weergawe 0.2:
- Fix 'n aaklige geheugenlek. Misluk veilig wanneer lêer is te kort. Veilig te hanteer misvormde XML teruggekeer van die API. Hanteer en HTTP mislukkings te ontbloot.
Vereistes :
- Python
Kommentaar nie gevind