def music_recognition(): file = request.files['user_audio'] filename = secure_filename("user_input.wav") file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename)) comparison.change_stereo_to_mono(filename) time.sleep(1) database_iteration = comparison.compare_fingerprint_to_database("new_user_input.wav") return json.dumps(database_iteration)
def run_algorithm(): '''AJAX call takes in the file from getUserMedia, names it "user_input.wav", uploads it and then runs compare_fingerprint_to_database on it, returning the results as a JSON object.''' music_file = request.files['music_clip'] filename = secure_filename("user_input.wav") music_file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename)) comparison.change_stereo_to_mono(filename) time.sleep(1) database_iteration = comparison.compare_fingerprint_to_database("new_user_input.wav") for song in database_iteration: if song["high_match"] == True: session['match'] = {'title': song['title'], 'artist': song['artist'], 'offset': song['offset']} return json.dumps(database_iteration)
def add_fingerprint(): '''Add individual music data (including fingerprint) to database.''' title = request.form.get('title') artist = request.form.get('artist') music_file = request.files['music_file'] filename = secure_filename("user_input.wav") music_file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename)) comparison.change_stereo_to_mono(filename) time.sleep(1) music_fingerprint = fingerprint.location_fingerprint(filename) pickled_song_fingerprint = cPickle.dumps(music_fingerprint) new_fingerprint = Fingerprint(title = title, artist = artist, fingerprint = pickled_song_fingerprint) db.session.add(new_fingerprint) db.session.commit() return redirect("/database")