pylastfp adalah antarmuka Python ke perpustakaan Last.fm akustik sidik jari (disebut fplib) dan layanan terkait API & nbsp;. Ia melakukan ekstraksi sidik jari, sidik jari ID lookup, dan melacak metadata lookup. Hal ini juga dilengkapi dengan beberapa pembantu untuk decoding file audio.
Instalasi
Untuk menginstal, Anda akan memerlukan compiler dan dependensi yang diperlukan oleh fplib sendiri: FFTW (dikompilasi untuk mengapung presisi tunggal) dan libsamplerate.
Setelah Anda memiliki ini, Anda dapat dengan mudah menginstal dari PyPI menggunakan pip:
pip menginstal pylastfp
Atau, jika Anda tidak memiliki pip (atau easy_install), kepala ke halaman download. Menginstal perintah normal harus bekerja:
python setup.py install
Untuk membangun dari sumber kontrol versi (yaitu, bukan dari tarball rilis), Anda akan juga perlu Cython. (Distribusi sumber termasuk C file yang dihasilkan ++, menghindari kebutuhan untuk Cython. Setup.py ini paket memainkan trik untuk mendeteksi apakah Anda telah Cython diinstal.)
Menjalankan
Anda dapat menjalankan script termasuk fingerprinter / lookup, lastmatch.py, untuk menguji instalasi Anda:
& Nbsp; mysterious_music.mp3 lastmatch.py
Ini akan menunjukkan pertandingan metadata dari database Last.fm ini. Script menggunakan Python binding Gstreamer untuk memecahkan kode MP3. Anda juga dapat menggunakan pymad bukan Gstreamer (untuk MPEG audio saja) dengan menyediakan bendera -m:
& Nbsp; lastmatch.py -m mysterious_music.mp3
Menggunakan Kode Anda
Script menunjukkan cara yang biasa untuk menggunakan pylastfp, yang ini:
>>> Impor lastfp
>>> Xml = lastfp.gst_match (apikey, jalan)
>>> Pertandingan = lastfp.parse_metadata (xml)
>>> Print pertandingan [0] ['artis'], '-', cocok [0] ['title']
Nasional - Emprire Palsu
Contoh ini menggunakan fungsi kenyamanan gst_match, yang menggunakan Gstreamer untuk memecahkan kode data audio. Fungsi mengimpor modul Gstreamer saat dipanggil, jadi jika Anda tidak ingin bergantung pada Gstreamer, hanya tidak memanggil fungsi ini. Fungsi lain yang serupa disebut mad_match bukan mengimpor perpustakaan pymad dan menggunakan MAD untuk memecahkan kode bukan Gstreamer.
Jika Anda memiliki cara Anda sendiri audio decoding, Anda dapat menggunakan antarmuka tingkat rendah:
>>> Xml = lastfp.match (apikey, pcmdata, samplerate, time_in_secs)
Tentu saja, Anda akan memerlukan aliran PCM untuk audio yang ingin Anda sidik jari. Parameter pcmdata harus menjadi iterable dari Python str atau penyangga objek yang berisi data PCM sebagai array pendek (16-bit integer) nilai C.
Semua fungsi ini (pertandingan, gst_match, dan mad_match) menerima parameter opsional tambahan yang disebut metadata. Ini harus menjadi dict mengandung menebak Anda saat di metadata file. Last.fm mungkin menggunakan informasi ini untuk meningkatkan database mereka. Dict harus menggunakan tombol ini (yang semuanya opsional): "artis", "album", dan "track".
Modul internal melakukan benang-aman API membatasi sampai 5 permintaan per detik, sesuai dengan TOS API Last.fm ini
Apa yang baru dalam rilis ini:.
< p>- Gunakan audioread bukan pygst dan pymad decoder disertakan.
Apa yang baru di versi 0.5:
- Menangani tanggapan kosong dari API. setup.py sekarang mencari pengguna-lokal awalan Homebrew.
Apa yang baru di versi 0.4:
- bug Fix pembersihan di gstdec yang menyebabkan file untuk tetap terbuka .
Apa yang baru di versi 0.3:
- Fix kesalahan ketik pada penanganan kesalahan HTTP. Menangani kasus-kasus ketika baris status HTTP adalah cacat
Apa yang baru di versi 0.2:
- Perbaiki kebocoran memori mengerikan. Gagal aman ketika file terlalu pendek. Aman menangani XML cacat kembali dari API. Menangani dan mengekspos kegagalan HTTP.
Persyaratan :
- Python
Komentar tidak ditemukan