def testFileRecognizer(self): """Recognize audio from a file""" recognizer = FileRecognizer(self.djv) result = recognizer.recognize_file(self.fileName) self.assertEqual(self.song_name, result['song_name']) print "(w/o shortcut) we recognized: %s\n" % result['song_name']
def check_dejavu(path): dburl = 'sqlite:///new.db' djv = Dejavu(dburl=dburl) recognizer = FileRecognizer(djv) song = recognizer.recognize_file(path) if song['confidence'] < DEJAVU_THRESHOLD: return ("Not found", False) return (song['song_id'], True)
def nonblocking_recognize_file_path(self, file_path, ws): r = FileRecognizer(self.djv) frames, r.Fs = decoder.read_chunks(file_path, r.dejavu.limit) for i, val in enumerate(frames): match = r._recognize(*val) if match is not None: match['segment_id'] = i match['start_time'] = i * ChunksTime / 1000 ws.write_message(json.dumps(match)) else: ws.write_message(json.dumps({}))
def upload(): subprocess.call( "php ~/root/clunkr/static/upload.php") # runs the php upload script directory_list = os.listdir( "~/root/recordings") # grabs the files from the recording directory file_name = directory_list.pop # pulls filename of the most recent recording from recordings recognizer = FileRecognizer(djv) match = "" with open("~/root/recordings" + file_name) as f: # opens file as f match = recognizer.recognize_file(f) # recognizer returns filename flash("Uploading and looking for a match.", "info") #os.popen("rm -f ~/root/recordings") deletes files after match is made return render_template("result.html", match=match)
########NEW FILE######## __FILENAME__ = example from dejavu import Dejavu import warnings import json warnings.filterwarnings("ignore") # load config from a JSON file (or anything outputting a python dictionary) with open("dejavu.cnf") as f: config = json.load(f) # create a Dejavu instance djv = Dejavu(config) # Fingerprint all the mp3's in the directory we give it djv.fingerprint_directory("mp3", [".mp3"]) # Recognize audio from a file from dejavu.recognize import FileRecognizer song = djv.recognize(FileRecognizer, "mp3/beware.mp3") # Or recognize audio from your microphone for 10 seconds from dejavu.recognize import MicrophoneRecognizer song = djv.recognize(MicrophoneRecognizer, seconds=2) # Or use a recognizer without the shortcut, in anyway you would like from dejavu.recognize import FileRecognizer recognizer = FileRecognizer(djv) song = recognizer.recognize_file("mp3/sail.mp3") ########NEW FILE########