pylastfp on Python-rajapinta Last.fm akustinen sormenjälkien kirjasto (kutsutaan fplib) ja siihen liittyvän API palveluja. & Nbsp; Se tekee sormenjälki louhinta, sormenjälki tunnus lookup, ja raita metatiedot lookup. Sen mukana tulee myös joitakin auttajia purkuun äänitiedostoja.
asennus
Asentaa, tarvitset kääntäjä ja riippuvuudet vaatimat fplib itsestään: FFTW (laaditaan yhden tarkkuus kelluu) ja libsamplerate.
Kun olet nämä, voit helposti asentaa PyPI avulla pip:
Pip asentaa pylastfp
Tai jos sinulla ei ole PIP (tai easy_install), pään lataussivulle. Normaali-komento pitäisi toimia:
python setup.py asentaa
Rakentaa siitä versionhallinnasta lähde (eli ei mistä release tarrapallon), joudut myös Cython. (Lähdedistribuutiostasi sisältävät luotu C ++ tiedoston, vältetään tarve Cython. Tämä paketti on setup.py pelaa temppuja tunnistaa, onko sinulla Cython asennettu.)
Juoksu
Voit ajaa mukana fingerprinter / haku käsikirjoitus, lastmatch.py, testata asennuksen:
& Nbsp; lastmatch.py mysterious_music.mp3
Tämä näyttää metadata otteluita Last.fm: n tietokannasta. Komentosarja käyttää Gstreamer n Python sidokset purkaa MP3. Voit myös käyttää pymad sijaan Gstreamer (MPEG audio only) toimittamalla -m lippu:
& Nbsp; lastmatch.py -m mysterious_music.mp3
käyttäminen koodissa
Kirjoitus esittelee tavalliseen tapaan käyttää pylastfp, joka on tämä:
>>> Tuonti lastfp
>>> Xml = lastfp.gst_match (apikey, polku)
>>> Ottelut = lastfp.parse_metadata (xml)
>>> Print ottelut [0] ["taiteilijan"], "-", vastaa [0] ["title"]
Kansallinen - Fake Emprire
Tämä esimerkki käyttää gst_match mukavuutta toiminto, joka käyttää Gstreamer purkaa äänitietoja. Toiminto tuo Gstreamer moduulin, kun kutsutaan, joten jos et halua riipu Gstreamer, eivät vain kutsua tätä toimintoa. Toinen samanlainen toiminto nimeltään mad_match sijaan tuo pymad kirjastoon ja käyttää MAD purkaa sijaan Gstreamer.
Jos sinulla on oma tapa dekoodaus äänen, voit käyttää alemman tason rajapinta:
>>> Xml = lastfp.match (apikey, pcmdata, Samplerate, time_in_secs)
Tietenkin, sinun PCM stream äänen haluat ottaa sormenjäljet. Pcmdata parametrin on oltava iterable Python str tai puskuria esineitä sisältäviä PCM tiedot kuin paneelit C lyhyitä (16-bittinen kokonaisluku) arvoja.
Kaikki nämä toiminnot (ottelu, gst_match, ja mad_match) hyväksyä uutta valinnainen parametri nimeltä metatiedot. Sen pitäisi olla dict joka sisältää nykyisen arvata tiedoston metatiedot. Last.fm saattavat käyttää tätä tietoa parantaakseen niiden tietokannassa. Dict pitäisi käyttää näitä näppäimiä (jotka kaikki ovat valinnaisia): "taiteilija", "albumi", ja "track".
Moduuli sisäisesti suorittaa lanka-turvallista API rajoittava 5 kyselyä sekunnissa mukaisesti Last.fm: n API TOS.
Mikä on uusi tässä julkaisussa:
< p>- Käytä audioread sijasta mukana pygst ja pymad dekooderit.
Mikä on uusi versiossa 0.5:
- Käsittele tyhjiä vastauksia API. setup.py nyt etsii Homebrew käyttäjän paikallisen etuliitteen.
Mikä on uusi versiossa 0.4:
- Korjaa uudelleenjärjestäminen vian gstdec joka aiheuttaa tiedostot pysyvät auki .
Mikä on uusi versiossa 0.3:
- Fix kirjoitusvirhe käsittelyn HTTP-virheitä. Hoida asioita, HTTP tilarivillä on muotovirhe
Mikä on uusi versiossa 0.2:
- Korjaa kamala muisti vuotaa. Epäonnistua turvallisesti, kun tiedosto on liian lyhyt. Turvallisesti käsittelemään epämuodostuneet XML palasi API. Käsittele ja paljastaa HTTP epäonnistumisia.
vaatimukset
- Python
Kommentteja ei löytynyt