pylastfp

Software screenshot:
pylastfp
Software informatie:
Versie: 0.6
Upload datum: 11 May 15
Ontwikkelaar: Adrian Sampson
Licentie: Gratis
Populariteit: 37

Rating: 2.0/5 (Total Votes: 2)

pylastfp is een Python-interface naar Last.fm akoestische fingerprinting bibliotheek (de zogenaamde fplib) en de bijbehorende API diensten & nbsp;. Het voert vingerafdruk winning, vingerafdruk ID opzoeken, en track metadata lookup. Het komt ook met enkele helpers voor het decoderen van audio-bestanden.
installatie
Om te installeren, zal je een compiler en de door fplib zelf afhankelijkheden nodig: fftw (samengesteld voor enkele precisie praalwagens) en libsamplerate.
Zodra u deze, kunt u eenvoudig installeren vanaf PyPI met pip:
pip pylastfp installeren
Of, als je niet pip (of easy_install), ga dan naar de download pagina te hebben. De normale install commando zou moeten werken:
python setup.py installeren
Voor het bouwen van de versie controle bron (dat wil zeggen, niet van een vrijlating tarball), moet u ook Cython. (De bron distributies zijn de gegenereerde C ++ file, het vermijden van de behoefte aan Cython. Setup.py's Dit pakket speelt trucs om te detecteren of u Cython hebt geïnstalleerd.)
Running
U kunt de meegeleverde fingerprinter / lookup script, lastmatch.py, om uw installatie te testen:
& Nbsp; lastmatch.py ​​mysterious_music.mp3
Dit zal metadata wedstrijden uit de database van Last.fm laten zien. Het script maakt gebruik van Gstreamer's Python bindings naar MP3's te decoderen. U kunt ook gebruik pymad plaats van Gstreamer (voor MPEG alleen audio) door het leveren van de -m vlag:
& Nbsp; lastmatch.py ​​-m mysterious_music.mp3
Met behulp van in de code
Het script vertoont de gebruikelijke manier om pylastfp gebruiken, wat is dit:
>>> Import lastfp
>>> Xml = lastfp.gst_match (apikey, pad)
>>> Wedstrijden = lastfp.parse_metadata (xml)
>>> Print wedstrijden [0] ['kunstenaar'], '-', lucifers [0] ['title']
The National - Fake Emprire
In dit voorbeeld wordt de gst_match gemak functie die Gstreamer gebruikt om audio te decoderen. De functie importeert de Gstreamer module als ze worden opgeroepen, dus als je niet wilt afhankelijk zijn van Gstreamer, gewoon niet deze functie aan te roepen. Een andere vergelijkbare functie genaamd mad_match plaats importeert de pymad bibliotheek en gebruikt MAD te decoderen in plaats van Gstreamer.
Als je je eigen manier van decoderen audio, kunt u het lagere niveau interface:
>>> Xml = lastfp.match (apikey, pcmdata, samplerate, time_in_secs)
Natuurlijk, zult u een PCM stream voor het geluid dat u wilt vingerafdrukken nodig. De parameter pcmdata moet een iterable van Python str of buffer voorwerpen die PCM gegevens als arrays van C de korte (16-bit integer) waarden.
Al deze functies (match, gst_match en mad_match) accepteren een extra optionele parameter genaamd metadata. Het moet een DICT met uw huidige gok op metagegevens van het bestand zijn. Last.fm kunnen deze informatie gebruiken om hun database te verbeteren. "Artiest", "album" en "track": de DICT dienen deze toetsen (die allemaal optioneel) te gebruiken.
De module intern voert thread-safe API beperken tot 5 queries per seconde, in overeenstemming met de Last.fm API TOS

Wat is nieuw in deze release:.

< p>
  • Gebruik audioread in plaats van de meegeleverde pygst en pymad decoders.

Wat is nieuw in versie 0.5:

  • Behandel lege reacties van de API. setup.py zoekt nu de Homebrew gebruiker-local prefix.

Wat is nieuw in versie 0.4:

  • Fix cleanup bug in gstdec die werd veroorzaakt bestanden naar open blijven .

Wat is nieuw in versie 0.3:

  • Fix typo in de afhandeling van HTTP-fouten. Behandel gevallen wanneer HTTP-status lijn is misvormd

Wat is nieuw in versie 0.2:

  • Een afschuwelijke geheugenlek. Fail veilig wanneer bestand is te kort. Veilig te behandelen misvormde XML terug van de API. Handvat en HTTP mislukkingen bloot.

Eisen

  • Python

Vergelijkbare software

XMMS-SID
XMMS-SID

20 Feb 15

Rune
Rune

2 Jun 15

LAME
LAME

14 Apr 15

Traverso
Traverso

3 Jun 15

Reacties op pylastfp

Reacties niet gevonden
Commentaar toe te voegen
Zet op de beelden!