{"id":17689,"date":"2014-11-29T20:58:17","date_gmt":"2014-11-30T01:58:17","guid":{"rendered":"https:\/\/reactivemusic.net\/?p=17689"},"modified":"2014-12-11T01:33:30","modified_gmt":"2014-12-11T06:33:30","slug":"ep-413-dsp-week-13","status":"publish","type":"post","link":"https:\/\/reactivemusic.net\/?p=17689","title":{"rendered":"ep-413 DSP &#8211; week 13"},"content":{"rendered":"<p><a href=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2014\/11\/Screen-Shot-2014-12-01-at-12.33.28-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-17752\" src=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2014\/11\/Screen-Shot-2014-12-01-at-12.33.28-AM-300x78.png\" alt=\"\" width=\"300\" height=\"78\" srcset=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2014\/11\/Screen-Shot-2014-12-01-at-12.33.28-AM-300x78.png 300w, https:\/\/reactivemusic.net\/wp-content\/uploads\/2014\/11\/Screen-Shot-2014-12-01-at-12.33.28-AM-1024x268.png 1024w, https:\/\/reactivemusic.net\/wp-content\/uploads\/2014\/11\/Screen-Shot-2014-12-01-at-12.33.28-AM.png 1854w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h3>Feature detection and randomness<\/h3>\n<p>What could it possibly have to do with my life?<\/p>\n<h4>Feature detection<\/h4>\n<h5>descriptors<\/h5>\n<ul>\n<li>Spectral\n<ul>\n<li>BarkBands, MelBands, ERBBands, MFCC, GFCC, LPC, HFC, Spectral Contrast, Inharmonicity, and Dissonance, &#8230;<\/li>\n<\/ul>\n<\/li>\n<li>Time-domain\n<ul>\n<li>EffectiveDuration, ECR, Loundness, &#8230;<\/li>\n<\/ul>\n<\/li>\n<li>Tonal\n<ul>\n<li>PitchSalienceFunction, PitchYinFFT, HPCP, TuningFrequency, Key, ChordsDetection, &#8230;<\/li>\n<\/ul>\n<\/li>\n<li>Rhythm\n<ul>\n<li>BestTrackerDegara, BeatTrackerMultiFeature, BPMHistogramDescriptors, NoveltyCurve, OnsetDescription, OnsetDetection, Onsets, &#8230;<\/li>\n<\/ul>\n<\/li>\n<li>SFX\n<ul>\n<li>LogAttackTime, MaxToTotal, MinToTotal, TCToTotal, &#8230;<\/li>\n<\/ul>\n<\/li>\n<li>High-level\n<ul>\n<li>Danceability, DynamicComplexity, FadeDetection, SBic, &#8230;<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><cite>-from X. Serra (2014) &#8220;Audio Signal Processing for Music Applications&#8221;<\/cite><\/p>\n<ul>\n<li>low level vs. high level<\/li>\n<li>single events vs. groups of events<\/li>\n<li>combinations of descriptors<\/li>\n<li>order of events (markov chains)<\/li>\n<\/ul>\n<p>Humans are very good at pattern recognition. Is it a survival mechanism? People who listen to music are very good at analysis. Compared to the abilities of an average child, computer music information retrieval has not yet reached the computational ability of a worm:\u00a0<a href=\"https:\/\/reactivemusic.net\/?p=17744\">https:\/\/reactivemusic.net\/?p=17744<\/a><\/p>\n<h4>Pattern recognition<\/h4>\n<p>(in computer science)<\/p>\n<ul>\n<li>search engines<\/li>\n<li>(search by image)\u00a0<a href=\"https:\/\/reactivemusic.net\/?p=9847\">https:\/\/reactivemusic.net\/?p=9847<\/a><\/li>\n<li>translators<\/li>\n<li>warning systems<\/li>\n<li>dolphin whistle\u00a0<a href=\"https:\/\/reactivemusic.net\/?p=10337\">https:\/\/reactivemusic.net\/?p=10337<\/a><\/li>\n<li>machine learning &#8211; facial recognition:\u00a0<a href=\"https:\/\/reactivemusic.net\/?p=17717\">https:\/\/reactivemusic.net\/?p=17717<\/a><\/li>\n<\/ul>\n<h4>Music information retrieval<\/h4>\n<p>High-level<\/p>\n<ul>\n<li>chills:\u00a0<a style=\"line-height: normal;\" href=\"https:\/\/reactivemusic.net\/?p=17714\">https:\/\/reactivemusic.net\/?p=17714<\/a><\/li>\n<li>the drop\u00a0<a href=\"https:\/\/reactivemusic.net\/?p=17711\">https:\/\/reactivemusic.net\/?p=17711<\/a><\/li>\n<li>mood:\u00a0<a href=\"https:\/\/reactivemusic.net\/?p=17722\">https:\/\/reactivemusic.net\/?p=17722<\/a><\/li>\n<li>Bobby McFerrin\u00a0<a href=\"https:\/\/reactivemusic.net\/?p=555\">https:\/\/reactivemusic.net\/?p=555<\/a><\/li>\n<\/ul>\n<p>Low-level<\/p>\n<p>(These demonstrations will be done in Ubuntu Linux 14.04.1)<\/p>\n<ul>\n<li>SMS tools\u00a0<a href=\"https:\/\/reactivemusic.net\/?p=17626\">https:\/\/reactivemusic.net\/?p=17626<\/a><\/li>\n<li>Essentia\u00a0<a href=\"https:\/\/reactivemusic.net\/?p=17656\">https:\/\/reactivemusic.net\/?p=17656<\/a><\/li>\n<\/ul>\n<h5>1. Separating and removing musical tones from speech<\/h5>\n<p>1a. Harmonic plus residual model (HPR) in\u00a0 sms-tools (speech-female 150-200 Hz. , and sax phrase)<\/p>\n<p>1b. Do the same thing with transformation model<\/p>\n<p>What about pitch salience and chroma?<\/p>\n<h5>2. descriptors<\/h5>\n<p>(use workspace\/A9)<\/p>\n<p>import soundAnalysis as SA<\/p>\n<p>Here is the list of descriptors that are donwloaded:<\/p>\n<p><i>Index &#8212; Descriptor<\/i><\/p>\n<div>0 &#8212; lowlevel.spectral_centroid.mean<\/div>\n<div>1 &#8212; lowlevel.dissonance.mean<\/div>\n<div>2 &#8212; lowlevel.hfc.mean<\/div>\n<div>3 &#8212; sfx.logattacktime.mean<\/div>\n<div>4 &#8212; sfx.inharmonicity.mean<\/div>\n<div>5 &#8212; lowlevel.spectral_contrast.mean.0<\/div>\n<div>6 &#8212; lowlevel.spectral_contrast.mean.1<\/div>\n<div>7 &#8212; lowlevel.spectral_contrast.mean.2<\/div>\n<div>8 &#8212; lowlevel.spectral_contrast.mean.3<\/div>\n<div>9 &#8212; lowlevel.spectral_contrast.mean.4<\/div>\n<div>10 &#8212; lowlevel.spectral_contrast.mean.5<\/div>\n<div>11 &#8212; lowlevel.mfcc.mean.0<\/div>\n<div>12 &#8212; lowlevel.mfcc.mean.1<\/div>\n<div>13 &#8212; lowlevel.mfcc.mean.2<\/div>\n<div>14 &#8212; lowlevel.mfcc.mean.3<\/div>\n<div>15 &#8212; lowlevel.mfcc.mean.4<\/div>\n<p>16 &#8212; lowlevel.mfcc.mean.5<\/p>\n<h6>2a. euclidian distance<\/h6>\n<p>What happens when you look at multiple descriptors<\/p>\n<p>In [22]: SA.descriptorPairScatterPlot( &#8216;tmp&#8217;, descInput=(0,5))<\/p>\n<p><a href=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2014\/11\/figure_3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-17693\" src=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2014\/11\/figure_3-300x226.png\" alt=\"figure_3\" width=\"300\" height=\"226\" srcset=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2014\/11\/figure_3-300x226.png 300w, https:\/\/reactivemusic.net\/wp-content\/uploads\/2014\/11\/figure_3.png 812w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h6>2b. k- means clustering<\/h6>\n<p>What descriptors best classify sounds into instrument groups?<\/p>\n<p>SA.clusterSounds(&#8216;tmp&#8217;, nCluster = 3, descInput=[0,2,9])<\/p>\n<p>In [21]: SA.clusterSounds(&#8216;tmp&#8217;, nCluster = 3, descInput=[0,2,9])<br \/>\n(Cluster: 0) Using majority voting as a criterion this cluster belongs to class: violin<br \/>\nNumber of sounds in this cluster are: 15<br \/>\nsound-id, sound-class, classification decision<br \/>\n[[&#8216;61926&#8217; &#8216;violin&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;61925&#8217; &#8216;violin&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;153607&#8217; &#8216;violin&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;153629&#8217; &#8216;violin&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;153609&#8217; &#8216;violin&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;153608&#8217; &#8216;violin&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;153628&#8217; &#8216;violin&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;153603&#8217; &#8216;violin&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;153602&#8217; &#8216;violin&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;153601&#8217; &#8216;violin&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;153600&#8217; &#8216;violin&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;153610&#8217; &#8216;violin&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;153606&#8217; &#8216;violin&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;153605&#8217; &#8216;violin&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;153604&#8217; &#8216;violin&#8217; &#8216;1&#8217;]]<\/p>\n<p>(Cluster: 1) Using majority voting as a criterion this cluster belongs to class: bassoon<br \/>\nNumber of sounds in this cluster are: 22<br \/>\nsound-id, sound-class, classification decision<br \/>\n[[&#8216;154336&#8217; &#8216;bassoon&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;154337&#8217; &#8216;bassoon&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;154335&#8217; &#8216;bassoon&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;154352&#8217; &#8216;bassoon&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;154344&#8217; &#8216;bassoon&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;154338&#8217; &#8216;bassoon&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;154339&#8217; &#8216;bassoon&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;154343&#8217; &#8216;bassoon&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;154342&#8217; &#8216;bassoon&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;154341&#8217; &#8216;bassoon&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;154340&#8217; &#8216;bassoon&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;154347&#8217; &#8216;bassoon&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;154346&#8217; &#8216;bassoon&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;154345&#8217; &#8216;bassoon&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;154353&#8217; &#8216;bassoon&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;154350&#8217; &#8216;bassoon&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;154349&#8217; &#8216;bassoon&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;154348&#8217; &#8216;bassoon&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;154351&#8217; &#8216;bassoon&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;61927&#8217; &#8216;violin&#8217; &#8216;0&#8217;]<br \/>\n[&#8216;61928&#8217; &#8216;violin&#8217; &#8216;0&#8217;]<br \/>\n[&#8216;153769&#8217; &#8216;cello&#8217; &#8216;0&#8217;]]<\/p>\n<p>(Cluster: 2) Using majority voting as a criterion this cluster belongs to class: cello<br \/>\nNumber of sounds in this cluster are: 23<br \/>\nsound-id, sound-class, classification decision<br \/>\n[[&#8216;154334&#8217; &#8216;bassoon&#8217; &#8216;0&#8217;]<br \/>\n[&#8216;61929&#8217; &#8216;violin&#8217; &#8216;0&#8217;]<br \/>\n[&#8216;61930&#8217; &#8216;violin&#8217; &#8216;0&#8217;]<br \/>\n[&#8216;153626&#8217; &#8216;violin&#8217; &#8216;0&#8217;]<br \/>\n[&#8216;42252&#8217; &#8216;cello&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;42250&#8217; &#8216;cello&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;42251&#8217; &#8216;cello&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;42256&#8217; &#8216;cello&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;42257&#8217; &#8216;cello&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;42254&#8217; &#8216;cello&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;42255&#8217; &#8216;cello&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;42249&#8217; &#8216;cello&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;42248&#8217; &#8216;cello&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;42247&#8217; &#8216;cello&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;42246&#8217; &#8216;cello&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;42239&#8217; &#8216;cello&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;42260&#8217; &#8216;cello&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;42241&#8217; &#8216;cello&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;42243&#8217; &#8216;cello&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;42242&#8217; &#8216;cello&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;42253&#8217; &#8216;cello&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;42244&#8217; &#8216;cello&#8217; &#8216;1&#8217;]<br \/>\n[&#8216;42259&#8217; &#8216;cello&#8217; &#8216;1&#8217;]]<br \/>\nOut of 60 sounds, 7 sounds are incorrectly classified considering that one cluster should ideally contain sounds from only a single class<br \/>\nYou obtain a classification (based on obtained clusters and majority voting) accuracy of 88.33 percentage<\/p>\n<h6>2c. KNN\u00a0find nearest neighbors<\/h6>\n<p>Which neighborhood or group does a sound belong to?<\/p>\n<p>(using bad male vocal)<\/p>\n<p>SA.classifySoundkNN(&#8220;qs\/175454\/175454\/175454_2042115-lq.json&#8221;, &#8220;tmp&#8221;,13, descInput = [0,5,10])<br \/>\n===<\/p>\n<p>from workspace&#8230;<\/p>\n<p>First test: Use sounds by querying &#8220;saxophone&#8221;, tag=&#8221;alto-sax&#8221;<br \/>\n<a href=\"https:\/\/www.freesound.org\/people\/clruwe\/sounds\/119248\/\" target=\"\">https:\/\/www.freesound.org\/people\/clruwe\/sounds\/119248\/<\/a><br \/>\nI am using the same descriptors [0,2,9] that worked well in previous section. with K=3. Tried various values of K with this analysis and it always came out matching &#8216;violin&#8217; which I think is correct.<\/p>\n<p>In [26]: SA.classifySoundkNN(&#8220;qs\/saxophone\/119248\/119248_2104336-lq.json&#8221;, &#8220;tmp&#8221;, 33, descInput = [0,2,9])<br \/>\nThis sample belongs to class: violin<br \/>\nOut[26]: &#8216;violin&#8217;<\/p>\n<p>Second test: I am trying out the freesound &#8220;similar sound&#8221; feature. Using one of the bassoon sounds I clicked &#8220;similar sounds&#8221; and chose a sound that was not a bassoon &#8211; &#8220;Bad Singer&#8221; (male).<\/p>\n<p><a title=\"Link: http:\/\/freesound.org\/people\/sergeeo\/sounds\/175454\/\" href=\"http:\/\/freesound.org\/people\/sergeeo\/sounds\/175454\/\" target=\"\">http:\/\/freesound.org\/people\/sergeeo\/sounds\/175454\/<\/a><\/p>\n<p>Running the previous descriptors returned a match for violin. So I tried various other descriptors, and was able to get it to match bassoon consistently by using: [0,5,10] which are lowlevel.spectral_centroid.mean, lowlevel.spectral_contrast.mean.0, and lowlevel.mfcc.mean.0.<\/p>\n<p>I honestly don&#8217;t know the best strategy for choosing these descriptors and tried to go with ones that seemed the least esoteric. The value of K does not seem to make any difference in the classification.<\/p>\n<p>Here is the output<\/p>\n<p>In [42]: SA.classifySoundkNN(&#8220;qs\/175454\/175454\/175454_2042115-lq.json&#8221;, &#8220;tmp&#8221;,13, descInput = [0,5,10])<br \/>\nThis sample belongs to class: bassoon<br \/>\nOut[42]: &#8216;bassoon&#8217;<\/p>\n<h5>2d. JSON analysis data for &#8220;bad voice&#8221; example&#8230;<\/h5>\n<p>#: cd ~\/sms-tools\/workspace\/A9\/qs\/175454\/175454<\/p>\n<p># cat 175454_2042115-lq.json | python -mjson.tool<\/p>\n<h5>3. acousticbrainz<\/h5>\n<p>(typical analysis page&#8230;)\u00a0<a href=\"https:\/\/reactivemusic.net\/?p=17641\">https:\/\/reactivemusic.net\/?p=17641<\/a><\/p>\n<h5>4. Echonest acoustic analysis<\/h5>\n<p>fingerprinting and human factors like danceability&#8230;<\/p>\n<ul>\n<li>specification document:\u00a0<a style=\"line-height: normal;\" href=\"https:\/\/reactivemusic.net\/?p=6276\">https:\/\/reactivemusic.net\/?p=6276<\/a><\/li>\n<li>Max example:\u00a0<a style=\"line-height: normal;\" href=\"https:\/\/reactivemusic.net\/?p=6296\">https:\/\/reactivemusic.net\/?p=6296<\/a><\/li>\n<li>en_analyzer~ object\u00a0<a href=\"https:\/\/reactivemusic.net\/?p=6282\">https:\/\/reactivemusic.net\/?p=6282<\/a><\/li>\n<li>Tristan Jehan&#8217;s Max\/MSP externals\u00a0<a href=\"http:\/\/web.media.mit.edu\/~tristan\/maxmsp.html\">http:\/\/web.media.mit.edu\/~tristan\/maxmsp.html<\/a><\/li>\n<\/ul>\n<h4>Randomness<\/h4>\n<h5>continuum<\/h5>\n<p>random -&gt; ordered (stochastic -&gt; deterministic (for academics))<\/p>\n<p>Does technology have a sound?<\/p>\n<h5>Can you add small bits of randomness?<\/h5>\n<ul>\n<li>Can you detect randomness?<\/li>\n<li>How much repetition is enough?<\/li>\n<\/ul>\n<p>Brain wiring diagram:\u00a0<a href=\"https:\/\/reactivemusic.net\/?p=17758\">https:\/\/reactivemusic.net\/?p=17758\u00a0<\/a><\/p>\n<p>Christof Koch &#8211; check out this video at around 13:33 for about 2 minutes\u00a0<a href=\"http:\/\/www.technologyreview.com\/emtech\/14\/video\/watch\/christof-koch-hacking-the-soul\/\">http:\/\/www.technologyreview.com\/emtech\/14\/video\/watch\/christof-koch-hacking-the-soul\/<\/a><\/p>\n<p>With every technology, musicians figure out how to use it another way. Starting with stone tools, bow and arrow, and now computers.<\/p>\n<p>Data science skills:\u00a0<a href=\"https:\/\/reactivemusic.net\/?p=17707\">https:\/\/reactivemusic.net\/?p=17707<\/a><\/p>\n<h4>Car engine synthesizer<\/h4>\n<p>At the end of the class we revved the engine of a 2015 Golf TSI, connected to an engine sound simulator in Max, on Boylston street&#8230;<\/p>\n<p><a href=\"https:\/\/reactivemusic.net\/?p=7643\">https:\/\/reactivemusic.net\/?p=7643<\/a><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Feature detection and randomness What could it possibly have to do with my life? Feature detection descriptors Spectral BarkBands, MelBands, ERBBands, MFCC, GFCC, LPC, HFC, Spectral Contrast, Inharmonicity, and Dissonance, &#8230; Time-domain EffectiveDuration, ECR, Loundness, &#8230; Tonal PitchSalienceFunction, PitchYinFFT, HPCP, TuningFrequency, Key, ChordsDetection, &#8230; Rhythm BestTrackerDegara, BeatTrackerMultiFeature, BPMHistogramDescriptors, NoveltyCurve, OnsetDescription, OnsetDetection, Onsets, &#8230; SFX LogAttackTime, &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/reactivemusic.net\/?p=17689\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;ep-413 DSP &#8211; week 13&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","footnotes":""},"categories":[21],"tags":[344,13],"class_list":["post-17689","post","type-post","status-publish","format-standard","hentry","category-dsp","tag-dsp","tag-teaching"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ep-413 DSP - week 13 - reactive music<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/reactivemusic.net\/?p=17689\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ep-413 DSP - week 13 - reactive music\" \/>\n<meta property=\"og:description\" content=\"Feature detection and randomness What could it possibly have to do with my life? Feature detection descriptors Spectral BarkBands, MelBands, ERBBands, MFCC, GFCC, LPC, HFC, Spectral Contrast, Inharmonicity, and Dissonance, &#8230; Time-domain EffectiveDuration, ECR, Loundness, &#8230; Tonal PitchSalienceFunction, PitchYinFFT, HPCP, TuningFrequency, Key, ChordsDetection, &#8230; Rhythm BestTrackerDegara, BeatTrackerMultiFeature, BPMHistogramDescriptors, NoveltyCurve, OnsetDescription, OnsetDetection, Onsets, &#8230; SFX LogAttackTime, &hellip; Continue reading &quot;ep-413 DSP &#8211; week 13&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/reactivemusic.net\/?p=17689\" \/>\n<meta property=\"og:site_name\" content=\"reactive music\" \/>\n<meta property=\"article:published_time\" content=\"2014-11-30T01:58:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2014-12-11T06:33:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/reactivemusic.net\/wp-content\/uploads\/2014\/11\/Screen-Shot-2014-12-01-at-12.33.28-AM-300x78.png\" \/>\n<meta name=\"author\" content=\"Tom Zicarelli\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tom Zicarelli\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=17689#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=17689\"},\"author\":{\"name\":\"Tom Zicarelli\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/#\\\/schema\\\/person\\\/56224d281582df7e5518e037ca63e571\"},\"headline\":\"ep-413 DSP &#8211; week 13\",\"datePublished\":\"2014-11-30T01:58:17+00:00\",\"dateModified\":\"2014-12-11T06:33:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=17689\"},\"wordCount\":975,\"image\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=17689#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/reactivemusic.net\\\/wp-content\\\/uploads\\\/2014\\\/11\\\/Screen-Shot-2014-12-01-at-12.33.28-AM-300x78.png\",\"keywords\":[\"DSP\",\"teaching\"],\"articleSection\":[\"DSP\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=17689\",\"url\":\"https:\\\/\\\/reactivemusic.net\\\/?p=17689\",\"name\":\"ep-413 DSP - week 13 - reactive music\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=17689#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=17689#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/reactivemusic.net\\\/wp-content\\\/uploads\\\/2014\\\/11\\\/Screen-Shot-2014-12-01-at-12.33.28-AM-300x78.png\",\"datePublished\":\"2014-11-30T01:58:17+00:00\",\"dateModified\":\"2014-12-11T06:33:30+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/#\\\/schema\\\/person\\\/56224d281582df7e5518e037ca63e571\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=17689#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/reactivemusic.net\\\/?p=17689\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=17689#primaryimage\",\"url\":\"https:\\\/\\\/reactivemusic.net\\\/wp-content\\\/uploads\\\/2014\\\/11\\\/Screen-Shot-2014-12-01-at-12.33.28-AM.png\",\"contentUrl\":\"https:\\\/\\\/reactivemusic.net\\\/wp-content\\\/uploads\\\/2014\\\/11\\\/Screen-Shot-2014-12-01-at-12.33.28-AM.png\",\"width\":1854,\"height\":486},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=17689#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/reactivemusic.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ep-413 DSP &#8211; week 13\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/#website\",\"url\":\"https:\\\/\\\/reactivemusic.net\\\/\",\"name\":\"reactive music\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/reactivemusic.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/#\\\/schema\\\/person\\\/56224d281582df7e5518e037ca63e571\",\"name\":\"Tom Zicarelli\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g\",\"caption\":\"Tom Zicarelli\"},\"sameAs\":[\"http:\\\/\\\/tomzicarelli.com\"],\"url\":\"https:\\\/\\\/reactivemusic.net\\\/?author=2\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ep-413 DSP - week 13 - reactive music","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/reactivemusic.net\/?p=17689","og_locale":"en_US","og_type":"article","og_title":"ep-413 DSP - week 13 - reactive music","og_description":"Feature detection and randomness What could it possibly have to do with my life? Feature detection descriptors Spectral BarkBands, MelBands, ERBBands, MFCC, GFCC, LPC, HFC, Spectral Contrast, Inharmonicity, and Dissonance, &#8230; Time-domain EffectiveDuration, ECR, Loundness, &#8230; Tonal PitchSalienceFunction, PitchYinFFT, HPCP, TuningFrequency, Key, ChordsDetection, &#8230; Rhythm BestTrackerDegara, BeatTrackerMultiFeature, BPMHistogramDescriptors, NoveltyCurve, OnsetDescription, OnsetDetection, Onsets, &#8230; SFX LogAttackTime, &hellip; Continue reading \"ep-413 DSP &#8211; week 13\"","og_url":"https:\/\/reactivemusic.net\/?p=17689","og_site_name":"reactive music","article_published_time":"2014-11-30T01:58:17+00:00","article_modified_time":"2014-12-11T06:33:30+00:00","og_image":[{"url":"https:\/\/reactivemusic.net\/wp-content\/uploads\/2014\/11\/Screen-Shot-2014-12-01-at-12.33.28-AM-300x78.png","type":"","width":"","height":""}],"author":"Tom Zicarelli","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Tom Zicarelli","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/reactivemusic.net\/?p=17689#article","isPartOf":{"@id":"https:\/\/reactivemusic.net\/?p=17689"},"author":{"name":"Tom Zicarelli","@id":"https:\/\/reactivemusic.net\/#\/schema\/person\/56224d281582df7e5518e037ca63e571"},"headline":"ep-413 DSP &#8211; week 13","datePublished":"2014-11-30T01:58:17+00:00","dateModified":"2014-12-11T06:33:30+00:00","mainEntityOfPage":{"@id":"https:\/\/reactivemusic.net\/?p=17689"},"wordCount":975,"image":{"@id":"https:\/\/reactivemusic.net\/?p=17689#primaryimage"},"thumbnailUrl":"https:\/\/reactivemusic.net\/wp-content\/uploads\/2014\/11\/Screen-Shot-2014-12-01-at-12.33.28-AM-300x78.png","keywords":["DSP","teaching"],"articleSection":["DSP"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/reactivemusic.net\/?p=17689","url":"https:\/\/reactivemusic.net\/?p=17689","name":"ep-413 DSP - week 13 - reactive music","isPartOf":{"@id":"https:\/\/reactivemusic.net\/#website"},"primaryImageOfPage":{"@id":"https:\/\/reactivemusic.net\/?p=17689#primaryimage"},"image":{"@id":"https:\/\/reactivemusic.net\/?p=17689#primaryimage"},"thumbnailUrl":"https:\/\/reactivemusic.net\/wp-content\/uploads\/2014\/11\/Screen-Shot-2014-12-01-at-12.33.28-AM-300x78.png","datePublished":"2014-11-30T01:58:17+00:00","dateModified":"2014-12-11T06:33:30+00:00","author":{"@id":"https:\/\/reactivemusic.net\/#\/schema\/person\/56224d281582df7e5518e037ca63e571"},"breadcrumb":{"@id":"https:\/\/reactivemusic.net\/?p=17689#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/reactivemusic.net\/?p=17689"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/reactivemusic.net\/?p=17689#primaryimage","url":"https:\/\/reactivemusic.net\/wp-content\/uploads\/2014\/11\/Screen-Shot-2014-12-01-at-12.33.28-AM.png","contentUrl":"https:\/\/reactivemusic.net\/wp-content\/uploads\/2014\/11\/Screen-Shot-2014-12-01-at-12.33.28-AM.png","width":1854,"height":486},{"@type":"BreadcrumbList","@id":"https:\/\/reactivemusic.net\/?p=17689#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/reactivemusic.net\/"},{"@type":"ListItem","position":2,"name":"ep-413 DSP &#8211; week 13"}]},{"@type":"WebSite","@id":"https:\/\/reactivemusic.net\/#website","url":"https:\/\/reactivemusic.net\/","name":"reactive music","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/reactivemusic.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/reactivemusic.net\/#\/schema\/person\/56224d281582df7e5518e037ca63e571","name":"Tom Zicarelli","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g","caption":"Tom Zicarelli"},"sameAs":["http:\/\/tomzicarelli.com"],"url":"https:\/\/reactivemusic.net\/?author=2"}]}},"_links":{"self":[{"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/posts\/17689","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=17689"}],"version-history":[{"count":29,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/posts\/17689\/revisions"}],"predecessor-version":[{"id":17808,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/posts\/17689\/revisions\/17808"}],"wp:attachment":[{"href":"https:\/\/reactivemusic.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=17689"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=17689"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=17689"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}