<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-18825339</id><updated>2011-04-21T21:19:30.259-07:00</updated><title type='text'>Digital room correction</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>26</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-18825339.post-8972390609809231914</id><published>2008-05-26T20:46:00.000-07:00</published><updated>2008-05-26T21:14:52.868-07:00</updated><title type='text'>Brutefir Volume Control</title><content type='html'>It has been awhile since I updated this blog. Well, there has been some busy time and I am working on a memory player based on Linux. Not easy, but I have heard it and the sound is just amazing. I am just trying to make it easier to run. One of the step I take is to prepare a volume control based on BruteFIR configuration file. It runs via CLI. Here you are&lt;br /&gt;&lt;br /&gt;Go to "Go"&lt;br /&gt;Add line&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;Vol=20 # Set initial volume&lt;br /&gt;echo $Vol &gt; /Vol.txt&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Go to "Lircrc"&lt;br /&gt;Add lines&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;begin&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;   prog = iMON-PAD&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;   button = Vol+&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;   prog = irexec&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;   repeat = 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;   config = /usr/Volplus&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;end&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;begin&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;   prog = iMON-PAD&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;   button = Vol-&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;   prog = irexec&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;   repeat = 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;   config = /usr/Volmin&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Add file "Volplus"&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;v=`grep [0123456789] /Vol.txt`&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;tmp=`expr $v - 1`&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;if [ $tmp -lt 0]; then&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;tmp="0"&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;lcd "Volume = -$tmp dB"&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;echo “cfoa 0 0 $tmp;cfoa 1 1 $tmp” nc localhost 3000 &gt; /dev/null&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;echo $tmp &gt; /Vol.txt&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Add file "Volmin"&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;v=`grep [0123456789] /Vol.txt`&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;tmp=`expr $v + 1`&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;if [ $tmp -lt 0]; then&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;tmp="0"&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;lcd "Volume = -$tmp dB"&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;echo “cfoa 0 0 $tmp;cfoa 1 1 $tmp” nc localhost 3000 &gt; /dev/null&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;echo $tmp &gt; /Vol.txt&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Inside brutefir loading program add the following&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;echo " [32;1m(f4 44) by Uli Brueggemann and [0m"&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;schedtool -R -p 98 -e brutefir.orig -nodefault /audiovero/brutefir/f4corr44&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;bf_started = $(pidof brutefir.orig) # check for process id number&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;while [ -z"$bf_started"]; do # if zero then wait in loop&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;   bf_started = $(pidof brutefir.orig) # check for process id number&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;done # end of while&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;echo "cfoa 0 0 20;cfoa 1 1 20" nc localhost 3000 &gt; /dev/null&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;# Enable to stop script by Ctrl-c/Strg-c&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;sleep 3&lt;/span&gt;&lt;br /&gt;&lt;p&gt;This is working very well. Currently I still have the passive preamp connected and I can A/B test&lt;/p&gt;&lt;p&gt;1. Max BruteFir vol + Min passive vol&lt;/p&gt;&lt;p&gt;2. Min BruteFir vol + Max passive vol&lt;/p&gt;&lt;p&gt;I have found that setup 2 is not very good when the attenuation is too much. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18825339-8972390609809231914?l=digitalroomcorrection.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/8972390609809231914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18825339&amp;postID=8972390609809231914' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/8972390609809231914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/8972390609809231914'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/2008/05/brutefir-volume-control.html' title='Brutefir Volume Control'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18825339.post-141561670922774887</id><published>2008-01-20T07:04:00.000-08:00</published><updated>2008-01-21T06:28:53.551-08:00</updated><title type='text'>Drivers alignment</title><content type='html'>We are moving on the drivers alignment again. To make things a bit easier for me, I set up another XO with L Bressels 10th order filter and no parallel setting. In other words, each driver is only responsible for one section of the frequency.&lt;br /&gt;Sub - up too 120Hz&lt;br /&gt;woofer - 120 - 500Hz&lt;br /&gt;mid 500 - 2000Hz&lt;br /&gt;Tweeter - 2000Hz to 22000Hz&lt;br /&gt;&lt;br /&gt;Note that these settings are arbitury and for alignment only. There is also a trick and that is drivers are delayed from the other one by 1000 taps. This is to ensure that the individual peaks can be seen later. Once this crossover is setup, it is then used in the colvolver engine and the logsweep is played for the following conditions&lt;br /&gt;Sweep with all drivers&lt;br /&gt;Sweep with no tweter&lt;br /&gt;Sweep with no mid&lt;br /&gt;Sweep with no woofer&lt;br /&gt;Sweet with no sub&lt;br /&gt;&lt;br /&gt;The following picture is the frequency and time domain of all the graphs.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_iHzM6JfC-W8/R5NkRM1qXqI/AAAAAAAAAFM/XXwQL1pmlkU/s1600-h/all+curves.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_iHzM6JfC-W8/R5NkRM1qXqI/AAAAAAAAAFM/XXwQL1pmlkU/s400/all+curves.JPG" alt="" id="BLOGGER_PHOTO_ID_5157576244936203938" border="0" /&gt;&lt;/a&gt;I know, very difficult to see. Here is the blow up picture of the nomid and nowoofer&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_iHzM6JfC-W8/R5Nlus1qXrI/AAAAAAAAAFU/typssX3L5Zs/s1600-h/drivers+alignement+1.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_iHzM6JfC-W8/R5Nlus1qXrI/AAAAAAAAAFU/typssX3L5Zs/s400/drivers+alignement+1.JPG" alt="" id="BLOGGER_PHOTO_ID_5157577851253972658" border="0" /&gt;&lt;/a&gt;As you can see from the time domain graph, the pulse from each driver are seen clearly. Now we can than measure that exact location for each driver in terms of taps.&lt;br /&gt;Left: 3125, 4010, 5005, 6000&lt;br /&gt;Right: 3123, 4010, 5005, 6000&lt;br /&gt;&lt;br /&gt;Now, we need to check the relative delay reference to the sub&lt;br /&gt;Left:0, 885, 1880, 2875&lt;br /&gt;Right:0, 887, 1882, 2887&lt;br /&gt;&lt;br /&gt;Now, we need to compensate the 1000tap delay we set at the crossover&lt;br /&gt;Left:0, -115, -120, -125&lt;br /&gt;Right:0, -113, -118, -123&lt;br /&gt;&lt;br /&gt;Negative means delay. The above number means the tweeter arrive to the mic first.&lt;br /&gt;The delay is&lt;br /&gt;Left:0, 115, 120, 125&lt;br /&gt;Right:0, 113, 118, 123&lt;br /&gt;&lt;br /&gt;Now align the tweeter:&lt;br /&gt;Left:0, 115, 120, 125&lt;br /&gt;Right:2, 115, 120, 125&lt;br /&gt;&lt;br /&gt;Now, this can be used in the crossover setting and all the drivers become perfectly aligned. How do I know whether it make sense? lets look at the delay between the sub and the woofer for the left channel 115taps. 1/44.1K x 115taps = 0.0026sec. Sound travels at 300m/s so the delay is about 0.0026 x 300 = 0.782m which is exactly what I got physically!&lt;br /&gt;&lt;br /&gt;There is one more thing I need to do - alignment between the left/right speaker. How? "you can generate a logsweep with Acourate: stereo L/R together. If you record it and convolve it with the inverse logsweep then the resulting pulse should have only 1 peak. Otherwise you have different distances."&lt;br /&gt;&lt;br /&gt;Will post the results later&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18825339-141561670922774887?l=digitalroomcorrection.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/141561670922774887/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18825339&amp;postID=141561670922774887' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/141561670922774887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/141561670922774887'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/2008/01/drivers-alignment.html' title='Drivers alignment'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_iHzM6JfC-W8/R5NkRM1qXqI/AAAAAAAAAFM/XXwQL1pmlkU/s72-c/all+curves.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18825339.post-5089188344017940264</id><published>2008-01-15T06:41:00.000-08:00</published><updated>2008-01-20T07:03:07.747-08:00</updated><title type='text'>Crossover with Sub / Woofer 50/50 split</title><content type='html'>Previous, I get the gain of my woofer to 30% and the gain of my sub to 70% hopping to get better sound and avoid suck out. But as you can see on my previous post, I actually got booming. Today, I changed the crossover to 50/50 split I can hear a more authoritative mid bass and nice very low bass.  Basically, the bass is more defined and more tight. The follow graph is the measurement with the new setting&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_iHzM6JfC-W8/R5NiXM1qXpI/AAAAAAAAAFE/paFsmhRo184/s1600-h/5050split.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_iHzM6JfC-W8/R5NiXM1qXpI/AAAAAAAAAFE/paFsmhRo184/s400/5050split.JPG" alt="" id="BLOGGER_PHOTO_ID_5157574148992163474" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;You can see that the lower bass is not as exaggerated and the booming is less. The character of the AT driver becomes more prominent as well. I will settle as this for the time being.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18825339-5089188344017940264?l=digitalroomcorrection.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/5089188344017940264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18825339&amp;postID=5089188344017940264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/5089188344017940264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/5089188344017940264'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/2008/01/crossover-with-sub-woofer-5050-split.html' title='Crossover with Sub / Woofer 50/50 split'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_iHzM6JfC-W8/R5NiXM1qXpI/AAAAAAAAAFE/paFsmhRo184/s72-c/5050split.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18825339.post-7099791124946862742</id><published>2008-01-07T02:20:00.000-08:00</published><updated>2008-01-12T22:48:17.835-08:00</updated><title type='text'>More on Driver linearization</title><content type='html'>After listening to the Bressels standard filter for a few months, it is time for me to move forward to drivers linearization again with this filter. It took be 2 hours for the measurement and adjustment. During the linearization process, it was noted that the mid is actually quieter than the tweeter by about 6bB. After the linearization, the high is not as forward as before, the mid is clearly and the whole range becomes more balanced. The finer details is alot more easier to detect.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_iHzM6JfC-W8/R4mxBM1qXmI/AAAAAAAAAEs/EpMSrucHohU/s1600-h/room+response+%2B+driver+response.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_iHzM6JfC-W8/R4mxBM1qXmI/AAAAAAAAAEs/EpMSrucHohU/s400/room+response+%2B+driver+response.jpg" alt="" id="BLOGGER_PHOTO_ID_5154845882686529122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;What you can see here is the frequence response of the whole speaker after driver linearization but without any other adjustment measured at the listening position. So, you are looking at the driver response + the room effect. You can see that the mid and high are quite smooth already. This is the part that is least affected by the room. There is a dip at the 200Hz of about 8dB. This is beacuse the woofer is not linearlized.  The lower bass is also exaggerated  giving a slight booming. All these will be corrected later on with room correction.&lt;br /&gt;&lt;br /&gt;Also note that the lower cut off is now about 25-30Hz. Giving pretty good bass.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_iHzM6JfC-W8/R4mye81qXnI/AAAAAAAAAE0/cKP8aqUrKtg/s1600-h/target+curve+design.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_iHzM6JfC-W8/R4mye81qXnI/AAAAAAAAAE0/cKP8aqUrKtg/s400/target+curve+design.jpg" alt="" id="BLOGGER_PHOTO_ID_5154847493299265138" border="0" /&gt;&lt;/a&gt;The above diagram shows the target curve I plan to use. This will be the first test, trying to make the target as flat as possible. Later on, I can make it to any shape I like. I can even exaggerate the mid range for vocals etc.&lt;br /&gt;&lt;br /&gt;The next step I need to do is dirvers alignment. In the following graph, you will see the time domain of the driver response.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_iHzM6JfC-W8/R4mzSM1qXoI/AAAAAAAAAE8/w-t5pzVceuA/s1600-h/Impulse+response+time+domain+R+driver.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_iHzM6JfC-W8/R4mzSM1qXoI/AAAAAAAAAE8/w-t5pzVceuA/s400/Impulse+response+time+domain+R+driver.jpg" alt="" id="BLOGGER_PHOTO_ID_5154848373767560834" border="0" /&gt;&lt;/a&gt;Now, you can clearly see the 3 spikes which represents the woofer, the mid and the tweeter not aligned properly. The sub reaponse is also hiding inside somewhere. With proper digital alignment, we should be able to get the spikes aligned.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18825339-7099791124946862742?l=digitalroomcorrection.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/7099791124946862742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18825339&amp;postID=7099791124946862742' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/7099791124946862742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/7099791124946862742'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/2008/01/more-on-driver-linearization.html' title='More on Driver linearization'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_iHzM6JfC-W8/R4mxBM1qXmI/AAAAAAAAAEs/EpMSrucHohU/s72-c/room+response+%2B+driver+response.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18825339.post-1034291914088113241</id><published>2007-11-12T20:20:00.000-08:00</published><updated>2007-11-12T20:22:16.829-08:00</updated><title type='text'>Optimising PC Source</title><content type='html'>Today, I came across a post about using PC as a source which gives nice and clean sound which may be useful for me in the future.&lt;br /&gt;&lt;br /&gt;Hi PC Streamers,&lt;br /&gt;We have a practical solution to optimize PC streaming with Vista. I think XP will work as well. Many thanks to those who provided the references to the many useful tools to make this possible.&lt;br /&gt;Encouraged by Hiroyuki, I got to lower the priorities of the often active processes listed by Process Explorer. This was in addition to raising the Foobar priority to Real Time. With this as last step I was able to observe with the help of the CPU usage history graph from Process Explorer that the second CPU did not have any activities, even when the hard disk drive was chattering and going through disk defragmentation. The sound during defrag was as good as when the computer was using Foobar only.&lt;br /&gt;Now you have it. When you see the activity in the second core (CPU 1)is zero, you can be assured of good sound.&lt;br /&gt;In summary these are the things we need to do to optimize the PC for audio streaming.&lt;br /&gt;1. I did not have to uninstall for disable any applications or processes that came with the computer, which had more than a clean install.&lt;br /&gt;2. Use ASIO to bypass the kernel.&lt;br /&gt;3. Use an external audio device if possible to avoid the electrically noisy environment of the computer.&lt;br /&gt;4. Using Process Explorer set the affinity of Foobar to CPU 1 and its priority to Real Time. If you use WMP, do the same settings for it.&lt;br /&gt;5. Using Process Explorer, list the PC processes in decreasing order of activity. Go through manually and change the affinity of the first 20 or so processes to CPU 0 and their priorities to as low as you want to. My computer did not crash :-)&lt;br /&gt;6. Using the CPU usage history graphs (you will see two or four processors) observe that the usage of CPU 1 is almost always at zero. My machine can go for ten minutes and I still see zero usage, with or without Foobar playing. If you see blips, you need to find the offender and assign it CPU 0 and low priority.&lt;br /&gt;Hiroyuki, did I leave out anything?&lt;br /&gt;The resulting sound is so clean that many will not believe that they are listening to the Red Book CD. Many will probably have withdraw feeling when the clean and clear treble is heard, minus all that bright and unnatural intermodulation products.&lt;br /&gt;Enjoy!&lt;br /&gt;Victor&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18825339-1034291914088113241?l=digitalroomcorrection.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/1034291914088113241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18825339&amp;postID=1034291914088113241' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/1034291914088113241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/1034291914088113241'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/2007/11/optimising-pc-source.html' title='Optimising PC Source'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18825339.post-4739694783075300504</id><published>2007-10-07T07:54:00.000-07:00</published><updated>2007-10-28T23:13:35.912-07:00</updated><title type='text'>Digital crossover</title><content type='html'>&lt;div&gt;After trying so many different combination with steep/shallow crossover filters, I begain to conclude that LR filters are no good. At least within the digital crossover world, things are so flexible that I can do a bit more.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I came across a post by Uli about Bessel filter and the step response. Besel filter is a very special filter in that you can have asymmetric slope for the high pass and low pass end. I have selected to use a 2nd order for the high frequency for the mid and 10th order low frequency end for the tweeter. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;I have also increase the proportion of the lower end (&lt;60hz)&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5126636268610246866" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_iHzM6JfC-W8/RyV4hjMl2NI/AAAAAAAAADc/24vJHIUhGqQ/s400/crossover+18dB.JPG" border="0" /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;The benefit of Bessel filter is that there is no ranging with the step response&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://img.villagephotos.com/p/2007-9/1279003/besseltime.JPG" border="0" /&gt;The sound is now much faster than the LR without any loss of dynamics and the microdynamics is also excellent. My next step is to move on with linerization and DRC with this filter.&lt;br /&gt;&lt;br /&gt;Now:&lt;br /&gt;Sub: &lt;60Hz, Bessel attenuated to 70%&lt;br /&gt;Woofer: cross at 200Hz, Bessel attenuated to 30% 18dB right&lt;br /&gt;Mid: cross at 2000Hz, Bessel filter - 18dB left, 12dB right&lt;br /&gt;Tweeter: Bessel filter - 18dB left, 12dB right&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18825339-4739694783075300504?l=digitalroomcorrection.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/4739694783075300504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18825339&amp;postID=4739694783075300504' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/4739694783075300504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/4739694783075300504'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/2007/10/digital-crossover.html' title='Digital crossover'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_iHzM6JfC-W8/RyV4hjMl2NI/AAAAAAAAADc/24vJHIUhGqQ/s72-c/crossover+18dB.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18825339.post-781559050675403276</id><published>2007-09-21T20:24:00.001-07:00</published><updated>2007-09-21T20:29:51.212-07:00</updated><title type='text'>Information from the person himself!</title><content type='html'>Perhaps the best method to find out the crossover frequency and slope is to talk to the designer himself! I sent an email to Mr. Skannings and here is his response&lt;br /&gt;&lt;br /&gt;"Yes, you can easily cross the drivers at 3000 Hz - no problem.The 96 dB/Oct filter is really a tough filter. We are used to 6, 12 or 18dB/Oct filters, and have never heard of anyone using 96 dB/Oct filtersbefore. When you use filters with a such high order, there will come absolutely no information from the drivers as soon as they pass the x-overfrequency. It might be, that you need some kind of energy from either tweeter or midrange when using the high order filter and we agree that it might be an idea to move to a less order type. Rising the x-over frequencyto 3000 Hz might also help, as it will give your tweeter better working conditions."&lt;br /&gt;&lt;br /&gt;Following his advice and the advice on the diyaudio forum, I tried these settings as a starting point&lt;br /&gt;&lt;br /&gt;Tweeter: 3000Hz up&lt;br /&gt;Mid: 200 - 3000Hz&lt;br /&gt;Woofer: 200Hz and below&lt;br /&gt;&lt;br /&gt;The results is a much more dynamic mid to midbass. The human voice has got more muscle and more emotions. The high is just as crystal clear. The next thing I will try is to crossover to the W210 sub, probably at 60Hz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18825339-781559050675403276?l=digitalroomcorrection.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/781559050675403276/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18825339&amp;postID=781559050675403276' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/781559050675403276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/781559050675403276'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/2007/09/information-from-person-himself.html' title='Information from the person himself!'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18825339.post-5753738756213287274</id><published>2007-09-19T03:33:00.000-07:00</published><updated>2007-09-21T20:37:40.105-07:00</updated><title type='text'>My speakers</title><content type='html'>&lt;a href="http://img.villagephotos.com/p/2007-9/1279003/DSC_0040-e.jpg"&gt;&lt;img style="FLOAT: right; MARGIN: 0px 0px 10px 10px; WIDTH: 200px; CURSOR: hand" alt="" src="http://img.villagephotos.com/p/2007-9/1279003/DSC_0040-e.jpg" border="0" /&gt;&lt;/a&gt; After all these digital crossover and room correction stuff. I think I have forgotten to write about my speakers!! My new speaker is actually a DIY speakers from a &lt;a href="http://www.sununionaudio.com.hk/en_Frameset-1.htm"&gt;local company&lt;/a&gt;. Over the years, I know the cheif designer very well and we are good friends. He said he can design a speaker for me based on the drivers he has but I need to work on the crossover! Not problem. I like the challange and so the project started! The design was actually a TMW design and when he gave me the outlook of the speakers, I was really thrilled! It was so beautiful!! &lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;I took awhile to find a factory to produce the speaker case as we only made 2. We eventually managed to find one and a few months ago, my dream speaker came into reality. So which drivers did we chose&lt;br /&gt;&lt;br /&gt;Tweeter - Raven 2.0&lt;br /&gt;Mid - Audio Technology 15cm&lt;br /&gt;Woofer - Audiotechnology 23 cm&lt;br /&gt;Sub woofer - Tact 210 &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;a href="http://www.orcadesign.com/images/Driver_photos/revised/RavenR2_card.jpg"&gt;&lt;img style="WIDTH: 320px; CURSOR: hand" alt="" src="http://www.orcadesign.com/images/Driver_photos/revised/RavenR2_card.jpg" border="0" /&gt;&lt;/a&gt; &lt;a href="http://audiotech.inzites.dk/image/18Hst.jpg"&gt;&lt;img style="WIDTH: 248px; CURSOR: hand; HEIGHT: 168px" height="123" alt="" src="http://audiotech.inzites.dk/image/18Hst.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;When I set it up initially using digital crossover and all that, I chose the following slope and frequency&lt;br /&gt;&lt;br /&gt;Tweeter: 2000Hz up, 96dB/Octave&lt;br /&gt;Mid: 350Hz - 2000Hz, 96dB/Octave&lt;br /&gt;Woofer: 150Hz - 350Hz, 96dB/Octave&lt;br /&gt;Sub: 150Hz below, 96dB/Octave&lt;br /&gt;&lt;br /&gt;The sound? Well, not bad, the details are great, and the highs are excellent. but the mid is kind of lifeless, not involving and flat. The bass are good but can be better with these drivers.&lt;br /&gt;&lt;br /&gt;Then I came across this &lt;a href="http://www.diyaudio.com/forums/showthread.php?s=&amp;amp;threadid=93218&amp;amp;perpage=25&amp;amp;pagenumber=54"&gt;thread &lt;/a&gt;again. I got the recommendation as follows:&lt;br /&gt;&lt;br /&gt;"Hi again Arthur,&lt;br /&gt;&lt;br /&gt;It sounds like your system is basically the LGT but in slimmed down TMW form. At least from a driver perspective anyway.The thin midrange problem I was having and which you seem to be relating to was due to some over excessive stop band correction which Uli fixed and showed me how to avoid. Before making any changes are you sure you haven't fell into this trap also?&lt;br /&gt;&lt;br /&gt;During this project I made a few discoveries about the RAAL ribbon which will very likely apply to any ribbon. I'm not sure about dome tweeters but their dead and lifeless nature means it probably doesn't matter how they're used, they'll still sound unnatural. Dome tweeter jokes aside, if I crossed the RAAL low at 1.5Khz it simply sounds wrong in comparison to what I have now. You lose the presence and body of the upper midrange/lower treble and this is true despite very similar measured performance. Perhaps it is odd high order harmonic distortion from the ribbon being crossed low? Perhaps it is a mass/radiating area issue? I'm not 100% sure about either but I can say it doesn't sound as good. Try the Raven at 3Khz, since your crossing to the 5" the narrowing directivity of the mid driver will improve overall power response and better mate the directivity patterns of the two drivers at the crossover points. I assume you mid and tweeter spacing is close here.&lt;br /&gt;&lt;br /&gt;I would try to abandon the steep filters for use with AT drivers, it harms the sound more than it helps. They're wideband and smooth at both ends so why create a problematic solution to an issue that doesn't exist. Its best to evaluate on the basis of each case and go for the lesser of evils approach. For example I found steep filters worked well with the ATC midrange but this was actually beneficial because I was running it right upto its upper and lower limits where resonanaces and distortion, respectively, became an issue overiding negatives surrounding steep filtering.In this instance I chose 24dB LR slopes and it really does suit the AT's offering a good blend of stop band rejection, lessening driver to driver crossover stopband interaction along with promoting a more cohesive sound from drivers more effectively blending creating less of a sense of shifting directivity lobes and tonality. By this I mean with steep filtering the drivers can become more subjectively isolated and I find I can tell a shift of sound direction and tonality when different frequencies, covered by different drivers, are playing. A bit more crossover overlap from shallower filtering can create a more cohesive speaker and we are lucky that we can make the drivers behave optimally to virtually eliminate the phase problems from doing so.&lt;br /&gt;&lt;br /&gt;You've also got a lot going on down low: A sub crossed in at 150hz to an 8" driver that then works to 350hz. I haven't heard your system so can't say whether it works and maybe you have preference for this setup but looking at it on paper its less than optimal IMO. Personally I'd shift the mid down to 200hz which allows it to cover yet more of the frequency range, it works excellently in my setup where I tried it at 500hz, 300hz, 200hz and 150hz. 200hz had the best blend of mid/upper bass weight and seamless integration out to the midrange.&lt;br /&gt;&lt;br /&gt;For the 8" I'd use this with just a low pass and no high pass then bring the sub in at non directional frequencies to blend with the overall sound and fill out the low end. Reason being the sub will be some distance from the main driver array and at 150hz sound is directional. Crossing in at say 50 or 60hz is much better.&lt;br /&gt;&lt;br /&gt;These are just my thoughts on how I'd do it and not everyone agree's on how things should be implemented but since your not 100% happy with the sound and we also have similar drive units then I think some of the ideas might be worth looking at."&lt;br /&gt;&lt;br /&gt;Sounds very reasonable. I will try this setting and report back!&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18825339-5753738756213287274?l=digitalroomcorrection.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/5753738756213287274/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18825339&amp;postID=5753738756213287274' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/5753738756213287274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/5753738756213287274'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/2007/09/my-speakers.html' title='My speakers'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18825339.post-7628571067079547350</id><published>2007-09-12T17:36:00.000-07:00</published><updated>2007-09-12T17:42:36.812-07:00</updated><title type='text'>Further updates</title><content type='html'>&lt;div&gt;When I first setted up the system, I do not have a line level volume control. Everything was done with at the digital domain with the HTPC. I am lossing resolution. To bring the listerning level to acceptable, I have to attenuate about 20dB. Not good. I have since then sourced a line level &lt;a href="http://www.spl-usa.com/volume8/2608_inshort_E.html"&gt;8 channels volume control &lt;/a&gt;for studio use. So far I am very happy with it. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;I also came across another persson using the exact same software on digital crossover and room correction that I am using but expalin it better. So I though I should post the &lt;a href="http://www.diyaudio.com/forums/showthread.php?postid=1299327#post1299327"&gt;link&lt;/a&gt;. He has also DIY a great speaker!!&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 200px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://img.villagephotos.com/p/2005-7/1050288/tism166.jpg" border="0" /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18825339-7628571067079547350?l=digitalroomcorrection.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/7628571067079547350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18825339&amp;postID=7628571067079547350' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/7628571067079547350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/7628571067079547350'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/2007/09/further-updates.html' title='Further updates'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18825339.post-3479701343093599223</id><published>2007-06-25T07:53:00.000-07:00</published><updated>2007-06-25T07:58:41.559-07:00</updated><title type='text'>4. Digital Room Correction</title><content type='html'>&lt;div&gt;This is the last part of the setup and a relative easy part. There is a macro for it and for those who do not understand DRC, you can google for it as there are lots of information available already. Basically, you need to measure the sound produce by your speaker and measure that at your usual listerning position. What you measured include the sound from the speaker as well as the room response. The computer can now generate a filter that compensate for the difference. What different from EQ is that this works in both time and frequency domain.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5080016296133583442" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_iHzM6JfC-W8/Rn_X6AA84lI/AAAAAAAAAB4/UXrbXIQfCyI/s400/drc.JPG" border="0" /&gt;&lt;br /&gt;&lt;div&gt;In the above picture, you will notice that the red line is the room response and the green line is the filter. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18825339-3479701343093599223?l=digitalroomcorrection.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/3479701343093599223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18825339&amp;postID=3479701343093599223' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/3479701343093599223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/3479701343093599223'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/2007/06/4-digital-room-correction.html' title='4. Digital Room Correction'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_iHzM6JfC-W8/Rn_X6AA84lI/AAAAAAAAAB4/UXrbXIQfCyI/s72-c/drc.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18825339.post-728974123762892616</id><published>2007-06-24T09:11:00.000-07:00</published><updated>2007-06-25T07:49:41.919-07:00</updated><title type='text'>3. Driver alignment</title><content type='html'>&lt;div&gt;The next step is driver alignment. Evwn when the drivers are aligned in a straight line on the speakers, the sound from the tweeter and the woofer may arrive to the listerner at different time depending on the height of the speakers and the height of the listerner. Some speaker designer design the speaker such that the tweeter is further back to compensate for this. However, this still does not account for the listerner's height.&lt;br /&gt;&lt;br /&gt;Driver Alignment function allows personalization for each listerner based on their head position. The way this is done is to play a sound (logsweep) with a specified delay in time for the tweeter, mid and woofer. So the woofer is played first, the mid follows by 1000ms later and than the tweeter by another 1000ms later. After convolution, you will get the impulse response for all three drivers and the impulse response will be at different position in the time line. Now we just need to measure the distance between the impulse response and subtract the specified delay to get the exact time difference between each drivers.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5080011034798645826" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_iHzM6JfC-W8/Rn_THwA84kI/AAAAAAAAABw/XzZmQdOyiZM/s400/ArthurTime.png" border="0" /&gt;As you can see from the picture above. The start of each driver can be seen and the distance between gives an indication of how to set the appropriate delay for each driver&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18825339-728974123762892616?l=digitalroomcorrection.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/728974123762892616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18825339&amp;postID=728974123762892616' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/728974123762892616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/728974123762892616'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/2007/06/3-driver-alignment.html' title='3. Driver alignment'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_iHzM6JfC-W8/Rn_THwA84kI/AAAAAAAAABw/XzZmQdOyiZM/s72-c/ArthurTime.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18825339.post-1418706132259674500</id><published>2007-05-28T03:08:00.001-07:00</published><updated>2007-06-24T09:03:03.637-07:00</updated><title type='text'>2. Driver linearization</title><content type='html'>Driver linearization. What is that?? Basically, when you apply crossover to the drivers, you are separating the drivers so that each of them is reaponsible for a ceratinly frequency only. The frequency part the driver is responsible is totally control by the crossover. For example, a crossover can control the mid so that it will only output the frequency from 500Hz to 1500 Hz. At both ends of the crossover is a slope. This is the area where one driver is being taken over by another driver. &lt;div&gt;&lt;img id="BLOGGER_PHOTO_ID_5079661690748723746" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_iHzM6JfC-W8/Rn6VZQA84iI/AAAAAAAAABg/hz9g3F_-78s/s400/untitled.JPG" border="0" /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;p&gt;However, as you can see in the picture, the area between the slope is a straight line. The crossover ASSUME that the driver will behave perfectly and will always produce 0dB within the crossover range. However, this is not true. Not many driver are as perfect as that. Driver linearization allows actualy measurement on the drivers and incorporate these characteristics into the crossover. In other words, when the driver is output less amplitude, the DSP will kick it harder so that the actualy outout will be 0dB, when the driver is output too much, the DSP will pull it down abit. So the final output will be as predicted. Please see the following graph of my crossover for mid driver after linearization.&lt;/p&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5079661841072579122" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_iHzM6JfC-W8/Rn6ViAA84jI/AAAAAAAAABo/FEJTt-xG-v4/s400/newXO.JPG" border="0" /&gt;&lt;br /&gt;&lt;p&gt; &lt;/p&gt;You can see the the program has too "pull" my driver down a bit in order for it to produce perfect response.&lt;br /&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;Actual setting up:&lt;br /&gt;This is more complicated and there are a few changes I need to make. At the moment, I am using UcD180 to drive the drivers. it just happened that Raven 2.0 is a ribbon and to DC, it is pretty much shorted. This will active the current protection of UcD180 and the amp will be muted. At first, I add the 27uF caps in series with the output of the UcD, I can play the tune but I heard a loud "pop" when I switch on the amp. This happens because the Ucd has 2V DC output when not loaded. The cap is charged up and was discharged when the /on is pulled to ground. To solve the problem, I replace the cap with a 2ohm resistor and all problem soved. But the tweeter is not not protected from the DC.... Lets pray. &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;It has been one month and the tweeter is still here!&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18825339-1418706132259674500?l=digitalroomcorrection.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/1418706132259674500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18825339&amp;postID=1418706132259674500' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/1418706132259674500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/1418706132259674500'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/2007/05/2-driver-linearization.html' title='2. Driver linearization'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_iHzM6JfC-W8/Rn6VZQA84iI/AAAAAAAAABg/hz9g3F_-78s/s72-c/untitled.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18825339.post-7406268244390724766</id><published>2007-05-28T03:04:00.000-07:00</published><updated>2007-06-24T09:06:44.255-07:00</updated><title type='text'>1. Crossover Generation</title><content type='html'>For my speaker, I use Linkwitz-Riley 96dB/octive. This is very steep and I am trying to achieve a very clear sound. The setup is fairly simple and the crossover can be generated in a 5 minutes!&lt;br /&gt;&lt;br /&gt;However, the crossover over method used by Acourate is very different from other electronic crossover system. It has a linear pass filter. For  details, you need to read the white paper &lt;a href="http://www.blogger.com/www.acourate.com/XOWhitePaper.doc"&gt;here&lt;/a&gt; Acourate give me the best crossover filter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18825339-7406268244390724766?l=digitalroomcorrection.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/7406268244390724766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18825339&amp;postID=7406268244390724766' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/7406268244390724766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/7406268244390724766'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/2007/05/1-crossover-generation.html' title='1. Crossover Generation'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18825339.post-6438069839701924170</id><published>2007-05-28T02:53:00.000-07:00</published><updated>2007-05-28T03:04:06.520-07:00</updated><title type='text'>Continue with Acourate</title><content type='html'>It has been a while since I have time to paly with this toy again. Well, a few changes to my life&lt;br /&gt;1. New speakers are finally here&lt;br /&gt;2. New kid&lt;br /&gt;3. New job&lt;br /&gt;&lt;br /&gt;The last 2 have negative impact on my hobby but the first one is a good drive.&lt;br /&gt;&lt;br /&gt;The new speaker is a 3 way design with Raven R2 as the tweeter and At as the mid and bass. I have also made 2 x w210 as a coner woofer/sub. Now, if I want to hear any music, I have get moving. And this comes to the power of Acourate.&lt;br /&gt;&lt;br /&gt;Acourate comes with many function but basically, it can be devided into&lt;br /&gt;1. Crossover generation - this is by no means simple steep slope LR or B filter. It is minimal phase. To understand the beauty of it and why it is the best crossover system than active and passive, you have to check out the white paper &lt;a href="http://www.acourate.com/XOWhitePaper.doc"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;2. Driver linearization - When you buy expensive speakers, the manufacturer will try to mactch the drivers for you so that the left and right is balanced (so they say). But when you DIY speaker, the drivers are not matched. Even when they are matched, they don't behanve exactly the same manner as the crossover anticipates. Driver linearization analyse the drivers behaviour and give it an extra push when the amplitude is sagging and hold itback a little when it is too excited. This way, the driver will be matched both side and follow the behaviour the crossover predicts&lt;br /&gt;&lt;br /&gt;3. Digital alignment - This is used to align the tweeter, mid, woofer and sub so that the sound arrive to the ear at the exact time.&lt;br /&gt;&lt;br /&gt;4. Room correction - All the benefits of digital room correction I mentioned before are incorported here!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18825339-6438069839701924170?l=digitalroomcorrection.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/6438069839701924170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18825339&amp;postID=6438069839701924170' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/6438069839701924170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/6438069839701924170'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/2007/05/continue-with-acourate.html' title='Continue with Acourate'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18825339.post-116389670986365623</id><published>2006-11-18T16:35:00.000-08:00</published><updated>2006-11-22T08:20:07.800-08:00</updated><title type='text'>Software upgrade</title><content type='html'>After all the hard work and the system is working flawlessly for a few months, it is time for an upgrade. As I menetioned before, the convolution filter was generated by Uli for me before. Now, Uli has come up with a complete solution for convolution with measurement sweep and digital crossover. This program is called Acourate and can be donloaded from here. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.acourate.com"&gt;www.acourate.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now, what does it do? You can use it to generate room correction files pretty much the same way as Tact but much more accurate. More importantly, you can generate crossover files to allow digital active crossover. Now this is the area this programm is supposed to outshine the others. First, it can generate the crossover, this is simple and most program can do well. But then you can use this program to compensate for the difference in tweeter/mid/woofer placement and their relative arrival time to your sitting position. At the same time, it also does speaker driver linearisation. What is that?&lt;br /&gt;&lt;br /&gt;Uli explains it as "as you know I try to describe in my white paper how crossovers have to look like to match perfectly. The paper is based on the assumption that a driver is itself perfect. But of course this is not the case in reality. So the measurement of the driver shows that it follows the given crossover but there are deviations. Now you could assume that the room correction will help here. Yes. But it is even more better first to optimize the components themselves. So the difference from the real driver behaviour to the desired behaviour (the target is here the crossover curve) is taken to correct = linearize the driver."&lt;br /&gt;&lt;br /&gt;In other words, the program predicts the deviation of the driver behaviour from the perfect crossover and compensate for that first. It is only after that will room correction filter applies. In theory, this will give a perfect crossover and many have reported excellent results. I will also report my findings soon!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18825339-116389670986365623?l=digitalroomcorrection.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/116389670986365623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18825339&amp;postID=116389670986365623' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/116389670986365623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/116389670986365623'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/2006/11/software-upgrade.html' title='Software upgrade'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18825339.post-114667409451806899</id><published>2006-05-03T09:30:00.000-07:00</published><updated>2006-05-03T09:34:54.530-07:00</updated><title type='text'>Master clock</title><content type='html'>Today, I have finally completed my master clock connection. I am now using Apogee Big Ben as the masterclock and all the following equitment are slave to it&lt;br /&gt;&lt;br /&gt;RME ADI 4DD&lt;br /&gt;Apogee DA16x&lt;br /&gt;RME 9652&lt;br /&gt;RME 9632&lt;br /&gt;&lt;br /&gt;The sound is very very smooth. I think my system is now pretty much jitter free. Whan I run SB2 to ADI 4DD which, in turn is slave to BB, the clock doesn't sync indicating the SB2 has too much jitter. When I use 9632 in place of SB2, they sync but have occasional drop off. Now with the word clock module, the 9632 is can be slave to Big Ben 100%&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18825339-114667409451806899?l=digitalroomcorrection.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/114667409451806899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18825339&amp;postID=114667409451806899' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/114667409451806899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/114667409451806899'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/2006/05/master-clock.html' title='Master clock'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18825339.post-114073155284067685</id><published>2006-02-23T13:43:00.000-08:00</published><updated>2006-02-23T13:52:32.840-08:00</updated><title type='text'>Enhancement</title><content type='html'>1. 64 bit floating point calculations&lt;br /&gt;BruteFIR can actually do 64 bit calculation if the file is .dbl instead of .pcm format. This is set by the first line of script. note that the file name will also need to be changed.&lt;br /&gt;&lt;br /&gt;2. External master clock&lt;br /&gt;in my current setup, I can actually use BB as the master clock to control the RME ADI-4DD, RME HDSP 9652 inside the convolution machine and the RME HDSP 9632 in the main machine which will also be my music server and DVD player. I will start with 44.1KHz as the sync speed and if everything is OK, I will move up to 96K. Hopefully, using this setup, the ADI-4DD will also clean up the jitter from the source.&lt;br /&gt;&lt;br /&gt;3. Digital crossover and mult-amp&lt;br /&gt;This is my goal for the near future!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18825339-114073155284067685?l=digitalroomcorrection.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/114073155284067685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18825339&amp;postID=114073155284067685' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/114073155284067685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/114073155284067685'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/2006/02/enhancement.html' title='Enhancement'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18825339.post-114073103426503373</id><published>2006-02-23T13:40:00.000-08:00</published><updated>2006-02-23T13:43:54.266-08:00</updated><title type='text'>The outcome</title><content type='html'>Now, the verdict. The sound is much better than my old Tact 2.0s. The sound is more 3D, focusing is pin point. The soundstage is very wide and much deeper than before. You can see the vocals a bit forward away from the band behind. The high is more extended and the bass is more tight. &lt;br /&gt;&lt;br /&gt;PS With Uli's MarcV, the improvment is even more!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18825339-114073103426503373?l=digitalroomcorrection.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/114073103426503373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18825339&amp;postID=114073103426503373' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/114073103426503373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/114073103426503373'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/2006/02/outcome.html' title='The outcome'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18825339.post-113967622311569233</id><published>2006-02-11T08:42:00.000-08:00</published><updated>2006-02-23T13:40:12.363-08:00</updated><title type='text'>BruteFIR configuration file</title><content type='html'>This is the file I named "ac1corr". BruteFIR configuration file is the integral part of digital room correction. &lt;br /&gt;&lt;br /&gt;Here is mine......!&lt;br /&gt;&lt;br /&gt;## DEFAULT GENERAL SETTINGS ##&lt;br /&gt;&lt;br /&gt;float_bits: 32;             # internal floating point precision&lt;br /&gt;sampling_rate: 44100;       # sampling rate in Hz of audio interfaces&lt;br /&gt;filter_length: 8192,8;       # length of filters&lt;br /&gt;overflow_warnings: true;    # echo warnings to stderr if overflow occurs&lt;br /&gt;show_progress: false;        # echo filtering progress to stderr&lt;br /&gt;max_dither_table_size: 0;   # maximum size in bytes of precalculated dither&lt;br /&gt;allow_poll_mode: false;     # allow use of input poll mode&lt;br /&gt;modules_path: ".";          # extra path where to find BruteFIR modules&lt;br /&gt;monitor_rate: false;        # monitor sample rate&lt;br /&gt;powersave: true;           # pause filtering when input is zero&lt;br /&gt;lock_memory: true;          # try to lock memory if realtime prio is set&lt;br /&gt;convolver_config: "/"; &lt;br /&gt;# location of convolver config file&lt;br /&gt;&lt;br /&gt;## GENERAL EXPLANATION ##&lt;br /&gt;## Sections comprise types input, output, coeff and filter.&lt;br /&gt;## input defines how BruteFIR gets its audio data&lt;br /&gt;## output defines where BruteFIR sends its audio data after filtering&lt;br /&gt;## coeff allows the input of filter coefficients like those generated by DRC, &lt;br /&gt;## or crossover filters like high pass for a tweeter &amp; low pass for a woofer. &lt;br /&gt;## filter combines an input with filter coefficients producing an output&lt;br /&gt;## The configuration below is probably the simplest you will get &lt;br /&gt;## for a DRC setup. The input section reads in audio data &lt;br /&gt;## from standard input, DRC corrections for the left and right speakers &lt;br /&gt;## are read from their respective files. The left and right inputs and &lt;br /&gt;## filter coefficients are then combined. The output is sent to ALSA, &lt;br /&gt;## the linux sound system. BruteFIR is run from the command line using&lt;br /&gt;##   cdparanoia --output-raw-little-endian 2 - | brutefir ./.brutefir_config&lt;br /&gt;## where the 2 is telling cdparanoia to rip the second track of the cd.&lt;br /&gt;&lt;br /&gt;## COEFF DEFAULTS ##&lt;br /&gt;&lt;br /&gt;coeff "drc_l" {&lt;br /&gt; filename: "/beesound/brutefir/filter/ep1/cor1l44.pcm";&lt;br /&gt; format: "FLOAT_LE";     # file format&lt;br /&gt; attenuation: 0.0;   # attenuation in dB&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;coeff "drc_r" {&lt;br /&gt; filename: "/beesound/brutefir/filter/ep1/cor1r44.pcm";&lt;br /&gt; format: "FLOAT_LE";     # file format&lt;br /&gt; attenuation: 0.0;   # attenuation in dB&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;## INPUT DEFAULTS ##&lt;br /&gt;# module and parameters to get audio&lt;br /&gt;&lt;br /&gt;input "left_in", "right_in" {&lt;br /&gt;        device: "alsa" { device: "hw:0";}; # ignore_xrun: true; };&lt;br /&gt;        sample: "S24_4LE";&lt;br /&gt; channels: 26/0,1;&lt;br /&gt;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;## OUTPUT DEFAULTS ##&lt;br /&gt;#output "left_out", "right_out" { &lt;br /&gt;&lt;br /&gt;output "left_out", "right_out" {&lt;br /&gt;        device: "alsa" { device: "hw:0";}; # ignore_xrun: true; };&lt;br /&gt;        sample: "S24_4LE";&lt;br /&gt; channels: 26/0,1;&lt;br /&gt; delay: 0,3,282,282;&lt;br /&gt; dither: true;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;## FILTER DEFAULTS ##&lt;br /&gt;&lt;br /&gt;filter "l_filter" {&lt;br /&gt; from_inputs: "left_in"/0.0;&lt;br /&gt; to_outputs: "left_out"/0.0;&lt;br /&gt; coeff: "drc_l";&lt;br /&gt;};&lt;br /&gt;filter "r_filter" {&lt;br /&gt; from_inputs: "right_in"/0.0;&lt;br /&gt; to_outputs: "right_out"/0.0;&lt;br /&gt;        coeff: "drc_r";&lt;br /&gt;};&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18825339-113967622311569233?l=digitalroomcorrection.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/113967622311569233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18825339&amp;postID=113967622311569233' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/113967622311569233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/113967622311569233'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/2006/02/brutefir-configuration-file.html' title='BruteFIR configuration file'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18825339.post-113967612992261074</id><published>2006-02-11T08:35:00.000-08:00</published><updated>2006-02-23T13:38:58.176-08:00</updated><title type='text'>The program</title><content type='html'>This program is the intergral part of this software based digital room correction. I am currently using Uli's BruteFIR in USB. In the directory, there are 2 important files *go and *ep1, ep2, ep3......&lt;br /&gt;&lt;br /&gt;Uli set up this programs by starting a endless loop so that BruteFIR detect 44.1KHz and 48kHz signal in repeated sequence. This will allow BruteFIR script to run no matter what the source frequency is. Clever isn't it!&lt;br /&gt;&lt;br /&gt;*go &lt;br /&gt;It basically starts *ep1 and other similar programs. In my setup, I have commented all other lines and use *ep1 only. To edit *go or *ep1, you have to go to the start files are in the directory /beesound/start/. You have to edit them there. Then you have to reboot. During bootup the update is done automatically.&lt;br /&gt;&lt;br /&gt;Now *ep1&lt;br /&gt;I have added a few lines about sound card initial setting to prepare the sound card for the program. &lt;br /&gt;&lt;br /&gt;## Setup sound card ##&lt;br /&gt;#Sample Clock Source = Autosync&lt;br /&gt;amixer -c 0 cset numid=11 0&lt;br /&gt;#System Clock Mode = Slave&lt;br /&gt;amixer -c 0 cset numid=12 1&lt;br /&gt;#Autosync Reference = ADAT1&lt;br /&gt;amixer -c 0 cset numid=14 4&lt;br /&gt;#Line Out = off&lt;br /&gt;amixer -c 0 cset numid=22 0&lt;br /&gt;#Channel Connections&lt;br /&gt;#clear all direct physical connections for safety &lt;br /&gt; for ichannel in $(seq 0 1 25) &lt;br /&gt; do amixer -c 0 cset numid=5 $ichannel,$ichannel,0 &lt;br /&gt; done &lt;br /&gt;#playback connections &lt;br /&gt; amixer -c 0 cset numid=5 26,0,32768 &lt;br /&gt; amixer -c 0 cset numid=5 27,1,32768 &lt;br /&gt; amixer -c 0 cset numid=5 28,2,32768 &lt;br /&gt; amixer -c 0 cset numid=5 29,3,32768&lt;br /&gt;&lt;br /&gt;I have also changed the BruteFIR configuration file to the file name of your choice. Here I choice ac1corr.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18825339-113967612992261074?l=digitalroomcorrection.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/113967612992261074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18825339&amp;postID=113967612992261074' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/113967612992261074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/113967612992261074'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/2006/02/program.html' title='The program'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18825339.post-113557661156177496</id><published>2005-12-25T21:48:00.000-08:00</published><updated>2006-02-23T13:36:34.150-08:00</updated><title type='text'>RME HDSP 9652</title><content type='html'>As you can see from the previous section, "numid=5" is responsible for opening up the channels for the convolver PC. &lt;br /&gt;&lt;br /&gt;To ensure safety, all channels are closed first and only the required channels are then opened. This can be done with the following script, (courtesy, Hiroshi)&lt;br /&gt;&lt;br /&gt;#clear all direct physical connections for safety &lt;br /&gt;    for ichannel in $(seq 0 1 25) do amixer -c 0 cset numid=5 $ichannel,$ichannel,0 &lt;br /&gt;    done &lt;br /&gt;#playback connections &lt;br /&gt;    amixer -c 0 cset numid=5 26,0,32768 &lt;br /&gt;    amixer -c 0 cset numid=5 27,1,32768 &lt;br /&gt;    amixer -c 0 cset numid=5 28,2,32768 &lt;br /&gt;    amixer -c 0 cset numid=5 29,3,32768&lt;br /&gt;&lt;em&gt;The above script was commented out in my latest script as it causes some runtime error. I am trying to work out the reason behind....&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Initially, I am confused the amixer script with the BruteFIR script. The 4 lines shown above is amixer script. In other words, physical input channels are named as 0,1,2,..., playback channels are 26,27,28,..., physical output channels (which are physically different from the above input channels) are named also as 0,1,2,... &lt;br /&gt;&lt;br /&gt;amixer -c 0 cset numid=5 26,0,32768&lt;br /&gt;amixer -c 0 cset numid=5 27,1,32768&lt;br /&gt;amixer -c 0 cset numid=5 28,2,32768&lt;br /&gt;amixer -c 0 cset numid=5 29,3,32768&lt;br /&gt;&lt;br /&gt;The above amixer command means software (BruteFIR in our case) outputs to four channels 26,...,29, and they are connected to physical (ADAT) channels 0,...,3 respectively BY the above commands.&lt;br /&gt;&lt;br /&gt;However, inside BruteFIR script, channels 26,...,29 are called 26/0,...,3.&lt;br /&gt;So, in BruteFIR, the script should read&lt;br /&gt;&lt;br /&gt;#output "llow", "rlow", "lmid", "rmid", "lhigh", "rhigh" { output "llow", "rlow", "lmid", "rmid" {&lt;br /&gt;        device: "alsa" { device: "hw:0";}; # ignore_xrun: true; };&lt;br /&gt;        sample: "S24_4LE";&lt;br /&gt; &lt;strong&gt;channels: 26/0,1,2,3;&lt;/strong&gt;&lt;br /&gt; delay: 0,3,282,282;&lt;br /&gt;# delay: 0,3,332,332;&lt;br /&gt; dither: true;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18825339-113557661156177496?l=digitalroomcorrection.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/113557661156177496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18825339&amp;postID=113557661156177496' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/113557661156177496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/113557661156177496'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/2005/12/rme-hdsp-9652.html' title='RME HDSP 9652'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18825339.post-113553189632185246</id><published>2005-12-25T09:23:00.000-08:00</published><updated>2005-12-25T10:07:34.393-08:00</updated><title type='text'>Sound Card</title><content type='html'>The next part I want to talk about is the sound card. Obviously, you need good quality sound card to get the best out of the convolver PC. For me, I think you need an external DAC to get "no compromised" sound quality while keeping all DSP under digital domain. So, after some research, I chose &lt;a href="http://www.rme-audio.com/english/hdsp/hdsp9652.htm"&gt;RME HDSP 9652 &lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;However, running this sound card in Linux is no easy task, especially for a Linux newbie like me! With great help from Uli and Hiroshi, I managed to get some idea. After you have installed the sound card based on the readings on DRC web page, you can type "amixer -c 0 contents" on the command prompt. The PC will show the current settings as folows&lt;br /&gt;&lt;br /&gt;Output of amixer controls:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;numid=23,iface=HWDEP,name='ADAT Lock Status',index=1&lt;br /&gt;numid=24,iface=HWDEP,name='ADAT Lock Status',index=2&lt;br /&gt;numid=25,iface=HWDEP,name='ADAT Lock Status',index=3&lt;br /&gt;numid=20,iface=HWDEP,name='ADAT Sync Lock Status'&lt;br /&gt;numid=26,iface=HWDEP,name='Analog Extension Board'&lt;br /&gt;numid=14,iface=HWDEP,name='AutoSync Reference'&lt;br /&gt;numid=9,iface=HWDEP,name='IEC958 Emphasis Bit'&lt;br /&gt;numid=10,iface=HWDEP,name='IEC958 Non-audio Bit'&lt;br /&gt;numid=7,iface=HWDEP,name='IEC958 Output also on ADAT1'&lt;br /&gt;numid=8,iface=HWDEP,name='IEC958 Professional Bit'&lt;br /&gt;numid=22,iface=HWDEP,name='Line Out'&lt;br /&gt;numid=5,iface=HWDEP,name='Mixer'&lt;br /&gt;numid=21,iface=HWDEP,name='Passthru'&lt;br /&gt;numid=13,iface=HWDEP,name='Preferred Sync Reference'&lt;br /&gt;numid=19,iface=HWDEP,name='SPDIF Lock Status'&lt;br /&gt;numid=15,iface=HWDEP,name='SPDIF Sample Rate'&lt;br /&gt;numid=12,iface=HWDEP,name='System Clock Mode'&lt;br /&gt;numid=16,iface=HWDEP,name='System Sample Rate'&lt;br /&gt;numid=18,iface=HWDEP,name='Word Clock Lock Status'&lt;br /&gt;numid=3,iface=MIXER,name='IEC958 Playback Con Mask'&lt;br /&gt;numid=4,iface=MIXER,name='IEC958 Playback Pro Mask'&lt;br /&gt;numid=17,iface=PCM,name='External Rate'&lt;br /&gt;numid=6,iface=PCM,name='IEC958 Input Connector'&lt;br /&gt;numid=1,iface=PCM,name='IEC958 Playback Default'&lt;br /&gt;numid=2,iface=PCM,name='IEC958 Playback PCM Stream'&lt;br /&gt;numid=11,iface=PCM,name='Sample Clock Source'&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Output of amixer contents:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;numid=23,iface=HWDEP,name='ADAT Lock Status',index=1&lt;br /&gt;   ; type=ENUMERATED,access=r----,values=1,items=3&lt;br /&gt;   ; Item #0 'No Lock'&lt;br /&gt;   ; Item #1 'Lock'&lt;br /&gt;   ; Item #2 'Sync'&lt;br /&gt;   : values=0&lt;br /&gt;numid=24,iface=HWDEP,name='ADAT Lock Status',index=2&lt;br /&gt;   ; type=ENUMERATED,access=r----,values=1,items=3&lt;br /&gt;   ; Item #0 'No Lock'&lt;br /&gt;   ; Item #1 'Lock'&lt;br /&gt;   ; Item #2 'Sync'&lt;br /&gt;   : values=0&lt;br /&gt;numid=25,iface=HWDEP,name='ADAT Lock Status',index=3&lt;br /&gt;   ; type=ENUMERATED,access=r----,values=1,items=3&lt;br /&gt;   ; Item #0 'No Lock'&lt;br /&gt;   ; Item #1 'Lock'&lt;br /&gt;   ; Item #2 'Sync'&lt;br /&gt;   : values=0&lt;br /&gt;numid=20,iface=HWDEP,name='ADAT Sync Lock Status'&lt;br /&gt;   ; type=ENUMERATED,access=r----,values=1,items=3&lt;br /&gt;   ; Item #0 'No Lock'&lt;br /&gt;   ; Item #1 'Lock'&lt;br /&gt;   ; Item #2 'Sync'&lt;br /&gt;   : values=0&lt;br /&gt;numid=26,iface=HWDEP,name='Analog Extension Board'&lt;br /&gt;   ; type=BOOLEAN,access=rw---,values=1&lt;br /&gt;   : values=off&lt;br /&gt;numid=14,iface=HWDEP,name='AutoSync Reference'&lt;br /&gt;   ; type=ENUMERATED,access=r----,values=1,items=7&lt;br /&gt;   ; Item #0 'Word'&lt;br /&gt;   ; Item #1 'ADAT Sync'&lt;br /&gt;   ; Item #2 'IEC958'&lt;br /&gt;   ; Item #3 'None'&lt;br /&gt;   ; Item #4 'ADAT1'&lt;br /&gt;   ; Item #5 'ADAT2'&lt;br /&gt;   ; Item #6 'ADAT3'&lt;br /&gt;   : values=2&lt;br /&gt;numid=9,iface=HWDEP,name='IEC958 Emphasis Bit'&lt;br /&gt;   ; type=BOOLEAN,access=rw---,values=1&lt;br /&gt;   : values=off&lt;br /&gt;numid=10,iface=HWDEP,name='IEC958 Non-audio Bit'&lt;br /&gt;   ; type=BOOLEAN,access=rw---,values=1&lt;br /&gt;   : values=off&lt;br /&gt;numid=7,iface=HWDEP,name='IEC958 Output also on ADAT1'&lt;br /&gt;   ; type=BOOLEAN,access=rw---,values=1&lt;br /&gt;   : values=off&lt;br /&gt;numid=8,iface=HWDEP,name='IEC958 Professional Bit'&lt;br /&gt;   ; type=BOOLEAN,access=rw---,values=1&lt;br /&gt;   : values=off&lt;br /&gt;numid=22,iface=HWDEP,name='Line Out'&lt;br /&gt;   ; type=BOOLEAN,access=rw---,values=1&lt;br /&gt;   : values=on&lt;br /&gt;numid=5,iface=HWDEP,name='Mixer'&lt;br /&gt;   ; type=INTEGER,access=rw---,values=3,min=0,max=65536,step=1&lt;br /&gt;   : values=0,0,0&lt;br /&gt;numid=21,iface=HWDEP,name='Passthru'&lt;br /&gt;   ; type=BOOLEAN,access=rw---,values=1&lt;br /&gt;   : values=off&lt;br /&gt;numid=13,iface=HWDEP,name='Preferred Sync Reference'&lt;br /&gt;   ; type=ENUMERATED,access=rw---,values=1,items=6&lt;br /&gt;   ; Item #0 'Word'&lt;br /&gt;   ; Item #1 'IEC958'&lt;br /&gt;   ; Item #2 'ADAT1'&lt;br /&gt;   ; Item #3 'ADAT Sync'&lt;br /&gt;   ; Item #4 'ADAT2'&lt;br /&gt;   ; Item #5 'ADAT3'&lt;br /&gt;   : values=2&lt;br /&gt;numid=19,iface=HWDEP,name='SPDIF Lock Status'&lt;br /&gt;   ; type=ENUMERATED,access=r----,values=1,items=3&lt;br /&gt;   ; Item #0 'No Lock'&lt;br /&gt;   ; Item #1 'Lock'&lt;br /&gt;   ; Item #2 'Sync'&lt;br /&gt;   : values=0&lt;br /&gt;numid=15,iface=HWDEP,name='SPDIF Sample Rate'&lt;br /&gt;   ; type=ENUMERATED,access=r----,values=1,items=7&lt;br /&gt;   ; Item #0 '32000'&lt;br /&gt;   ; Item #1 '44100'&lt;br /&gt;   ; Item #2 '48000'&lt;br /&gt;   ; Item #3 '64000'&lt;br /&gt;   ; Item #4 '88200'&lt;br /&gt;   ; Item #5 '96000'&lt;br /&gt;   ; Item #6 'None'&lt;br /&gt;   : values=6&lt;br /&gt;numid=12,iface=HWDEP,name='System Clock Mode'&lt;br /&gt;   ; type=ENUMERATED,access=r----,values=1,items=2&lt;br /&gt;   ; Item #0 'Master'&lt;br /&gt;   ; Item #1 'Slave'&lt;br /&gt;   : values=0&lt;br /&gt;numid=16,iface=HWDEP,name='System Sample Rate'&lt;br /&gt;   ; type=INTEGER,access=r----,values=1,min=0,max=0,step=0&lt;br /&gt;   : values=44100&lt;br /&gt;numid=18,iface=HWDEP,name='Word Clock Lock Status'&lt;br /&gt;   ; type=ENUMERATED,access=r----,values=1,items=3&lt;br /&gt;   ; Item #0 'No Lock'&lt;br /&gt;   ; Item #1 'Lock'&lt;br /&gt;   ; Item #2 'Sync'&lt;br /&gt;   : values=0&lt;br /&gt;numid=3,iface=MIXER,name='IEC958 Playback Con Mask'&lt;br /&gt;   ; type=IEC958,access=r----,values=1&lt;br /&gt;   : values=?&lt;br /&gt;numid=4,iface=MIXER,name='IEC958 Playback Pro Mask'&lt;br /&gt;   ; type=IEC958,access=r----,values=1&lt;br /&gt;   : values=?&lt;br /&gt;numid=17,iface=PCM,name='External Rate'&lt;br /&gt;   ; type=ENUMERATED,access=r----,values=1,items=7&lt;br /&gt;   ; Item #0 '32000'&lt;br /&gt;   ; Item #1 '44100'&lt;br /&gt;   ; Item #2 '48000'&lt;br /&gt;   ; Item #3 '64000'&lt;br /&gt;   ; Item #4 '88200'&lt;br /&gt;   ; Item #5 '96000'&lt;br /&gt;   ; Item #6 'None'&lt;br /&gt;   : values=6&lt;br /&gt;numid=6,iface=PCM,name='IEC958 Input Connector'&lt;br /&gt;   ; type=ENUMERATED,access=rw---,values=1,items=3&lt;br /&gt;   ; Item #0 'Optical'&lt;br /&gt;   ; Item #1 'Coaxial'&lt;br /&gt;   ; Item #2 'Internal'&lt;br /&gt;   : values=1&lt;br /&gt;numid=1,iface=PCM,name='IEC958 Playback Default'&lt;br /&gt;   ; type=IEC958,access=rw---,values=1&lt;br /&gt;   : values=?&lt;br /&gt;numid=2,iface=PCM,name='IEC958 Playback PCM Stream'&lt;br /&gt;   ; type=IEC958,access=rw---,values=1&lt;br /&gt;   : values=?&lt;br /&gt;numid=11,iface=PCM,name='Sample Clock Source'&lt;br /&gt;   ; type=ENUMERATED,access=rw---,values=1,items=7&lt;br /&gt;   ; Item #0 'AutoSync'&lt;br /&gt;   ; Item #1 'Internal 32.0 kHz'&lt;br /&gt;   ; Item #2 'Internal 44.1 kHz'&lt;br /&gt;   ; Item #3 'Internal 48.0 kHz'&lt;br /&gt;   ; Item #4 'Internal 64.0 kHz'&lt;br /&gt;   ; Item #5 'Internal 88.2 kHz'&lt;br /&gt;   ; Item #6 'Internal 96.0 kHz'&lt;br /&gt;   : values=2&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;By following the settings you should be able to get somewhere&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18825339-113553189632185246?l=digitalroomcorrection.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/113553189632185246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18825339&amp;postID=113553189632185246' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/113553189632185246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/113553189632185246'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/2005/12/sound-card.html' title='Sound Card'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18825339.post-113349525590259131</id><published>2005-12-01T19:38:00.000-08:00</published><updated>2005-12-01T19:47:35.903-08:00</updated><title type='text'>BruteFIR in USB</title><content type='html'>Setting up BruteFIR in USB is no easy task for me! First you have to download SPB-Linux and follow the excellent article in &lt;a href="http://www.duffroomcorrection.com/wiki/BruteFIR_on_a_USB_memory_stick"&gt;Uli's page&lt;/a&gt;. However, I got into trouble right in the first step! It turns out the my WinXP cannot format the USB disk accurately. I eventually need &lt;a href="http://h18007.www1.hp.com/support/files/hpcpqdt/us/download/20306.html"&gt;Hewlett Packard USB Disk Storage Formatting Tool&lt;/a&gt; to format the USB!&lt;br /&gt;&lt;br /&gt;Now time to explore a bit! Plug in your USB and start the convolver PC. (Make sure that the PC is boot from USSB by setting the Bios). You should run the Midnight Commander (similar to the Norton Commander) first by mc - Enter. Then you can now explore the contents of the system and the temporary ramdisk. The content is the unpacked Linux system. But you will also see a directory /beesound. In this directory you find the original content of the USB stick. So the directory /brutefir and there the configuration files, the /start dir with some start scripts and also the /filter dir where later on the filter files have to be copied into.&lt;br /&gt;I recommend that you explore this first. Also that you view the&lt;br /&gt;lcrossover48 configuration file. You should google for &lt;a href="http://www.ludd.luth.se/~torger/brutefir.html"&gt;BruteFIR &lt;/a&gt;and download at least its description. So you will get some understanding what the preprepared configuration file is doing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18825339-113349525590259131?l=digitalroomcorrection.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/113349525590259131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18825339&amp;postID=113349525590259131' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/113349525590259131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/113349525590259131'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/2005/12/brutefir-in-usb.html' title='BruteFIR in USB'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18825339.post-113349461250097067</id><published>2005-12-01T19:32:00.000-08:00</published><updated>2005-12-25T09:23:14.250-08:00</updated><title type='text'>The convolver PC</title><content type='html'>To execute room correction in real time, we need a PC to run the program BruteFIR. However, BruteFIR runs with Linux, so, somehow, thie PC also need to run in Linux. This is the &lt;strong&gt;Convolver PC&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This is the center for room correction! It is basically a PC running BruteFIR in Linux using Uli's program &lt;a href="http://www.duffroomcorrection.com/wiki/BruteFIR_on_a_USB_memory_stick"&gt;BruteFIR in USB&lt;/a&gt;. To build such a PC, you want a good sound card that can give you all the flexibilities I chose &lt;a href="http://www.rme-audio.com/english/hdsp/hdsp9652.htm"&gt;RME HDSP9652&lt;/a&gt;. For one thing, it has many input and outputs whick allows me to expand to home theatre room correction once I become more experienced. But most importantly, someone have used this before and it is easier for things to be sorted out if things go wrong! &lt;br /&gt;&lt;br /&gt;This PC also need to be dead silent. To achieve this, I have chosed a silent power supply - &lt;a href="http://www.silverstonetek.com/products-30nf.htm"&gt;silverstone ST30NF&lt;/a&gt;. The case I chose is an alluminium case and the only thing that needs to be solved is the CPU fan. Oh! AMD CPU works out to be much more cooler than Intel, so I chose AMD as as the CPU for this PC! Zalman CPU fan can also help to make cool down the CPU without making any noise!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18825339-113349461250097067?l=digitalroomcorrection.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/113349461250097067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18825339&amp;postID=113349461250097067' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/113349461250097067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/113349461250097067'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/2005/12/convolver-pc.html' title='The convolver PC'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18825339.post-113224246702049881</id><published>2005-11-17T07:41:00.000-08:00</published><updated>2005-12-01T19:30:12.113-08:00</updated><title type='text'>The very first step</title><content type='html'>I am ready to take my very first step. Just finished reading the DRC manual available &lt;a href="http://www.duffroomcorrection.com/"&gt;here&lt;/a&gt;. It is a good read and I can imagine the amount of work Dennis has put into it! At thie juncture, I would like to thank Dennis and all who have contributed to this great program!&lt;br /&gt;&lt;br /&gt;So, the next step is to try it out with my laptop. I think I will generate the room correction filter first and than try to apply it over the wav files of my favourite CDs for a good comparison before investing on a convolver PC.&lt;br /&gt;&lt;br /&gt;As a start, I will follow this &lt;a href="http://www.duffroomcorrection.com/images/d/de/DRC_Guide_v1.0.pdf"&gt;step by step guide&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Well, all the softwares are ready. I just need to work out the connection! I think I need a good microphone, then connect that to a mic preamp and then to the line in of the sound card.......&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18825339-113224246702049881?l=digitalroomcorrection.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/113224246702049881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18825339&amp;postID=113224246702049881' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/113224246702049881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/113224246702049881'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/2005/11/very-first-step.html' title='The very first step'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18825339.post-113160536374803600</id><published>2005-11-09T22:45:00.000-08:00</published><updated>2005-12-01T19:31:18.206-08:00</updated><title type='text'>Introduction</title><content type='html'>I begin my Hifi journal 2 years ago when I bought my Onkyo amp and a pair of Q5. My addition cycle up very quickly after I built my first DIY preamp and then a pair of &lt;a href="http://www.ackcheng.blogspot.com/"&gt;OTL amp&lt;/a&gt;! One thing I aways wonder is why the same piece of equiptment sound so differnt from my house and my friends house! One thing that comes to me after some serious search on the internet is room acoustics! &lt;br /&gt;&lt;br /&gt;Of course, one way of solving the problem is to use various absorbers but this will be an eye sore at home and my wife will certainly refuse! Then I come across Tact. It is a great little piece of equiptment and the one I am using is &lt;a href="http://www.tactaudio.dk/"&gt;Tact 2.0s&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;The setup is easy and I will not repeat it as you can probably find it elsewhere. Awhile later, after I have heard an active speaker system in a friend's place, I decided that active crossover is the way to go. Another extensive search in the internet shows that there are a few options. 1. A DIY active crossover with opamp 2.digital crossover system which correct the phase difference between drivers as well. I chose the second option and bought &lt;a href="http://deqx.com"&gt;DEQX&lt;/a&gt;. This piece of equipment allows 3 output for a 3-way speaker. I do not use its "room correction" function as it is really not room correction! &lt;br /&gt;&lt;br /&gt;So, so far so good! But it doesn't end here! Now I am building a 4-way system and DEQX cannot provide a 4 way output. So, another extensive search on the internet bought me here! &lt;br /&gt;&lt;br /&gt;Now, I am planning to sell my Tact and DEQX and I use a Audio PC to set it up! Thanks to Uli, who is very kind to give me a starting point with BruteFIR and DRC. &lt;br /&gt;&lt;br /&gt;I have also come across this site &lt;a href="http://members.chello.at/nordbahnfredi/ "&gt;http://members.chello.at/nordbahnfredi/ &lt;/a&gt; with very useful information and tips.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18825339-113160536374803600?l=digitalroomcorrection.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalroomcorrection.blogspot.com/feeds/113160536374803600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18825339&amp;postID=113160536374803600' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/113160536374803600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18825339/posts/default/113160536374803600'/><link rel='alternate' type='text/html' href='http://digitalroomcorrection.blogspot.com/2005/11/introduction.html' title='Introduction'/><author><name>ackcheng</name><uri>http://www.blogger.com/profile/14394874025878075474</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
