pylastfpは(fplibに呼ばれる)Last.fmのアコースティックフィンガープリントライブラリとその関連APIサービスへのPythonインタフェースである 。これは、指紋抽出、指紋IDの検索、トラックメタデータ検索を実行します。また、オーディオファイルを復号化するためのいくつかのヘルパーが付属しています。
インストール
FFTW(単精度浮動小数点数のためにコンパイル)とlibsamplerate:インストールするには、コンパイラとfplibに自身で必要な依存関係が必要になります。
あなたはこれらを持っていたら、簡単にピップを使用して、PyPIのからインストールすることができます。
pylastfpをインストールピップ
または、あなたはダウンロードページへピップ(またはeasy_installを)、頭を持っていない場合。通常のインストールコマンドは動作するはずです:
Pythonはsetup.py installを
(すなわち、ないのリリースのtarballから)バージョン管理ソースからビルドするには、あなたはまた、Cythonが必要になります。 (ソースディストリビューションは、Cythonの必要性を回避する、生成されたC ++ファイルが含まれています。このパッケージのsetup.pyを使用すると、Cythonがインストールされているかどうかを検出するためにトリックを果たしています。)
ランニング
あなたは、あなたのインストールをテストするために、lastmatch.py、含まfingerprinter /ルックアップ·スクリプトを実行することができます。
  lastmatch.py mysterious_music.mp3
これは、Last.fmのデータベースからメタデータの一致が表示されます。このスクリプトは、MP3ファイルをデコードするためのGstreamerのPythonバインディングを使用しています。また、-mフラグを供給することによりpymadの代わりに(音声のみMPEG用)のGstreamerを使用することができます。
  lastmatch.py -m mysterious_music.mp3
コード内で使用して
スクリプトはこれですpylastfpを使用する通常の方法を、示します:
>>>インポートlastfp
>>> XML = lastfp.gst_match(APIキー、パス)
>>>一致= lastfp.parse_metadata(XML)
>>>印刷マッチ[0] ['アーティスト']、 ' - '、マッチは[0] ['タイトル']
国立 - フェイクEmprire
この例では、オーディオデータをデコードするためのGstreamerを使用gst_match便利な関数を使用します。関数が呼び出されたときのGStreamerモジュールをインポートするので、あなたがのGstreamerに依存したくない場合は、単にこの関数を呼び出すことはありません。 mad_matchと呼ばれる別の同様の機能ではなくpymadライブラリをインポートし、代わりのGstreamerの復号化するためにMAD使用しています。
あなたは、復号オーディオの独自の方法を持っている場合は、低レベルのインターフェイスを使用することができます。
>>> XML = lastfp.match(APIキー、pcmdata、サンプルレート、time_in_secs)
もちろん、あなたが指紋するオーディオ用のPCMストリームが必要です。 pcmdataパラメータは、Pythonの反復可能オブジェクトであるSTRまたはCの短い(16ビット整数)値の配列としてPCMデータを含むオブジェクトをバッファリングする必要があります。
これらの機能(マッチ、gst_match、およびmad_match)のすべてのメタデータと呼ばれる追加のオプションのパラメータを受け入れます。これは、ファイルのメタデータであなたの現在の推測を含む辞書でなければなりません。 Last.fmは、データベースを改善するために、この情報を使用することがあります。 「アーティスト」、「アルバム」、および「トラック」:辞書は、これらのキーを(すべてがオプションである)を使用する必要があります。
モジュールは、内部Last.fmのAPI TOSに従って、毎秒5クエリーに制限するスレッドセーフなAPIを実行します。
このリリースの新機能:ます。
使用の代わりにaudioread pygstとpymadデコーダが含まれていました。
このバージョン0.5の新機能です:
このAPIから空の応答を処理します。 setup.pyは現在、自作ユーザーローカルプレフィクスを検索します。
このバージョン0.4の新機能:
このファイルは開いたままに引き起こしていたgstdecでクリーンアップのバグを修正しました。
このバージョン0.3の新機能である:
このHTTPエラーの処理にタイプミス修正。 HTTPステータスラインが不正な形式である場合のケースを処理
このバージョン0.2の新機能です:
この恐ろしいメモリリークを修正しました。ファイルが短すぎると安全に失敗します。安全にAPIから返された不正な形式のXMLを処理します。 HTTPの障害を処理し、公開します。
この要件:
このパイソン
コメントが見つかりません