diff --git a/plugins/lyrics/lyrics.py b/plugins/lyrics/lyrics.py
index 13124b3..45b054a 100644
--- a/plugins/lyrics/lyrics.py
+++ b/plugins/lyrics/lyrics.py
@@ -32,6 +32,7 @@ import urllib.request
 import rb
 from gi.repository import Gtk, Gio, GObject, Peas
 from gi.repository import RB
+from gi.repository import Gst, GstPbutils
 
 import LyricsParse
 from LyricsConfigureDialog import LyricsConfigureDialog
@@ -142,10 +143,36 @@ class LyricGrabber(object):
 
 	def verify_lyric(self):
 		return os.path.exists(self.cache_path)
+
+
+	def lyric_from_tag(self):
+		"""
+		Extract lyrics from the file meta data (tags)
+		Currently supported formats:
+		- ogg/vorbis files with "LYRICS" tag
+		"""
+		location = self.entry.get_playback_uri()
+		print("discovering %s" % location)
+		self.discoverer = GstPbutils.Discoverer(timeout=Gst.SECOND*1)
+		info = self.discoverer.discover_uri(location)
+		tags = info.get_tags()
+		if tags is None:
+			return
+
+		for i in range(tags.get_tag_size("extended-comment")):
+			(exists, value) = tags.get_string_index("extended-comment", i)
+			if exists and value.startswith("LYRICS"):
+				text = value.replace("LYRICS=", "")
+				return text
 	  
 	def search_lyrics(self, callback, cache_only=False):
 		self.callback = callback
-		
+
+		text = self.lyric_from_tag()
+		if text is not None:
+			self.callback(text)
+			return
+
 		status = self.verify_lyric()
 		
 		if status:
