pylastfp jest interfejs Pythona do biblioteki Last.fm na akustycznej (tzw fplib odcisków palców) i jego powiązanych usług API. & Nbsp; Dokonuje ekstrakcji odcisków linii papilarnych, ID wyszukuje i wyszukuje metadanych utwór. Jest również wyposażony w niektóre pomocników do dekodowania plików audio.
instalacji
Aby zainstalować, trzeba kompilator i zależności wymaganych przez fplib się: fftw (skompilowany dla pływaków pojedynczej precyzji) i libsamplerate.
Po tych można łatwo zainstalować z PyPI użyciu pip:
pip install pylastfp
Lub, jeśli nie masz pip (lub easy_install), głowa do strony pobierania. Zwykłe polecenie zainstalowania powinno działać:
python setup.py install
Budować od źródła kontroli wersji (czyli nie z archiwum uwalnianiu), będzie także potrzebny Cython. (Rozkłady źródłowe obejmują wygenerowany plik C ++, unikając potrzeby Cython. Setup.py Pakiet ten odgrywa sztuczek, aby wykryć, czy masz zainstalowany Cython.)
Uruchamianie
Możesz uruchomić skrypt zawarte fingerprinter / odnośnika, lastmatch.py, aby sprawdzić instalację:
& Nbsp; lastmatch.py mysterious_music.mp3
To pokaże mecze metadanych z bazy danych Last.fm jest. Wiązania Pythona skrypt wykorzystuje GStreamer do dekodowania plików MP3. Możesz także użyć pymad zamiast GStreamer (MPEG tylko audio), dostarczając flagi -m:
& Nbsp; lastmatch.py -m mysterious_music.mp3
Używanie w kodzie
Skrypt wykazuje zwykły sposób korzystania pylastfp, który jest w ten sposób:
>>> Import lastfp
>>> Xml = lastfp.gst_match (apikey, ścieżka)
>>> Mecze = lastfp.parse_metadata (xml)
>>> mecze druku [0] ['Artysta'], '-', mecze [0] ['title']
Narodowy - Fałszywe Emprire
Ten przykład używa gst_match funkcję komfort, który wykorzystuje GStreamer dekodować dane audio. Funkcja importuje moduł GStreamer, kiedy nazywa, więc jeśli nie chcesz polegać na GStreamer, tylko nie wywołać tę funkcję. Inną podobną funkcję o nazwie mad_match zamiast importuje biblioteki pymad i używa MAD do dekodowania zamiast GStreamer.
Jeśli masz swój własny sposób dekodowania dźwięku, można użyć interfejsu na niższym poziomie:
>>> Xml = lastfp.match (apikey, pcmdata, próbkowania, time_in_secs)
Oczywiście, trzeba strumień PCM dla dźwięku, który ma odcisków palców. Parametr pcmdata musi być iterable Pythona STR lub bufora obiektów zawierających dane PCM jako tablice krótkich (16-bitowych liczb całkowitych) wartości C.
Wszystkie te funkcje (mecz, gst_match i mad_match) przyjąć dodatkowy opcjonalny parametr o nazwie metadata. Powinno być dict zawierający bieżące przypuszczenie na metadanych pliku. Last.fm mogą wykorzystać te informacje, aby poprawić swoją bazę danych. Dict powinny korzystać z tych klawiszy (z których wszystkie są opcjonalne): "artysta", "album" i "utwór".
Moduł wewnętrznie wykonuje API bezpieczny wątku ograniczenie do 5 zapytań na sekundę, zgodnie z Regulaminem API Last.fm za
Co nowego w tym wydaniu:.
< p>- Użyj audioread zamiast zawartych pygst i pymad dekoderów.
Co nowego w wersji 0.5:
- Uchwyt pustych odpowiedzi od API. setup.py teraz przeszukuje Homebrew prefiksu lokalnego użytkownika.
Co nowego w wersji 0.4:
- czyszczenie Fix bug w gstdec, który był przyczyną pliki pozostają otwarte .
Co nowego w wersji 0.3:
- Fix błąd w obsłudze błędów HTTP. Uchwyt przypadki linii stanu HTTP jest uszkodzony
Co nowego w wersji 0.2:
- Fix straszny wyciek pamięci. Fail bezpiecznie, gdy plik jest zbyt krótki. Bezpiecznie obsługiwać zniekształcone XML zwrócony z API. Uchwyt i narażać awarie HTTP.
Wymagania :
- Python
Komentarze nie znaleziono