trm

trm — Compute MusicBrainz TRM Id using libmusicbrainz

Synopsis

                    GstTRM;

Object Hierarchy

  GObject
   +----GstObject
         +----GstElement
               +----GstTRM

Properties

  "proxy-address"            gchar*                : Read / Write
  "proxy-port"               guint                 : Read / Write

Description

GstTRM computes MusicBrainz TRM identifiers for audio streams using libmusicbrainz.

A TRM identifier is something like an 'acoustic fingerprint', the aim is to uniquely identify the same song regardless of which source it comes from or which audio format the stream is in.

The TRM element will collect about 30 seconds of audio and let libmusicbrainz calculate a preliminary audio signature from that. That audio signature will then be sent over the internet to a musicbrainz.org server which will calculate the TRM for that signature.

The TRM element will post a tag message with a GST_TAG_MUSICBRAINZ_TRMID tag on the bus once the TRM has been calculated (and also send a tag event with that information downstream).

Example pipeline

gst-launch -m filesrc location=somefile.ogg ! decodebin ! audioconvert ! trm ! fakesink
calculate the TRM and print the tag message with the TRM ID.

Synopsis

Element Information

plugin

musicbrainz

author

Jeremy Simon <jsimon13@yahoo.fr>

class

Filter/Analyzer/Audio

Element Pads

name

src

direction

source

presence

always

details

audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int){ 8, 16 }, depth=(int){ 8, 16 }, rate=(int)[ 8000, 96000 ], channels=(int)[ 1, 2 ]

name

sink

direction

sink

presence

always

details

audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int){ 8, 16 }, depth=(int){ 8, 16 }, rate=(int)[ 8000, 96000 ], channels=(int)[ 1, 2 ]

Details

GstTRM

typedef struct _GstTRM GstTRM;

GStreamer TRM element. This structure is opaque (private).

Property Details

The "proxy-address" property

  "proxy-address"            gchar*                : Read / Write

proxy address.

Default value: NULL


The "proxy-port" property

  "proxy-port"               guint                 : Read / Write

proxy port.

Allowed values: [1,65535]

Default value: 8080