VM-Echoprint » History » Version 1

Thomas Mielke, 10/05/2019 08:10 PM

1 1 Thomas Mielke
{{toc}}
2 1 Thomas Mielke
3 1 Thomas Mielke
# VM-Echoprint
4 1 Thomas Mielke
5 1 Thomas Mielke
## Setup
6 1 Thomas Mielke
7 1 Thomas Mielke
### [[Architecture#Minimal-Setup|Minimal]]
8 1 Thomas Mielke
9 1 Thomas Mielke
* 1 [[VM-Echoprint]] in [[M-Web]]
10 1 Thomas Mielke
11 1 Thomas Mielke
## Services
12 1 Thomas Mielke
13 1 Thomas Mielke
* Apache Web Server
14 1 Thomas Mielke
 - https://httpd.apache.org
15 1 Thomas Mielke
* Echoprint Query Server
16 1 Thomas Mielke
 - https://github.com/echonest/echoprint-server
17 1 Thomas Mielke
* Echoprint Index Services
18 1 Thomas Mielke
 - http://lucene.apache.org/solr
19 1 Thomas Mielke
 - http://fallabs.com/kyotocabinet
20 1 Thomas Mielke
 - http://fallabs.com/tokyotyrant
21 1 Thomas Mielke
22 1 Thomas Mielke
## Specifications
23 1 Thomas Mielke
* Tokyo Cabinet is a key value store.
24 1 Thomas Mielke
* Tokyo Tyrant is the network interface of Tokyo Cabinet, e.g. for managing asynchronous access.
25 1 Thomas Mielke
* Apache Solr is a search platform used in the EchoPrint server to perform full-text like searches for fingerprint codes.
26 1 Thomas Mielke
* The EchoPrint web api is based on some python scripts, running under Django. Most notable api.py to receive the urls and urlencoded parameters or postdata json and decode/unzip it. And there is fp.py to connect to Solr and do all the fingerprint indexing stuff. Fingerprints are stored in 1 minute sections, each overlapping by 30 seconds with the track id with '-' and the section number as key. The fingerprints are stored in ascii representation as numbers (onset times and hashes).