name:
src/python/lookup.py
-rw-r--r--
917
1import warnings
2warnings.filterwarnings("ignore")
3from fingerprinter.reader import read
4from fingerprinter.fingerprint import fingerprint
5from database.fingerprint_db import FingerprintDatabase
6from etc.util import get_args_for_input_file
7
8DESCRIPTION = """
9This script will load a single wav file (-f), fingerprint it, and look up all hashes in the fingerprint database.
10"""
11PLOT_FINGERPRINT = False
12
13
14if __name__ == "__main__":
15 args = get_args_for_input_file(DESCRIPTION)
16 print("Loading and fingerprinting wav file {}".format(args.file))
17 db = FingerprintDatabase()
18 channels, frame_rate = read(args.file)
19 for _, channel in enumerate(channels):
20 hash_tuples = fingerprint(channel, frame_rate, PLOT_FINGERPRINT)
21 for pair in hash_tuples:
22 result = db.lookup(pair[1])
23 for (hash, episode, play_head) in result:
24 print("hash:{} episode:{} play_head:{}".format(hash, episode, play_head))