an industrial-strength audio search algorithm ismir – a1 shazam entertainment,ltd. avery li-chun...
TRANSCRIPT
An Industrial-Strength Audio Search Algorithm
ISMIR – A1
Shazam Entertainment,Ltd.
Avery Li-Chun Wang2001
Súmário
• Introdução
• Princípios Básicos de Operação
• Robust Constellations
• Fast Combinatorial Hashing
• Searching
• Resultados
Introdução
- Shazam é uma empresa baseada na identificação de música através do celular.
- A empresa foi fundada em 1999, por Chris Barton, Inghelbrecht Philip, Wang Avery e Mukherjee Dhiraj.
- Ate setembro de 2012, Shazam teve um faturamente de US $ 32 milhões.
Introdução
• O algoritmo consegue fazer o reconhecimento mesmo com ruído pesado ao fundo. (Um bar por exemplo).
• O algoritmo reconhece rapidamente uma música mesmo contra uma grande base de dados.
Princípios Básicos de Operação
• Cada arquivo de áudio é convertido em um FingerPrint.
• As impressões digitais da amostra desconhecida de áudio são correspondidas contra um grande número de FingerPrints armazenados no banco.
• Os candidatos correspondentes são posteriormente avaliados.
• Existem 3 componentes principais que serão apresentados a seguir.
Robust Constellations
• Picos no espectograma são robustos na presença de rúido.
• Um time-frequency point é um pico candidato se tiver um alto grau de energia do que todos os seus vizinhos.
• Picos com amplitude mais elevada tem mais probabilidade de sobreviver a distorções.
• Mapa de constelações são uma importante forma de matching na presença de ruído.
Robust Constellations
Fast Combinatorial Hash
• Combinatorial Hashs são usadas para mapear o Mapa de Constelações.
• Cada pico de 1024hz por exemplo produz 10 bits de dados.
• Foi desenvolvido um modo rápido para indexar Mapas de Constelação utilizando pares de pontos combinatorialmente associados.
• Pontos ancoras são escolhidos e cada um possuindo uma zona de destino associada a ele.
Fast Combinatorial Hash
Fast Combinatorial Hash
• A operação acima é executada em cada faixa do banco de dados e associado um ID ao fingerprint correspondente.
• O número de hashes geradas por um mapa de constelações é igual a sua densidade x fan-out.
• O tamanho do fan-out leva diretamente a um fator de custo em armazenamento.
Fast Combinatorial Hash
• Ao formar pares em vez de tentar fazer o casamento com picos individuais ganhamos uma enorme aceleração no tempo de pesquisa.
• Hash-token de picos associados combinatoriamente geram uma especificidade de cerca de 1 milhão de vezes maior do que de Hash-tokens de picos solitários.
• Consequentemente a busca é acelerada.
• Por outro lado Hashs combinatórias precisam de mais espaço de armazenamento ( Constelation Map size x fan-out ) .
• Trade OFF.
Searching
• Para realizar uma pesquisa o processo de Fingerprint descrito acima é executado em uma amostra desconhecida de áudio para gerar um conjunto de hash-tokens.
• Cada hash-token é usado para pesquisar no banco de dados para fazer o matching de hashes.
• Para cada matching os tempos correspondentes ( offset times ) na amostra e da base de dados são associados ( time-pairs ).
Searching
• Depois de todos os hashes de amostra do audio desconhecido serem usados na pesquisa do BD , os bins representativos dos matches são “scaneados”.
• É feito um gráfico de disperção da associação entre a amostra do audio e os arquivos da base de dados.
Searching
• O problema de decidir se uma música foi encontrada esta na detecção de um conjunto significativo de pontos que formam uma linha diagonal no interior da disperção.
Searching
• Várias técnicas podem ser usadas para realizar a detecção por exemplo uma transformada de Hough.
• A seguinte técnica resolve o problema em aproximadamente - n * log (n).
tk’ = coordenada do tempo do matching no database.
tk = coordenada do tempo no som de amostra.
Searching
• Para cada ( tk’, tk ) coordenadas no diagrama de disperção, calculamos:
δtk = tk’ – tk
• Então é calculado um histograma dos valores de δtk.
• Uma música foi encontrada quando o número de matching points em um pico no histograma é alto.
Searching
Searching A presença de um associamento estatisticamente significativo indica um match, ou seja a
música foi encontrada.
Resultados
• Como descrito acima, o resultado é simplesmente o número de matching e de hash-tokens alinhados no tempo.
• A distribuição de scores de falsos matchings é de interesse na determinação de falsos positivos ( um histograma de escores de faixas incorretamente correspondida é calculada).
Resultados
250 amostras de áudio com diferentes níveis de rúido.
Database – 10.000 músicas populares
Resultados Mais rúido.
Compressão GSM
Referências
• [1] Avery Li-Chun Wang and Julius O. Smith, III., WIPO publication WO 02/11123A2, 7 February 2002,(Priority 31 July 2000).
• [2] Jaap Haitsma, Antonius Kalker, Constant Baggen, and Job Oostveen., WIPO publication WO 02/065782A1, 22 August 2002, (Priority 12 February, 2001).
• [3] Jaap Haitsma, Antonius Kalker, “A Highly RobustAudio Fingerprinting System”, InternationalSymposium on Music Information Retrieval (ISMIR) 2002, pp. 107-115.
• [4] Cheng Yang, “MACS: Music Audio Characteristic Sequence Indexing For Similarity Retrieval”, in IEEE Workshop on Applications of Signal Processing to Audio and Acoustics, 2001.