Implement Echoprint Open Source Server - Phase 1: Web Server

Completado Publicado Mar 30, 2015 Pagado a la entrega
Completado Pagado a la entrega

Echoprint is an open source music fingerprint and resolving framework powered by the The Echo Nest. The code generator (library to convert PCM samples from a microphone or file into Echoprint codes) is open source (MIT licensed) and free for any use. The server component that stores and resolves queries is open source (Apache 2 licensed) and free for any use. The data for resolving to millions of songs is free for any use provided any changes or additions are merged back to the community.

The Echoprint server can insert and query for millions of tracks to match a song given an Echoprint code. It is based on Apache Solr and also uses Tokyo Tyrant, a fast key-value store.

Echoprint’s server code (the Python glue and matching code as well as the Solr extensions) is available under the Apache 2.0 License. Solr and Tokyo Tyrant are licensed separately (Apache and LGPL respectively.) The server also includes bigeval, our software suite for evaluating fingerprint accuracy.

Open Source Code:

Server components for Echoprint.

[url removed, login to view]

Codegen for Echoprint

[url removed, login to view]

Project:

POLITICAL ADS

Political Ads is a free web that allows you to identify political ads as they air and immediately learn about who is behind them. Want to know who is spending money to influence your vote? The app provides valuable contextual information about the candidate and issues ads airing on TV and radio this election year.

Products:

1. Web Server,

2. API Example (Data access)

3. Manual to Upload songs to DB (Only Screenshots)

I will provide you with a empty server to implement the Echoprint (Digital Ocean)

References

[url removed, login to view]

[url removed, login to view]

Instead of songs, we are targeting political ads

Phase 1: Web Server

Project Details
Let me explain you the project, we are a non profit organization , that works transparency and accountability projects, these year we elections in Guatemala. So we want to implement an app to help citizens know the candidates.

In United States an NGO, called Sunlight Foundation, develop an app call AdHawk, http://adhawk.sunlightfoundation.com/ with echoprint, they develop a “Shazam for political ads”, instead of songs the citizens upload political ads, and get information regarding the politicians (Political information, voting, team, sponsors etc)

Basically, Shazam is an app, that allows you to know information from recording a song with the app, example: you are hearing a song in the radio, but you don’t know who is the author or singer. So shazam develop an app that when you hear the song, you can click the app, the app records the song, looks for a match in the server and returns the user the match information.

We contact them (Sunlight Foundation) to implement the app and they explain that the project has two parts, the webserver and the apps. The webserver they used is the echoprint server, and they develop open source apps.

So, in the project we are looking for the implementation of the echoprint server

How it works
Echoprint “listens” to audio on a phone or on your computer to figure out what song it is. It does so very fast and with such good accuracy that it can identify very noisy versions of the original or recordings made on a mobile device with a lot of interference from outside sources.

Since anyone can use Echoprint for free or install their own servers, we expect that it will become the de facto music identification technology. And since all the data is available, we expect Echoprint to quickly be able to resolve every song in the world.

Technical details
Echoprint consists of three parts: the code generator, which converts audio into codes, the server, which stores and indexes codes, and the data, which comes from partners and other Echoprint users.

The code generator computes {time, hash} pairs from an audio signal using advanced signal processing to account for noise and modification. Starting from a 11kHz mono signal, we compute a whitening filter, then an 8 band subband decomposition. That decomposition is search for onsets and the onset material is intelligently hashed into a 20 bit space and stored alongside the time of the onset.



The server code indexes each onset in an inverted index, storing each track’s occurrence of that onset in a long list for fast lookup. We also store the code material for each track as it is needed during matching. Querying is a lookup of all the query codes in the inverted index and the score returned is the number of overlaps of query onsets between the query and each target track. In practice, however, we then filter by the time histogram of the matching onsets to ensure that the onsets occur roughly in “order.” This requires stored data of each onset.

We are currently preparing a whitepaper with more details and of course the source is available.

Java Python

Nº del proyecto: #7400490

Sobre el proyecto

3 propuestas Proyecto remoto Activo Apr 2, 2015

Adjudicado a:

kodneviscom

Hi, I can implement the server for you using django, I also can write the android application using kivy

$277 USD en 5 días
(2 comentarios)
2.0

3 freelancers están ofertando un promedio de $1568 por este trabajo

johnpo

A proposal has not yet been provided

$300 USD en 5 días
(6 comentarios)
3.9