{"id":2110,"date":"2015-08-13T17:25:54","date_gmt":"2015-08-13T15:25:54","guid":{"rendered":"http:\/\/www.dotmana.com\/weblog\/?p=2110"},"modified":"2015-08-14T09:11:22","modified_gmt":"2015-08-14T07:11:22","slug":"process-audio-file-with-sox-using-room-eq-wizard-filter-file","status":"publish","type":"post","link":"http:\/\/www.dotmana.com\/weblog\/2015\/08\/process-audio-file-with-sox-using-room-eq-wizard-filter-file\/","title":{"rendered":"Process audio file with Sox using Room EQ Wizard filter file"},"content":{"rendered":"<p>Rationale: compensate a speaker response curve (gain and phase) on a audio file.<\/p>\n<p>Just came accross <a href=\"http:\/\/www.roomeqwizard.com\/\" target=\"_blank\">REW (Room EQ Wizard)<\/a> (Linux, Windows, Mac), it let you plot the output of your speakers, then create a filter to compensate the flaws.<\/p>\n<p>Once you created your finely tuned speakers, Export-&gt; Filter as text file.<\/p>\n<p>Then, it&#8217;s time to process the audio file with this filter, using the amazing Sox:<\/p>\n<p>sox -q input_file.wav output_file.wav `awk &#8216;$4==&#8221;PK&#8221; { gsub(\/,\/,&#8221;&#8221;,$6 );val=$6;printf &#8221; equalizer &#8220;val&#8221; &#8220;$12&#8243;q &#8220;$9}&#8217; val=&#8221;%&#8217;6.3f&#8221; REW_filter.txt`<\/p>\n<p>That&#8217;s it: you have a outputfile with the correct compensation for your just analysed speaker.<\/p>\n<p>Of course this method is for non-real time need.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Rationale: compensate a speaker response curve (gain and phase) on a audio file. Just came accross REW (Room EQ Wizard) (Linux, Windows, Mac), it let you plot the output of your speakers, then create a filter to compensate the flaws. &hellip; <a href=\"http:\/\/www.dotmana.com\/weblog\/2015\/08\/process-audio-file-with-sox-using-room-eq-wizard-filter-file\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-2110","post","type-post","status-publish","format-standard","hentry","category-ubuntu"],"_links":{"self":[{"href":"http:\/\/www.dotmana.com\/weblog\/wp-json\/wp\/v2\/posts\/2110","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.dotmana.com\/weblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.dotmana.com\/weblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.dotmana.com\/weblog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.dotmana.com\/weblog\/wp-json\/wp\/v2\/comments?post=2110"}],"version-history":[{"count":3,"href":"http:\/\/www.dotmana.com\/weblog\/wp-json\/wp\/v2\/posts\/2110\/revisions"}],"predecessor-version":[{"id":2112,"href":"http:\/\/www.dotmana.com\/weblog\/wp-json\/wp\/v2\/posts\/2110\/revisions\/2112"}],"wp:attachment":[{"href":"http:\/\/www.dotmana.com\/weblog\/wp-json\/wp\/v2\/media?parent=2110"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.dotmana.com\/weblog\/wp-json\/wp\/v2\/categories?post=2110"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.dotmana.com\/weblog\/wp-json\/wp\/v2\/tags?post=2110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}