UNPKG

chromaprint-fixed

Version:

A JavaScript implementation of AcoustID Chromaprint

158 lines (130 loc) 17.7 kB
<!DOCTYPE html> <html> <head> <title>algorithms.coffee</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"> <link rel="stylesheet" media="all" href="../docco.css" /> </head> <body> <div id="container"> <div id="background"></div> <ul id="jump_to"> <li> <a class="large" href="javascript:void(0);">Jump To &hellip;</a> <a class="small" href="javascript:void(0);">+</a> <div id="jump_wrapper"> <div id="jump_page_wrapper"> <div id="jump_page"> <a class="source" href="algorithms.html"> src/algorithms.coffee </a> <a class="source" href="calculator.html"> src/calculator.coffee </a> <a class="source" href="chroma.html"> src/chroma.coffee </a> <a class="source" href="fpcalc.html"> src/fpcalc.coffee </a> <a class="source" href="silenceRemover.html"> src/silenceRemover.coffee </a> </div> </div> </li> </ul> <ul class="sections"> <li id="title"> <div class="annotation"> <h1>algorithms.coffee</h1> </div> </li> <li id="section-1"> <div class="annotation"> <div class="pilwrap "> <a class="pilcrow" href="#section-1">&#182;</a> </div> <p>Algorithms for chromaprint. These are ripped shamelessly from <a href="https://bitbucket.org/acoustid/chromaprint/src">AcoustID Chromaprint</a></p> </div> <div class="content"><div class='highlight'><pre> @chromaprint ?= {} filterCoefficients = [ <span class="hljs-number">0.25</span>, <span class="hljs-number">0.75</span>, <span class="hljs-number">1</span>, <span class="hljs-number">0.75</span>, <span class="hljs-number">0.25</span> ] algorithms = <span class="hljs-number">1</span>: filterCoefficients: filterCoefficients interpolate: <span class="hljs-literal">false</span> classifierCoefficients: [ { f: [<span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">3</span>, <span class="hljs-number">15</span>], q: [<span class="hljs-number">2.10543</span>, <span class="hljs-number">2.45354</span>, <span class="hljs-number">2.69414</span>] } { f: [<span class="hljs-number">1</span>, <span class="hljs-number">0</span>, <span class="hljs-number">4</span>, <span class="hljs-number">14</span>], q: [<span class="hljs-number">-0.345922</span>, <span class="hljs-number">0.0463746</span>, <span class="hljs-number">0.446251</span>] } { f: [<span class="hljs-number">1</span>, <span class="hljs-number">4</span>, <span class="hljs-number">4</span>, <span class="hljs-number">11</span>], q: [<span class="hljs-number">-0.392132</span>, <span class="hljs-number">0.0291077</span>, <span class="hljs-number">0.443391</span>] } { f: [<span class="hljs-number">3</span>, <span class="hljs-number">0</span>, <span class="hljs-number">4</span>, <span class="hljs-number">14</span>], q: [<span class="hljs-number">-0.192851</span>, <span class="hljs-number">0.00583535</span>, <span class="hljs-number">0.204053</span>] } { f: [<span class="hljs-number">2</span>, <span class="hljs-number">8</span>, <span class="hljs-number">2</span>, <span class="hljs-number">4</span>], q: [<span class="hljs-number">-0.0771619</span>, <span class="hljs-number">-0.00991999</span>, <span class="hljs-number">0.0575406</span>] } { f: [<span class="hljs-number">5</span>, <span class="hljs-number">6</span>, <span class="hljs-number">2</span>, <span class="hljs-number">15</span>], q: [<span class="hljs-number">-0.710437</span>, <span class="hljs-number">-0.518954</span>, <span class="hljs-number">-0.330402</span>] } { f: [<span class="hljs-number">1</span>, <span class="hljs-number">9</span>, <span class="hljs-number">2</span>, <span class="hljs-number">16</span>], q: [<span class="hljs-number">-0.353724</span>, <span class="hljs-number">-0.0189719</span>, <span class="hljs-number">0.289768</span>] } { f: [<span class="hljs-number">3</span>, <span class="hljs-number">4</span>, <span class="hljs-number">2</span>, <span class="hljs-number">10</span>], q: [<span class="hljs-number">-0.128418</span>, <span class="hljs-number">-0.0285697</span>, <span class="hljs-number">0.0591791</span>] } { f: [<span class="hljs-number">3</span>, <span class="hljs-number">9</span>, <span class="hljs-number">2</span>, <span class="hljs-number">16</span>], q: [<span class="hljs-number">-0.139052</span>, <span class="hljs-number">-0.0228468</span>, <span class="hljs-number">0.0879723</span>] } { f: [<span class="hljs-number">2</span>, <span class="hljs-number">1</span>, <span class="hljs-number">3</span>, <span class="hljs-number">6</span>], q: [<span class="hljs-number">-0.133562</span>, <span class="hljs-number">0.00669205</span>, <span class="hljs-number">0.155012</span>] } { f: [<span class="hljs-number">3</span>, <span class="hljs-number">3</span>, <span class="hljs-number">6</span>, <span class="hljs-number">2</span>], q: [<span class="hljs-number">-0.0267</span>, <span class="hljs-number">0.00804829</span>, <span class="hljs-number">0.0459773</span>] } { f: [<span class="hljs-number">2</span>, <span class="hljs-number">8</span>, <span class="hljs-number">1</span>, <span class="hljs-number">10</span>], q: [<span class="hljs-number">-0.0972417</span>, <span class="hljs-number">0.0152227</span>, <span class="hljs-number">0.129003</span>] } { f: [<span class="hljs-number">3</span>, <span class="hljs-number">4</span>, <span class="hljs-number">4</span>, <span class="hljs-number">14</span>], q: [<span class="hljs-number">-0.141434</span>, <span class="hljs-number">0.00374515</span>, <span class="hljs-number">0.149935</span>] } { f: [<span class="hljs-number">5</span>, <span class="hljs-number">4</span>, <span class="hljs-number">2</span>, <span class="hljs-number">15</span>], q: [<span class="hljs-number">-0.64035</span>, <span class="hljs-number">-0.466999</span>, <span class="hljs-number">-0.285493</span>] } { f: [<span class="hljs-number">5</span>, <span class="hljs-number">9</span>, <span class="hljs-number">2</span>, <span class="hljs-number">3</span>], q: [<span class="hljs-number">-0.322792</span>, <span class="hljs-number">-0.254258</span>, <span class="hljs-number">-0.174278</span>] } { f: [<span class="hljs-number">2</span>, <span class="hljs-number">1</span>, <span class="hljs-number">8</span>, <span class="hljs-number">4</span>], q: [<span class="hljs-number">-0.0741375</span>, <span class="hljs-number">-0.00590933</span>, <span class="hljs-number">0.0600357</span>] } ] <span class="hljs-number">2</span>: filterCoefficients: filterCoefficients interpolate: <span class="hljs-literal">false</span> classifierCoefficients: [ { f: [<span class="hljs-number">0</span>, <span class="hljs-number">4</span>, <span class="hljs-number">3</span>, <span class="hljs-number">15</span>], q: [<span class="hljs-number">1.98215</span>, <span class="hljs-number">2.35817</span>, <span class="hljs-number">2.63523</span>] } { f: [<span class="hljs-number">4</span>, <span class="hljs-number">4</span>, <span class="hljs-number">6</span>, <span class="hljs-number">15</span>], q: [<span class="hljs-number">-1.03809</span>, <span class="hljs-number">-0.651211</span>, <span class="hljs-number">-0.282167</span>] } { f: [<span class="hljs-number">1</span>, <span class="hljs-number">0</span>, <span class="hljs-number">4</span>, <span class="hljs-number">16</span>], q: [<span class="hljs-number">-0.298702</span>, <span class="hljs-number">0.119262</span>, <span class="hljs-number">0.558497</span>] } { f: [<span class="hljs-number">3</span>, <span class="hljs-number">8</span>, <span class="hljs-number">2</span>, <span class="hljs-number">12</span>], q: [<span class="hljs-number">-0.105439</span>, <span class="hljs-number">0.0153946</span>, <span class="hljs-number">0.135898</span>] } { f: [<span class="hljs-number">3</span>, <span class="hljs-number">4</span>, <span class="hljs-number">4</span>, <span class="hljs-number">8</span>], q: [<span class="hljs-number">-0.142891</span>, <span class="hljs-number">0.0258736</span>, <span class="hljs-number">0.200632</span>] } { f: [<span class="hljs-number">4</span>, <span class="hljs-number">0</span>, <span class="hljs-number">3</span>, <span class="hljs-number">5</span>], q: [<span class="hljs-number">-0.826319</span>, <span class="hljs-number">-0.590612</span>, <span class="hljs-number">-0.368214</span>] } { f: [<span class="hljs-number">1</span>, <span class="hljs-number">2</span>, <span class="hljs-number">2</span>, <span class="hljs-number">9</span>], q: [<span class="hljs-number">-0.557409</span>, <span class="hljs-number">-0.233035</span>, <span class="hljs-number">0.0534525</span>] } { f: [<span class="hljs-number">2</span>, <span class="hljs-number">7</span>, <span class="hljs-number">3</span>, <span class="hljs-number">4</span>], q: [<span class="hljs-number">-0.0646826</span>, <span class="hljs-number">0.00620476</span>, <span class="hljs-number">0.0784847</span>] } { f: [<span class="hljs-number">2</span>, <span class="hljs-number">6</span>, <span class="hljs-number">2</span>, <span class="hljs-number">16</span>], q: [<span class="hljs-number">-0.192387</span>, <span class="hljs-number">-0.029699</span>, <span class="hljs-number">0.215855</span>] } { f: [<span class="hljs-number">2</span>, <span class="hljs-number">1</span>, <span class="hljs-number">3</span>, <span class="hljs-number">2</span>], q: [<span class="hljs-number">-0.0397818</span>, <span class="hljs-number">-0.00568076</span>, <span class="hljs-number">0.0292026</span>] } { f: [<span class="hljs-number">5</span>, <span class="hljs-number">10</span>, <span class="hljs-number">1</span>, <span class="hljs-number">15</span>], q: [<span class="hljs-number">-0.53823</span>, <span class="hljs-number">-0.369934</span>, <span class="hljs-number">-0.190235</span>] } { f: [<span class="hljs-number">3</span>, <span class="hljs-number">6</span>, <span class="hljs-number">2</span>, <span class="hljs-number">10</span>], q: [<span class="hljs-number">-0.124877</span>, <span class="hljs-number">0.0296483</span>, <span class="hljs-number">0.139239</span>] } { f: [<span class="hljs-number">2</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">14</span>], q: [<span class="hljs-number">-0.101475</span>, <span class="hljs-number">0.0225617</span>, <span class="hljs-number">0.231971</span>] } { f: [<span class="hljs-number">3</span>, <span class="hljs-number">5</span>, <span class="hljs-number">6</span>, <span class="hljs-number">4</span>], q: [<span class="hljs-number">-0.0799915</span>, <span class="hljs-number">-0.00729616</span>, <span class="hljs-number">0.063262</span>] } { f: [<span class="hljs-number">1</span>, <span class="hljs-number">9</span>, <span class="hljs-number">2</span>, <span class="hljs-number">12</span>], q: [<span class="hljs-number">-0.272556</span>, <span class="hljs-number">0.019424</span>, <span class="hljs-number">0.302559</span>] } { f: [<span class="hljs-number">3</span>, <span class="hljs-number">4</span>, <span class="hljs-number">2</span>, <span class="hljs-number">14</span>], q: [<span class="hljs-number">-0.164292</span>, <span class="hljs-number">-0.0321188</span>, <span class="hljs-number">0.0846339</span>] } ] <span class="hljs-number">3</span>: filterCoefficients: filterCoefficients interpolate: <span class="hljs-literal">false</span> classifierCoefficients: [ { f: [<span class="hljs-number">0</span>, <span class="hljs-number">4</span>, <span class="hljs-number">3</span>, <span class="hljs-number">15</span>], q: [<span class="hljs-number">1.98215</span>, <span class="hljs-number">2.35817</span>, <span class="hljs-number">2.63523</span>] } { f: [<span class="hljs-number">4</span>, <span class="hljs-number">4</span>, <span class="hljs-number">6</span>, <span class="hljs-number">15</span>], q: [<span class="hljs-number">-1.03809</span>, <span class="hljs-number">-0.651211</span>, <span class="hljs-number">-0.282167</span>] } { f: [<span class="hljs-number">1</span>, <span class="hljs-number">0</span>, <span class="hljs-number">4</span>, <span class="hljs-number">16</span>], q: [<span class="hljs-number">-0.298702</span>, <span class="hljs-number">0.119262</span>, <span class="hljs-number">0.558497</span>] } { f: [<span class="hljs-number">3</span>, <span class="hljs-number">8</span>, <span class="hljs-number">2</span>, <span class="hljs-number">12</span>], q: [<span class="hljs-number">-0.105439</span>, <span class="hljs-number">0.0153946</span>, <span class="hljs-number">0.135898</span>] } { f: [<span class="hljs-number">3</span>, <span class="hljs-number">4</span>, <span class="hljs-number">4</span>, <span class="hljs-number">8</span>], q: [<span class="hljs-number">-0.142891</span>, <span class="hljs-number">0.0258736</span>, <span class="hljs-number">0.200632</span>] } { f: [<span class="hljs-number">4</span>, <span class="hljs-number">0</span>, <span class="hljs-number">3</span>, <span class="hljs-number">5</span>], q: [<span class="hljs-number">-0.826319</span>, <span class="hljs-number">-0.590612</span>, <span class="hljs-number">-0.368214</span>] } { f: [<span class="hljs-number">1</span>, <span class="hljs-number">2</span>, <span class="hljs-number">2</span>, <span class="hljs-number">9</span>], q: [<span class="hljs-number">-0.557409</span>, <span class="hljs-number">-0.233035</span>, <span class="hljs-number">0.0534525</span>] } { f: [<span class="hljs-number">2</span>, <span class="hljs-number">7</span>, <span class="hljs-number">3</span>, <span class="hljs-number">4</span>], q: [<span class="hljs-number">-0.0646826</span>, <span class="hljs-number">0.00620476</span>, <span class="hljs-number">0.0784847</span>] } { f: [<span class="hljs-number">2</span>, <span class="hljs-number">6</span>, <span class="hljs-number">2</span>, <span class="hljs-number">16</span>], q: [<span class="hljs-number">-0.192387</span>, <span class="hljs-number">-0.029699</span>, <span class="hljs-number">0.215855</span>] } { f: [<span class="hljs-number">2</span>, <span class="hljs-number">1</span>, <span class="hljs-number">3</span>, <span class="hljs-number">2</span>], q: [<span class="hljs-number">-0.0397818</span>, <span class="hljs-number">-0.00568076</span>, <span class="hljs-number">0.0292026</span>] } { f: [<span class="hljs-number">5</span>, <span class="hljs-number">10</span>, <span class="hljs-number">1</span>, <span class="hljs-number">15</span>], q: [<span class="hljs-number">-0.53823</span>, <span class="hljs-number">-0.369934</span>, <span class="hljs-number">-0.190235</span>] } { f: [<span class="hljs-number">3</span>, <span class="hljs-number">6</span>, <span class="hljs-number">2</span>, <span class="hljs-number">10</span>], q: [<span class="hljs-number">-0.124877</span>, <span class="hljs-number">0.0296483</span>, <span class="hljs-number">0.139239</span>] } { f: [<span class="hljs-number">2</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">14</span>], q: [<span class="hljs-number">-0.101475</span>, <span class="hljs-number">0.0225617</span>, <span class="hljs-number">0.231971</span>] } { f: [<span class="hljs-number">3</span>, <span class="hljs-number">5</span>, <span class="hljs-number">6</span>, <span class="hljs-number">4</span>], q: [<span class="hljs-number">-0.0799915</span>, <span class="hljs-number">-0.00729616</span>, <span class="hljs-number">0.063262</span>] } { f: [<span class="hljs-number">1</span>, <span class="hljs-number">9</span>, <span class="hljs-number">2</span>, <span class="hljs-number">12</span>], q: [<span class="hljs-number">-0.272556</span>, <span class="hljs-number">0.019424</span>, <span class="hljs-number">0.302559</span>] } { f: [<span class="hljs-number">3</span>, <span class="hljs-number">4</span>, <span class="hljs-number">2</span>, <span class="hljs-number">14</span>], q: [<span class="hljs-number">-0.164292</span>, <span class="hljs-number">-0.0321188</span>, <span class="hljs-number">0.0846339</span>] } ] <span class="hljs-number">4</span>: removeSilence: <span class="hljs-literal">true</span> silenceThreshold: <span class="hljs-number">50</span> <span class="hljs-keyword">for</span> own k, v <span class="hljs-keyword">of</span> algorithms algorithms[Number(k)] = v algorithms.<span class="hljs-keyword">default</span> = algorithms[<span class="hljs-number">2</span>] @chromaprint.ALGORITHMS = algorithms</pre></div></div> </li> </ul> </div> </body> </html>