pylastfp는 Last.fm의 음향 지문 라이브러리 (라고 fplib) 및 관련 API 서비스에 대한 파이썬 인터페이스입니다합니다. & nbsp;이 지문 추출, 지문 ID 조회 및 트랙 메타 데이터 조회를 수행합니다. 또한 오디오 파일을 디코딩하기위한 몇 가지 헬퍼와 함께 제공됩니다.
설치
당신은 컴파일러와 자신을 fplib에 필요한 종속성이 필요합니다, 설치하려면 : FFTW 및 libsamplerate (단 정밀도 수레 컴파일).
당신이이 있으면, 당신은 쉽게 PIP를 사용하여 PyPI에서 설치할 수 있습니다 :
pylastfp를 설치 PIP
또는, 당신은 다운로드 페이지로 PIP (또는 easy_install을), 머리가없는 경우. 정상적인 설치 명령이 작동한다 :
파이썬 설치 setup.py
버전 제어 소스에서 빌드하려면 (즉,하지 릴리스 타르볼)에서, 당신은 또한 Cython가 필요합니다. (소스 배포판 Cython의 필요성을 피하는.이 패키지의 setup.py는 Cython 설치 여부를 감지하는 트릭을 재생, 생성 된 C ++ 파일을 포함합니다.)
실행
당신은 포함 nmap은 / 조회 스크립트를 실행할 수 있습니다, lastmatch.py, 설치를 테스트하려면 :
& NBSP; lastmatch.py mysterious_music.mp3
이 Last.fm의 데이터베이스에서 메타 데이터의 일치를 보여줍니다. 이 스크립트는 MP3를 디코딩 할 수있는 GStreamer의 파이썬 바인딩을 사용합니다. 또한 -m 플래그를 제공하여 대신있는 GStreamer의 (오디오 만 MPEG 용) pymad을 사용할 수 있습니다 :
& NBSP; lastmatch.py -m mysterious_music.mp3
코드에서 사용
이 스크립트 인 pylastfp를 사용하는 일반적인 방법을 나타낸다 :
>>> 수입 lastfp
>>> XML = lastfp.gst_match (apiKey에, 경로)
>>> 일치의 =의 lastfp.parse_metadata (XML)
>>> 인쇄 일치 [0] [ '예술가']은, '-', [0] [ '제목'] 일치
국가 - 가짜 Emprire
이 예에서는 오디오 데이터를 복호화하기 gstreamer를 사용 gst_match 편의 기능을 사용한다. 기능은 바로이 함수를 호출하지 않는,있는 GStreamer에 의존하지 않으려면, 그래서 호출시에있는 GStreamer 모듈 가져옵니다. mad_match라는 또 다른 유사한 기능 대신 pymad 라이브러리를 가져오고 대신있는 GStreamer의 디코딩 MAD 사용합니다.
당신이 디코딩 오디오의 자신의 방법이있는 경우, 당신은 낮은 수준의 인터페이스를 사용할 수 있습니다 :
>>> XML = lastfp.match (apiKey에, pcmdata, samplerate, time_in_secs)
물론, 당신은 당신이 지문 할 오디오를위한 PCM 스트림을해야합니다. pcmdata 매개 변수는 C 짧은 (16 비트 정수) 값의 배열로 PCM 데이터를 포함하는 파이썬 STR 또는 버퍼 오브젝트의 반복 가능해야합니다.
이러한 기능 (경기, gst_match 및 mad_match)의 모든 메타 데이터라는 추가 옵션 매개 변수를 받아들입니다. 이 파일의 메타 데이터에 현재의 추측을 포함하는 DICT해야한다. Last.fm 그들의 데이터베이스를 향상시키기 위해이 정보를 사용할 수있다. "아티스트", "앨범"및 "트랙"DICT는 이러한 키를 (모두는 선택 사항)을 사용한다.
이 모듈은 내부적으로 Last.fm의 API의 약관에 따라 초당 5 쿼리로 제한 스레드 안전 API를 수행
이 릴리스의 새로운 기능 :.
사용이 대신 audioread pygst 및 pymad 디코더를 포함.
버전 0.5의 새로운 기능 :
API에서 빈 응답을 처리합니다. setup.py 이제 브루 사용자 로컬 접두사를 검색합니다.
버전 0.4의 새로운 기능 :
파일이 열린 상태로 유지하기 위해 일으키는 gstdec에 정리 버그를 수정.
버전 0.3의 새로운 기능 :
HTTP 오류의 처리에 오타 수정. HTTP 상태 라인이 잘못된 경우 경우를 처리
버전 0.2의 새로운 기능 :
끔찍한 메모리 누수를 수정합니다. 파일이 너무 짧은 경우 안전하게 실패합니다. 안전하게 API에서 반환 된 잘못된 XML을 처리합니다. 처리 및 HTTP 오류를 노출.
요구 사항 :
파이썬
댓글을 찾을 수 없습니다