2013年12月25日 星期三

MPD 加上 SoX 升頻

RaspyFi 主打 bit perfect,檔案是什麼格式就直接丟給 DAC 處理,中間沒有經過任何加味。但是對於擁有 96KHz/192kHz DAC,而且又懶得轉檔升頻、認為即時升頻運算是可以接受的人,其實幾個簡單的指令就可以讓 Raspberry Pi 做這樣的運算。我在這紀錄了我自己嚐試的經過,以及最終我所使用的方法。

  • 方法一:使用內建的 Secret Rabbit Code
  • 使用方法很簡單,只要在 /etc/mpd.conf 加上下面這行就可以了。

    這是一個頗有名氣的 resampler,那個數字的設定可以參考 MPD 說明書,但是寬頻的 0 和 1 這兩個設定在 Pi 上都跑不動,會發生音樂格放的現象。使用頻寬只有 80% 的演算法,我認為不如不要用,放棄。

  • 方法二:透過我之前自己 compile 好支援 pipe 的 MPD,外掛 sox 
  • 在我的《用 Raspberry Pi 聽音樂》紀錄了我如何設定並編譯支援 pipe 的 MPD,現在只要安裝上 sox (sudo apt-get install sox),就能使用這個威力強大的效果器!最主要的優點是可以加上 dithering 來讓 quantization noise 變得聽起來比較不明顯,這在只支援 16bit 輸出的音效卡上,理論上是個重要的設定,不過我還沒有仔細的試聽比較就是了。

    我在 /etc/mpd.conf 加上如下的設定:
    主要的內容都是在指定輸出輸出的格式,注意 raw 後面有一個 "-" 不要漏掉了,後面的 sample rate 和 bit 數就根據使用的 ADC 設定。 在我的 Raspberry Pi 上,這樣的設定勉強跑的動,CPU rate 會上到 80%,這時候只要用網頁開 RaspyFi 就會讓他掛點,不過用 gnome music player client 或是 Android/iPhone App 影響都比較小。這部份也許可以透過超頻改善,不過我沒有繼續往這方面嚐試就是了。
    嚴格講,這樣的 dithering 還是不能在 16bit 音效卡上使用軟體調整音量的。RaspyFi 的軟體音量調整是交給 ALSA 負責,一旦用軟體把音量調小,好不容易加上去的 dithering 都會被砍掉。理想上應該要使用 hardware mixer,並在 sox 指令中加上 "gain -20" 來降低音量 (以 20dB 為例) ,這樣的另外一個好處是 dither 和 resampling 都需要 digital headroom,這樣的調整方式也可以避免這些音效處理反而造成失真。

  • 方法三:指定 MPD 使用 soxr
  •  MPD 說明書 裏面我注意到其實有個 soxr 的選項,不過 RaspyFi 預設並沒有安裝這個 library,因此我們要自己手動編譯安裝。首先下載原始碼並丟上去 Pi,執行以下指令:


    最後的 /etc/mpd.conf 的修改則如下:
     

在我的系統上第三個方法的 CPU 使用量大約在 30% 左右,我很滿意這樣的結果。至於同樣的 DAC 跑在 44.1KHz 和 96kHz 的差異,我這樣的木耳就直接放棄用耳朵比較了,學理上只要 headroom 夠,這些處理可以讓不夠完美的類比輸出濾波器,也能產生優秀的聲音。MPD 內部是用 32bit 運算,只要最後輸出的時候處理正確,應該不會有 clipping 的問題,這部份有待進一步的資料收集。


2013年11月27日 星期三

NX300 開箱

我在三年前從 eBay 便宜入手了 NX10 + 18-55mm/f3.5-5.6 OIS + 30mm/f2.0。用到今天為止快門數其實還沒有破兩萬,遠低於我當初自己設定的拍到五萬張才要換相機。但是最近 BHphoto 的特價實在很誘人,NX300 + 20-50mm/f3.5-5.6 + 50-200mm/f4.0-5.6 OIS II,總共不到 $570,就忍不住衝了。

雖然 NX300 已經出了一陣子了,還是來個開箱吧!這些照片是用 NX10 + TT560 + 自製散射板拍的。

特價的是咖啡色蒙皮的版本,這也是我本來最喜歡的顏色,不清楚為什麼賣的不好而總是在特價。

機頂的金屬拉絲很漂亮

NX300 是單滾輪的介面,後面只有十字鍵而沒有飛梭。操控介面和 NX10 非常類似,只是滾輪從機背移到機頂,以我的操控習慣提升了單手操作的穩定性。

前面兩張照片用機頂閃就很漂亮,機背這張我發現螢幕會反光,所以用機頂小閃 -2 EV 光觸發手持的 TT-560 從上面打光,機頂小閃也用一張名片擋著,不然螢幕上還是會很明顯亮一條。不過這張還是有漏光就是了,難怪離機閃大家喜歡無線電觸發多於光觸發...


拍好開箱馬上把我最愛的 30mm/f2.0 掛上去,鏡頭轉起來很緊,但還是可以裝上去就是了。晚上開燈的室內對焦速度有明顯的進步。亮部的高 ISO 直到 3200 我都很滿意。

NX300 ISO800 Dark Scene Testing
這張 ISO 800 的焦點在蘋果上,解像力表現很不錯(點擊可以跳到 flickr 看原圖)。

NX10 + 45mm
NX10 拍的做比較,一樣的機身設定和鏡頭。兩台相機都把對焦點縮到最小、打開對焦輔助燈,但是 NX10 就是無法準準的對在蘋果上,我試了三四次都一樣。所以 NX10 拍的後面的書反而比蘋果較清楚。兩張比較可以發現 NX10 在 ISO800 畫面對比變低了,整個灰灰的。


之後把 Chinon 55mm/f1.4 Blue MC 接上去,試試看 focus peaking + 8X 放大的威力,我的機子是 FW 1.10,完全沒有問題!關掉放大功能的時候,也可以正常 focus peaking,但是 focus peaking 就沒有那麼準。雖然放大功能只能用在畫面的中央,我已經很感恩了。我個人認為 5X 放大配上 focus peaking 非常非常好用!


NX300 + Chinon 55mm/f1.4 Blue MC with FW1.10 @ f3.0
NX300 + Chinon 55mm/f1.4 Blue MC with FW1.10

NX300 + Chinon 55mm/f1.4 Blue MC +FW1.32 @ f2.0
NX300 + Chinon 55mm/f1.4 Blue MC with FW1.32

轉接老鏡發現機身直出的 JPEG 有點紅移,縮光圈還是一樣。不過 LR 4.4 轉出來的則沒有問題。軔體升級 1.32 之後直出的 JPEG 也沒問題了。上面用 FW1.10 拍的是用 f4.0、後面用 FW1.32 拍的是 f2.0。


接下來幾天的感恩節假期,希望花點時間進一步測試接上不同 NX 鏡頭的對焦速度、銳利度,也希望有機會把相機帶出門拍拍照。

最後,BHphoto 又進一部降價了!現在這組又回到 $599,但是 NX300 + 18-55mm/f3.5-5.6 OIS 從 $649 降到 $549!

2013年11月16日 星期六

Raspberry Pi 傳檔案的速度

我自己是把現在的 RaspyFi 當 NAS 在用,但是無論是 samba/sftp/ftp 的速度都非常慢,只有 ftp 勉強有 2MB/s,找了一些網路文章參考之後,做了下面調整。

0. 修改 samba.conf
我發現像在 RaspBMC 上面一樣只改 /etc/smb.conf 是不夠的,重開機之後我改寫過要分享外接硬碟的 smb.conf 會被覆蓋掉,不會正確把外接硬碟分享。RaspyFi 還需要把 /var/www/_OS_SETTINGS/etc/samba/smb.conf 改掉。

1. 外接硬碟改用 async


這是全部裏面最重要的設定,一定要改,不然速度無論如何都無法突破 2MB/s。

2. 外接硬碟不用 NTFS 改用 ext3 或是 ext4。
因為 NTFS 的詳細規格微軟並沒有公開,因此在 Linux 上面的實作效率不佳。

3. 用 samba 配合 ftp,不要用 sftp。
只要在「我的電腦」裏面打上,\\IP,就可以透過 samba 直接傳送檔案,速度可以到 5.75MB/s。不用  sftp 的原因是他比較耗 CPU,速度會比較慢。

還需要配合使用 ftp 的原因是,透過用 samba 移動檔案的時候等於是複製再刪除,很沒有效率,ftp 則可以正常的移動檔案。

ftp 的安裝可以參考這篇文章



我把 vsftpd.conf 把其中 anonymous 加上註解,把 write 跟 local 拿掉註解。再用最後一行重開就好。我測試 ftp 的速度是 6.2MB/s 了,比起 samba 只有快一點點。
 
4. 用有線網路而不是無線網路。
和 3 都一樣的設定,只是把我電腦的有線網路換成 802.11n 的無線網路 (沒有合併頻寬),速度掉到3.6MB/s,其實還低於 802.11n 標準頻寬的理論速度 5.4MB/s。

5. 要更往 10MB/s 逼近 (100Mbps 乙太網路的理論速度),就需要超頻了。


當然 6MB/s 的速度不是非常理想,但受限於 Raspberry Pi 只有 10/100Mbps 乙太網路,以及那顆不夠快的 CPU,我就接受它之後加減用啦。

最近朋友推荐 Cubietruck,有 Gigabyte ethernet、雙核心、SATA II 的硬碟介面,只是不知道有沒有 USB 3.0。看起來是相當不錯的產品!也有 Android 版本的作業系統可以跑 XBMC。

2013年11月6日 星期三

Sure Tk2050 4x100W 低價位擴大機


當初買這個擴大機的主要原因是方便,內建 RCA 端子、電源可以直接用筆電的,省下裝箱和眾多接頭的成本,無論是金錢或是時間。在 改裝 wiki 上面有提到原廠的 DC offset 很大,我原先沒當一回事,這周心血來潮把他帶去學校用電表量了一下,結果還真是驚人啊,四個聲道分別大約有 400mV, 100mV, 200mV, 5mV 的 offset,當然就拿起螺絲起子把他們都調整到 10mV 以內。

既然都帶到學校了,就接上示波器吧,用一個耐 25W 的 4ohm 電阻做負載,輸入則是用 Expression Tone Generator 寫幾個 1kHz, 10kHz, 20kHz 的絃波,用 Thinkpad T410 內建音效卡的 24bit/192kHz 放出來。可以看到 1KHz, 10kHz, 20kHz 的峰到峰振幅分別是 7.562V, 6.938V, 5.188V,這表示 10kHz 和 20kHz 對 1kHz 分別有高達 0.75dB 和 3.27dB 的衰減!這樣的規格實在稱不上是好擴大器。

1kHz 10kHz 20kHz

之後把參數固定之後把四個聲道都量測了一下,結果如表 (聲道如第一張圖由左至右):
Channel 1 Channel 2 Channel 3 Channel 4
1kHz 15.47V 15.94V 15.62V 15.94V
10kHz 14.38V 14.38V 14.06V 14.53V
20kHz 11.09V 10.31V 10.47V 10.62V








這個結果解開了我長久的疑惑,我總是覺得我的喇叭聲音左邊大聲一點點,一直以為是我耳朵的問題,原來是因為我用 channel 2 接左聲道、channel 3 接右聲道造成的,約為 0.26dB。回家之後馬上改成用 Channel 2/4 為左右聲道。

過去一年以來,我是用固定 19V 的變壓器驅動這個放大器,對於流行音樂、搖滾音樂都很滿意,就是古典音樂在大動態的時候不甚滿意。所以這周也嚐試調整萬用筆電變壓器的輸出電壓 (15-24V),雖然輸出功率從 100W 變成 70W,但是我的聆聽距離只有兩公尺不到,喇叭效率也有 89dB,音量應該不成問題。接上 24V 之後發出來的聲音,實在進步太多了!整個交響樂團一起發出聲音的瞬間,樂器之間的音色、定位變得清楚很多,不再是糊成一片,而鼓的聲音雖然不大 (畢竟我的喇叭 -3dB 只到 63Hz)、不過鼓質的感很好。我整個晚上都坐在客廳走不開,把手上的交響樂、協奏曲都聽了一輪!再次驗證 wiki 上說的,電壓愈高愈好。

另外一個疑惑是,我覺得這個擴大器音量大的時候比起音量小的時候,好聽非常多。這點也在用示波器量測高頻小訊號的時候獲得了答案。
這張圖裏面 20kHz 的訊號比起上面三張一組裏面的 20kHz 小了約 12dB,可以明顯看到有很多高頻雜訊載在 20kHz 的輸入上面。我相信這並不是音效卡用數位把音量調小的結果,畢竟我用的是 24bit 模式,而且這個雜訊並不是鋸齒狀的。這張圖裡裏面的雜訊相對於 20kHz 位置也是固定的,約是每個周期出現四次,表示這個雜訊的基頻約在 80kHz 左右,但是他本身涵蓋了比較多的高頻成份,所以局部有很劇烈的振盪。

再次回去閱讀改裝 wiki,裏面有提到 Sure 並沒有實作 Zobel filter,那是一個截止在 80kHz 的低通濾波器,可見原廠需要這個 Zobel filter 來將這些高頻雜訊消除掉!依照原廠說明書,這個 Zobel filter 應該要放在電感的前面,可以想像這樣的好處是可以避免鐵心電感磁場飽和,可惜的是 Sure 並沒有預留孔位,因此只能加減把 Zobel filter 接在輸出端子上了。原廠建議用 10 ohm/1W 串接 0.47uF 的電感。因為這個雜訊頻率很高,應該要用高品質的無極性電容,而不要貪便宜用電解電容。

我接下來改裝的方向是把這個 Zobel filter 補回去,並加上額外的電源電容。但是那個 3dB 的高頻衰減我目前還是無解。其實當初不應該貪便宜跟方便買 Sure 的,HiFimeDIY 的 TK2050 實作品至少有那個 Zobel filter!

2013年10月29日 星期二

群機亂舞

2012 我寫了 《從最近出的相機看鏡後距》,主要的討論對象是 Canon G1x,這台主要特色是 1.5" 感光元件、等效 28-112mm/f2.8-5.6。

將近兩年過去了,最近也有兩台類似的機器出籠,分別是 Sony RX10 和 Olympus Stylus 1。前者配備 1" 感光元件、等效 24-200mm/f2.8,後者是 1/1.7" 的小感光元件,等效 28-300mm/f2.8。兩台也都有 EVF,瞬間 G1x 就被完爆了,那個鳥鳥的光學觀景窗和沒有恆定光圈的鏡頭,變焦範圍又沒有這兩台廣。更不要說 RX10 還有防塵防滴!

RX10 和 Sylus 1 在日本的售價約是 USD1300 和 USD698,我來選些比較對象。

Nikon V2 搭配 10-100mm (等效 27-270mm/f4-5.6) 在 BHphoto 上面賣 $1196,那顆 10-100mm 鏡頭雖然比較遠一點,但是最近端光圈差到整整一級。接下來就看 RX10 的對焦速度能不能有 Nikon 的水準了,畢竟 J1/V1 的對焦實力可是有 DSLR 水準,拍運動不是問題。Olympus 機身最便宜的是 EPL-5,$549,加上最便宜的 VF-3 $145,再配上$599 的 MZD 14-150mm/f4-5.6,整體價位和規格其實和 V2 套餐非常接近。

接下來就要看 MZD 14-150mm vs. Nikon 10-100mm vs. Sony 24-200mm/f2.8,到底那顆鏡頭素質比較高了,還有用家對於防塵防滴有多在乎,畢竟這幾台價位其實都非常接近。用 Olympus 的好處是可以接其他鏡頭,Nikon 雖然可換鏡頭,但是選擇少到不用考慮。

至於 Stylus 1,我想是一個體積縮小又大光圈的隨身 DC,在我看來比較像是把 XZ-2 虛弱的望遠端給強化了不少,這樣的產品也應該不至於打到各家 Super-zoom,畢竟等效 300mm 距離等效 700mm, 1000mm 這些打鳥怪物,還是有一大段差距。這也是我樂見的一個進步方向。


至於我說短鏡後距相機必備的 microlens 偏移,也是 Sony 的 E 接口全幅機 A7r 的標準配備了,非常好奇這樣的可以改善轉接老鏡的畫質多少,就靜候網路上的測試結果。

2013年10月26日 星期六

音場的來源

因為我自己就算用耳機聽 binaural 錄音,定位了不起是離頭 30 公分,聲音也無法達到正前方,總而言之就是沒有真實的距離感,所以開始查閱了一些資料。David Griesinger 的網站是主要資料來源,但是 Linkwitz 的文章整理的非常好,而這個過程中我也發現音場重現也跟錄音的方式很有關係,Deltamedia 則是把各種錄音技巧的優缺點整理地很好,值得和 Linkwitz 的文章來回參考。

結論性地講,現場聽音樂,人腦感受到的音場來自三個要素。針對低頻的聲音,人腦會去注意該樂器的聲音抵達兩隻耳朵時間的不一樣,這是 Interaural-Time-Difference (ITD)。針對高頻,兩隻耳朵收到的音量會因為頭的形狀而有不同,這是 Interaural-Level-Difference (ILD)。最後,人只用一隻耳朵其實也是可以聽出方向的,那是因為外耳的形狀使得同樣的樂器從不同方向發出的聲音,抵達耳朵的波形會略有變化,我們就從這個波形的變化聽出方向來。從頻率的角度來看,則表示頻率響應是方向的函數,這是 Spectral difference,最後這個其實人腦在後面做了很多事情,David Griesinger 的投影片解釋的很清楚。

ITD、ILD 則跟很多針對耳機的播放軟體、耳擴裏面內建的 crossfeed 有關係,有很多人說 crossfeed 可以改善用耳機聽一般錄音 (非 binaural) 時候的空間感,有人甚至說能改善音場的前後縱深。但實際玩過就會知道,crossfeed 對於一些早期 ( ~1960) 的雙聲道錄音效果很好,但是對於現代的錄音好像就沒啥特別效果 (至少對我而言)。原因是很多早期的錄音其實是用單聲道 pan 成雙聲道的。把單聲道麥克風收到的聲音,大多數從右邊喇叭放出來,播放的時候就會好像聲音來自右邊,但是如果聲音「只從」右邊喇叭放出來的時候,喇叭聽起來還可以,耳機聽起來就會非常不舒服。

crossfeed 的效果是把左右聲道的高頻和低頻,先經過延遲 (模擬 ITD),再經過不同的衰減 (模擬 ILD) 之後放到對面去,來讓聲音比較接近人耳聽到的樣子。但是現在有很多的雙聲道錄音技巧,其實已經內含 ILD 甚至是 ITD 了。以古典音樂最常見到的 ORTF 來講,兩隻收音場型是心型的麥克風,距離十七公分,開角 110 度,這樣雙聲道收下來的聲音通常用喇叭放出來就非常棒,那個十七公分就是要模擬人耳的距離,因此會在兩耳間產生正確的時間差 (ITD),110 度開角的心型收音場型,則不同方向來的聲音在兩隻麥克風收到的音量會不一樣,根據 Linkwitz 的計算,ORTF 的音量差大約可以區分加減 34 度的以內的方向。這個數字很有趣,不知道是不是為了要和正三角形的喇叭擺位有對應?這部份我需要進一步找資料。

ORTF 的主要缺點也是來自於那個十七公分,早期的雙聲道收音麥克風是擺在同一個平面的 (XY 錄音),只利用角度的不同來達到音量的差異。擺在同一個平面的好處是,直接把兩聲道的聲音相加就可以得到單聲道的聲音,在早期的廣播時代,單聲道的音質也是很重要的。ORTF 則不能這麼簡單的把兩聲道的聲音相加,因為那個十七公分會造成 comb filter,讓聲音的頻率響應改變很多。

比較的起來的話:
Mono pan 到底 = 不舒服。
Mono pan 部份 = 所有頻率的 ILD 都一樣,並不自然,但是比上面好很多。
XY 錄音 = 不需要錄音師控制 pan,直接收到 ILD,但還是所有頻率的 ILD 都一樣。
ORTF 錄音 = ILD + ITD,但是所有頻率的 ILD 都一樣。

我推測用耳機搭配 crossfeed 聽 ORTF 錄音的時候,ITD 應該設為零,因為 ORTF 已經內含了,不過調整頻率點和高低頻不同的衰減,可能還是可以提升定位感。至於聽早期 XY 的錄音品,則應該要加上適當的 ITD。如果遇到 mono pan 出來的 stereo,那設定的 ILD 有可能需要根據不同的錄音品調整,畢竟當時錄音師 pan 了多少,實在沒人知道。最後, http://www.ohl.to/ 上面的 head-fit 是設定 crossfeed 很不錯的工具。他的另外一篇文章用淺顯易懂的方式解釋了 crossfeed,也推荐了用 Charles Mingus 的 Ysabel's table dance 作為調整 crossfeed 的參考曲目。這是 1957 年的錄音但是音質相當好,我是從 Amazon 上買 mp3 單曲回來聽的,雖然不是很理想的檔案格式,但是拿來調整 crossfeed 我覺得夠用了。這個曲子的特點是有很多樂器,涵蓋的頻率範圍非常廣,尤其是右邊的響板可以高到 7-9KHz,適合拿來調整高頻的 ILD,薩克斯風和小喇叭則分別在左右聲道,銅管樂器的基頻處在 crossfeed 的低頻、嘹亮的音色在 crossfeed 的高頻,仔細比較這兩個樂器的音色是否自然可以拿來調整頻率點,最後是左邊的大鼓,可以調整低頻的 ILD 和 ITD,這首曲子真的是相當不錯的調整標的。而調整的目標是要做到定位正確但是音色沒有改變,不過我的腦子拒絕只用 ITD/ILD 把東西放到前面,我不管怎麼調都是在後面 (雖然可以從正側面調整到左右後方),因此效果能有多好,我實在是不知道。


最後講到 spectral difference,唯一能把這個變化正確錄下來的,只有 binaural 錄音。以 David Griesinger 的投影片內容,如果我們把一個麥克風透過管子「接觸耳膜」,直接錄製耳膜上的音壓,然後用這個特殊的麥克風來 EQ 耳機,使得播放的時候能重現耳膜上在錄音時候的聲音,那就可以獲得完整的「原音重現」,包括正確距離和方向的音場。缺點?你要親自錄親自聽,別人聽不一定有這樣的效果。第二,當我們轉頭的時候方向就會崩潰,因為我們的腦子預期聲音還是來自前面,但實際上音場會跟著頭轉,這種時候就需要 head tracking。

Linkwitz 則是基於這個概念,但是用喇叭而不是耳機達成音場。前面說過 spectral difference 來自於外耳的形狀,因此用喇叭播放的時候,兩隻喇叭是在我們的前面左右,他們發出來的聲音自然的會透過每個人自己的耳朵,達到 spectral difference。他個人錄製現場音效的一個方式,就是在眼鏡上裝置兩個無方向性的麥克風,注意是在眼鏡上而不是在耳朵裡,所以錄製的時候會包含 ILD、ITD,也因為他的頭在那,也會包括不同頻率正確的 ILD,但是 spectrum difference 並沒有被錄製進去。他認為這樣的錄製結果用喇叭播放的時候,效果就很好了,他也有賣用類似技巧錄下來的測試 CD。我對這邊其實有點疑惑,因為我們自己的耳朵和自己的頭會提供完整的 ILD、ITD 啊,為什麼 spectral difference ,要用自己的耳朵達成,但是前兩者卻是錄音的時候就要有呢?我可能要繼續研讀 Linkwitz 的網站來理解他的想法。

無論如何,ORTF 錄音搭配 Linkwitz 設計的全頻場型固定的喇叭,似乎已經能達成喇叭在房間裏面消失,就像在現場開了一扇大窗戶一樣,這是 The Audio Critic 的評語

PS. ORTF 部份是我的猜想,因為 Linkwitz 對於很多歐洲網路古典音樂電台的錄音頗滿意,也在我開頭提到的文章中說明某種 XY 錄音是後續調音的 baseline (他並沒有嚴格區分 XY/ORTF )。

2013年9月22日 星期日

用 Raspberry Pi 聽音樂

之前灌的  RaspBMC 當然也能播放音樂,但是每次要聽音樂都要打開電視實在不太方便,加上電視的音質其實不如我那便宜的 UCA-202 好,總希望聲音能從  USB 音效卡出來。

之前嚐試使用 RaspBMC 仍在測試中的 AudioEngine,能順利地用 USB DAC 播放音樂,但是有兩個問題。第一是播放外接硬碟裏面的影片時,影音會不同步,而且每次都要重新設定聲音的 offset,並不會被記憶住。第二個問題比較嚴重,即時播放線上影片的時候,會造成整個沒有進度!第三個小困擾是沒有任何 EQ ,無法修正我家小客廳的聲音。

偶然之間遇到了 RaspyFi,這是一個以輕量化 Debian 運行 Music Player Daemon (MPD) 的 distribution,主打是支援大多數的 USB DAC,甚至是非同步和 24bit/192kHz 的 DAC。使用方法很簡單,先把 image 抓下來後,用 Win32DiskImager 燒進去一張 4G 以上的 SD 卡就行了。現在的 v1.0 也比之前的 1.0 beta 好用很多,不用任何設定就會抓到你整個外接硬碟上面的音樂,讓你可以用各種方式選取樂曲編成 Play List,輕鬆的播放。

不過, MPD 需要其他的 mpd client 來控制,Windows 的機器上我是用 gnome music player client , Android 手機上我是用 MPDroid,後者無法讀取 cue 的曲目資料,我都是用前者先設定好 play list,已經加到 play list 裡面的 cue 曲目後者還是可以撥放的。RaspyFi v1.0 更是加上了網頁介面,讓很多東西都變得非常容易。

唯一要注意的是 RaspyFi 只接受 ssh 進去關機,務必記得下面指令:


於是我快樂的過著換 SD 卡的生活,要看影片或是下載 torrent 就換到 RaspBMC 那張 SD 卡,要聽音樂就換到 RaspyFi 的 SD 卡。


使用一陣子之後就開始手癢想加上 EQ,最早只是想加上一個全域的 ALSAEQ,但是沒搞定。後來按照 Richard's Staff 上面 software cross over 的方式,用 ecasound 加上 PEQ,也算是替 DIY 喇叭的目標 Linkwitz Pluto 做準備。

第一步是安裝 ecasound 還有相關的 LADSPA plugin


然後我安裝了 Richard 撰寫的 RT-plugins,下載之後我用 filezilla 的 sftp 功能把檔案上傳到 RaspyFi 上面,安裝 gcc 後,編譯並安裝 RT-plugins (檔案以 0.0.3 為例)


要測試到目前為止正確安裝,可以上傳一段聲音檔到 RaspyFi 上面之後執行


第一行是把 mpd 關掉避免兩者搶音效卡,後者單純的就是用 ecasound 播放聲音。
聲音如果有正確出來的話,我們就可以來試試看 RT-plugins 的效果


這是把原先的聲音加上一個 Linkwitz-Riley 四階低通濾波器,設定在 1500Hz。這樣的聲音聽起來應該是大提琴、低音鼓、Bass 之類的樂器都不見了,人聲也會變的很薄。如果你有聽到這樣的效果的話,那 ecasound 和這些 plugin 都沒問題了!

接下來我們要把 mpd 輸出的聲音都透過 ecasound 加上我們想要的 plugin,但是不幸的 RaspyFi 預設的 mpd 並不提供這樣的功能,按照 RaspyFi 早期公佈的資料,我們可以自己重新編譯 mpd。首先要補上的是 git 和 g++,下載 mpd 之後先自動偵測目前系統的設定,再加上我們需要的 --enable-pipe-output。


這時候我的系統上跑出來的資訊是


確定你想要的功能都有了之後就可以編譯並安裝了,但這次的編譯會很花時間歐。


我的作法是把舊有的 mpd 執行檔改名為 mpd.old,這樣要是什麼你需要的功能不見了,還有機會比較並調整上面編譯的參數。

最後,就是用老朋友 nano 調整 /etc/mpd.conf 了!先把原先的 alsa output 全部用 # 註解掉,並加上下面這樣的設定,我這裡摹仿 Richard 的作法把 PEQ 寫在另外一個叫作 pre.ecp 的檔案裡,並把這個檔案放到 /etc/ 裏面去。

用 \ 分開的那兩行必須是同一行,最後的 -f:16,2,44100,表示我用雙聲道 16bit/44.1kHz 輸出,這部份請根據你自己的 DAC 調整。

Richard 網頁上 pre.ecp 的範例是做一個簡單的 PEQ cut 來消除某個特定的房間共振,內容是


這是一個 -8.5dB, Q=2.6,頻率在 82Hz 的 PEQ, 如果有多個房間共振,就會使用多個 PEQ 來消除他們 (有時候則是強化被消掉的頻率,這時候 dB 那欄就會是正的)。

至於房間共振要怎找?一個最簡單的辦法就是自己用聽的,我嚐試用 Expression Tone Generator 自己聽過一次,實在很不容易。相對有效的辦法就是用一個頻率響應相對平坦的麥克風,加上免費軟體 REW 用量的。這個軟體量測好之後會有圖形幫手來幫你找到每個 PEQ 的設定。

如果用的是無指向性又有校正檔的專用量測麥克風,效果當然更好,像是 MiniDSP UMIK-1,這是一支有個別量測檔的 USB 麥克風。

2013年8月25日 星期日

訊號線、喇叭線、和 DI Box

偶然間在 Empirical Audio 看到這篇討論訊號線和喇叭線的文章,學理紮實。那些用傳輸線阻抗匹配概念解釋線材的文章,我其實一直無法理解。因為在 20kHz 的時候電波波長達  1.5 公里,因此以任何使用環境,我們都不可能看到電波效應。這篇文章就講的很明白,線材的串聯電感還有並聯電容,才是會影響聲音的問題!這是不考慮電波的純電路模型!

連接兩個系統的時候,必定要前面的輸出阻抗 Rout 小、後面的輸入阻抗 Rin 大,這樣才能避免兩個系統各自的頻率響應因為 loading effect 而有很大的改變,也有人用阻抗匹配描述這個配置,但是要小心區分這和電波傳輸線阻抗匹配消除反射,是完全不同的概念!Rin/Rout 也被命名為阻尼係數 (Damping Factor),這個數字越大越好。

當後面接喇叭這種低阻抗負載的時候,串接電感和負載形成了 LR 低通電路,而串接電感值是隨著線的長度而增加的!所以喇叭線不宜過長,否則高頻會被衰減。如果進一步考慮喇叭線因為導線的損耗造成的串聯電阻,那又細又長的導線,也會因為串聯電阻過大,使得阻尼係數變小,導致電路性能改變。

也有些人會提到 skin depth,這是一個電磁學常用的參數,也是頻率的函數,網路上就有工具可以計算。舉例來講,銅導線在 20kHz 的時候 skin depth 是 145um,但是在 20Hz 的時候這個數字高達 4.6mm!Skin depth 的另外一個重點是,電流只流在導體外圍 skin depth 深的地方內,因此對於高頻訊號 (像是 GHz/MHz 級的訊號),過度的加粗導線是沒有意義的。

但是這個電波效應對於喇叭線真的有影響嘛?我們可以看看 AWG 表上的數字來討論。11 AWG 的銅導線,串接電阻只有 4.132 mOhm/m!就算喇叭線用到十公尺長,總共的等效電阻才 0.041 歐母,這數字小於標準 8 歐母的喇叭阻抗 200 倍!就算在高頻的時候損耗比較小,直接假設最誇張的高頻無損好了,那線阻的變化也只有 0.041 歐母,高低頻的音量變化也才 20*log(1.005/1) = 0.043 dB,這絕對是聽不出來的差異。

Empirical Audio 的文章計算了 11 AWG 雙股線長度對於訊號相位的影響,假設喇叭阻抗是 3 歐母、後級輸出阻抗 0.2 歐母,結論是在 20kHz 的時候八公尺長的線可以造成十度的相位變化。那麼,怎樣的線才會比較好呢?網路上就有可以計算串接電感的網頁!玩一下就會發現,直徑影響單導線的串接電感值很小。但是改成雙股線則可以直接降低兩倍左右!

這也符合電路直覺,並聯使用多個電感,則總感值是單一感值除以並聯數量,因此喇叭線的設計原則就是在維持總金屬截面積的情況下,儘量把線拆成多股。生活中最容易拿到的多股線就是乙太網路線!內含四對線,每條截面積是 0.205 mm^2,如果把四對八條全部接在一起,那總結面積相當於 AWG 15 的線,串接電阻是 10.45mOhm/m。

因為把一條拆成八條,因此串接電感約只有原先的八分之一,因此最大長度可以有原先的八倍,這時候長度可以達到 64 公尺。但是還要考慮 damping factor。他們假設的系統  damping factor = 3/0.2 = 15。如果容許 damping factor 因為串接電阻降低到 8 的話,則可容許串接電阻是 3/8 - 0.2 = 0.175 歐母,那可容許的線長度為 0.175/0.01045 = 16.7 公尺。

如果喇叭是 8 歐母的話,那可就完全不一樣了, Damping factor 的考量是 8/8 - 0.2 = 0.8,0.8/0.01045 = 76.5 公尺。串接電感的考量是 64*8/3=85公尺。

再加上安全係數兩倍,用乙太網路線當喇叭線,接八歐母喇叭則可以到 38 公尺長,damping factor 和 LR 低通造成的長度相當。如果接三歐母的喇叭,則長度只能到 8 公尺左右,主要考量是 damping factor。我假設一個喇叭使用兩條乙太網路線,一條接正級一條接負極。


講完喇叭線,來講訊號線。

訊號線後面的器材,輸入阻抗至少是 kOhm 級數,因此線的串接電阻對於 damping factor 的影響直接不用考慮。也因為這樣因素,串接電感造成的阻抗,也會遠小於下一級的輸入阻抗,剛剛討論的 LR 低通電路,也不用考慮。

新的問題是,前一級的輸出阻抗和線的並聯電感,形成一個 RC 低通電路。當訊號來源是像電吉他這種高阻抗器材的時候,這個問題會非常嚴重。因為問題很嚴重,所以早就被徹底討論了,網路上都可以找到計算機。解決方法是降低訊號來源的輸出阻抗,和降低線的並聯電容。像是 CAD e-70 這隻 small diaphragm condenser microphone,輸出阻抗僅有 85 歐母。如果使用高品質 XLR 訊號線,像是 Mogami W2525,則並聯電容只有 10pF/m。把這兩個數字丟進去剛剛那個計算機,得到的 20kHz 3dB cutoff 長度是 9362公尺!

這表示在 9362 公尺的時候 20kHz 會比低頻小 3dB,這是聽的到的差異。簡單的估計可以直接除以 10,這時候相位變化大約是六度,很明顯的用這樣的組合線多長都沒有差,畢竟實用上應該不可能達到 936公尺這麼遠。如果換成標準輸出阻抗 600 歐母,用非平衡線 W2792,那 3dB 長度只剩下 97 公尺!相位六度變化的長度是十公尺左右,加上安全係數兩倍,五公尺的線長在實用上就很受限制了。

這時候就該 DI Box 上場了。DI Box 不只轉換阻抗,更是把非平衡訊號轉成平衡訊號,而平衡訊號是 XLR 線之所以並聯電容很小的原因。再看一次 Mogami W2525,他有標示 C1 和 C0,前者是 10pF/m,後者是 90pF/m。如果我們今天把 XLR 線用非平衡的方式操作,則並聯電容是兩者相加,馬上損失十倍的可用長度!而平衡線的電容值也可以差很多,像 GLS 的 TIS cable,電容是 38pF/m。

原則是,所有訊號線都使用平衡線 (XLR 最好)。遇到非平衡且高阻抗的訊源,那就要使用 DI Box 降低阻抗並轉換成平衡訊號,非平衡的部份愈短愈好。不過,像 Behringer DI100 也才把輸出阻抗轉換成 600 ohm,使用 XLR 線材則可用長度是 66 公尺左右。

但是降低阻抗之後訊號的電壓也會隨之變小,因此後端通常接的是有 pre Amp 的 XLR 接口。那 Line in 接口是怎樣呢?以 Behringer Mixer 的 AUX out 規格來看,則是 TIS 接頭 240 歐母平衡輸出,配上 38pF/m 的 TIS 平衡線,實際可用長度也是有 43 公尺。由此可知,麥克風走 XLR 有 pre Amp,是因為電壓小,而且線可能需要很長,像是從舞台上方垂吊收 Over Head。至於 line level,走平衡 TIS 應該就夠了。

2013年7月3日 星期三

Raspberry Pi - 續2

首先,要更正一下之前的文章,/etc/fstab 裏面增加外接硬碟的時候,並不需要 noatime。另外是停止 transmission daemon, samba, xbmc 都可以用以下指令,stop可以換成 start/restart:



在網路上搜尋資料之後發現,NTFS 在 linux 上面是跑不快的,所以我把外接硬碟重新 format 成 ext4 後,最高速度大概可以跑出 8MB/sec,用無線網路的話我測起來速度最快只有 5MB/sec 左右,要速度還是要有線的乙太網路啊。當然還不是非常理想的 NAS,畢竟 USB 2.0 外接硬碟通常有逼近 30MB/sec ,更不要說新一代的 USB 3.0,但總算能用了。

另外一個有趣的東西是 USB 音效卡。最新版本的 RaspBMC 居然外接音效卡的功能失效,必須要改用 nightly 版本早於 20130503 的才行。改成 nightly 之後,在raspbmc settings -> System Configuration -> 打開 Audio Engine。之後就可以在 System Settings -> Audio 裏面選擇 USB 音效卡啦。要注意的事,開啟 Audio Engine 之後 HDMI 音效輸出會不見歐。

我那便宜的 UCA-202 音質的確比起 Sony 電視好,但是聲音會比影像快個一秒左右,雖然 XBMC 裏面的播放軟體可以調整聲音延遲,但是我儲存之後的設定居然下次會沒效,所以每看一段影片我就要一秒一秒一直加上去,短期之內只好先這樣了。

最近還看到關於 Raspberry Pi 針對 USB DAC 的軔體更新,但是 RaspBMC 似乎會自動更新軔體,所以就不管他了。

最後要注意的是,Pi 最好不要用拔電源的方式關機,記憶卡很容易磁碟系統錯誤,就算 xbmc 當掉了 (第一次開啟 Audio Engine 我的 xbmc 就當掉了),可以 ssh 進去之後用上面一開始那個指令重開。

2013年3月31日 星期日

Raspberry Pi - 後續

3/26 的時候 RaspBMC 發表了更新,重開機之後就會自動下載、安裝。不幸的是 samba 的設定居然被改掉了,只好重新設定一下,參考這篇,重設 samba 的設定檔。



首先把 [global] 裏面的 security 從預設的 user 改成 share,然後在檔案最後面加入下面這段文字來設定外接硬碟,這個設定之中可能有些是累贅,不過在我的 Pi 上面這樣設沒問題就是了。



最近的另外一個設定是,用上我朋友做的 youtube 插件中文搜尋!首先去 xbmc-addons-chinese 把中文輸入法抓回來,用 zip 更新的方式安裝起來,之後下載我朋友的 youtube 中文搜尋 patch,檔案下載回來之後放在 $HOME/.xbmc/addons/plugin.video.youtube 裏面,因為 RaspBMC 預設沒有安裝 patch,所以要先安裝。執行以下命令:



之後應該就可以在 youtube 搜尋裏面用中文了!不過簡體中文搜到的東西和繁體會不太一樣,不過總比沒有好多了!

如果要看 wmv 格式的影片,需要去 Pi 的線上商店買一個授權碼,過程線上商店就有說明。


用了這段時間,稍嫌不足的有兩點,第一個是網路速度其實很慢,無論用 samba 或是 ftp 傳檔案,速度大概都只有 1MB/sec,這樣的速度是無法拿來當作 NAS 的,結果就是我很常把 pi 關掉直接把外接硬碟拿來接我的電腦。第二個是按鍵反應有點頓,用內建的超頻有好一點點,但還是無法讓人滿意。

我不敢奢望下一代的產品會直接跳到 USB 3.0,但是希望能有 Gigabit Etherent 和快一點的 CPU。

2013年3月9日 星期六

Raspberry Pi

我原先是用只有 D-sub 接頭的舊筆電作為客廳電視的播放器,Core2 Duo 的 CPU 要軟解 1080p 有點吃力,改用 MPC-HC 硬解之後,解決了電腦過熱降速播放會延遲的問題。不過 D-sub 的畫質還是比較差一點、也希望能用 HDMI 音效直接從電視出來。

Raspberry Pi 因為便宜、有 HDMI,就屏雀中選啦。不過 Raspberry Pi 本身就是那塊板子而已,不帶電源、不含 SD 卡、不含外接硬碟、不含無線網路、不含外接鍵盤滑鼠,不含 miniUSB 線、 HDMI 線、乙太網路線。很多東西我都沒有,因此要先規劃用途、採買零配件。計劃把 Raspberry Pi 作為客廳的電視播放器、動物農場、以及 NAS。以遙控器和滑鼠作為主要輸入方式,所有更新和設定都透過 SSH 完成省了外接鍵盤,使用乙太網路線接到 router 上。

最後我是在 MCM Electronics 買的,透明盒子的版本約一周的時間就送到了。USB hub 一方便擴充連接能力、也提供電源給 Raspberry Pi,我用的是 Amazon 上面特價 $19.99 有 3A 電流的 Plugable。電源充足是非常重要的,特別是當你使用只吃 USB 供電的外接硬碟或是有裝 USB 無線網卡,這兩者最好都是透過有供電的 USB hub 使用,而不要直接接上去 Raspberry Pi 的那兩個 USB port.

因為作為播放器是主要用途,決定安裝 RaspBMC 。過程非常簡單,甚至不用接上鍵盤滑鼠。首先到 RaspBMC 網站上,按照說明下載、安裝軟體,燒錄映像檔到 SD 卡裏面就可以了,資料記得先備份,不然會全部不見。

把 Raspberry Pi 先插上這張 SD 卡、接上 HDMI 線、用乙太網路線連接到有 DHCP 的 router,最後接上 miniUSB 電源,等上一小時左右就灌好了。如果你的電視有 CEC 又用有雙向能力的 HDMI 線,這時候在電視的設定上面找一找,應該就可以用電視遙控器控制 Raspberry Pi 了。

XBMC 的介面蠻簡單直接的,隨便按按大概就能了解怎麼用,如果不小心把遙控器的功能關掉了,插上 USB 滑鼠,去 system - input device - peripherals,把 CEC 打開就行了。有了電視盒當然要善用優酷上面數量眾多的美劇,這去 xbmc-addons-chinese 下載 zip 檔回來,system - add-ons - install from zip file,就可以把他們裝上去,之後在 videos - add-ons - Get more 就會看到中文的網站了。xbmc-addons-chinese 上面也有射手網的字幕插件,好用的勒。

要控制 Raspberry Pi、傳檔案,預設就有 ftp 和 samba。SSH 和 ftp 的預設帳號密碼是 pi/raspberry,SSH 進去之後可以用 passwd 修改密碼。不過我 laptop 上面 win7 pro 的 NetBIOS 怪怪的,我沒辦法測試 samba 的檔案分享...

要抓 BT 就需要設定比較多東西了,我是參考這份文件,以下是各個步驟。
  • 把外接硬碟每次開機 mount 到一個固定的位置

    先設好之後要 mount 的資料夾,然後找到外接硬碟的 UUID,通常 sda1 會是你的外接硬碟,再新增以下這行到 /etc/fstab,???? 是你外接硬碟的 UUID、位置和之前新創的資料夾一樣、檔案格式則是這顆外接硬碟的格式,用 tab 換列。
    重開機之後應該會就自動抓到外接硬碟放到這個位置上。
  • 安裝設定 transmission

  • 把裏面的 download-dir 改到外接硬碟上、把 cache-size-mb 調大來降低大量讀寫對硬碟的傷害、把rpc-authentication-required、rpc-whitelist-enabled 這兩個改為 false。我在 windows 上面有用 PeerBlock,因此在 Raspberry Pi 上面也想設定 blocklist,方法很簡單,在 settings.json 裏面把  blocklist-enable 改成 true、blocklist-url 則是:
  • 然後設定適當的權限

  • 這樣應該就可以在網址列打上 IP:9091 開始上載 torrent  讓他抓檔案了。 


以上是我的設定過程,目前無法播放  wmv 檔案,另外是內含 Subs 目錄的 mkv 檔會導致 XBMC 當掉,解決辦法是不要用裏面的 rar 字幕,把他刪掉就行了。這似乎是一個很新的 bug,而且是 RaspBMC 特有,不是 XBMC 整體的問題。我目前都是把抓下來的字幕全部刪掉,改用射手網的字幕。

2013年3月2日 星期六

備份規劃

今天因為腳鉤到電源線,把放 raw 檔那顆硬碟在運轉中從桌面摔到地毯上,聽到有怪聲、運轉不順、關電重開就抓不到硬碟了。這樣的受傷方式,花大錢也不一定拿的出來,加上筆電裏面還有大多數整理之後的小圖,就讓他這樣去吧。

raw 檔體積真的很大,要備份全部實在不太可行,重新規劃備份的計劃如下:
  1. 系統備份
    這是對付中毒、軟硬體變更、故障用的。原廠光碟從硬碟燒成 DVD 放紙袋,每三個月用 windows 的備份功能對整台電腦備份。
  2. 重要資料備份
    這部份包括研究用的資料,以及處理過的 jpeg 檔。這些資料應該要電腦裏面一份、家裡的外接硬碟裏面也一份。這顆外接硬碟以容量大、便宜為主要考量,反正每週只有備份的時候會用到它,速度和穩定性只要有一般水準就好。

    重要的是整台電腦的備份和重要資料的備份,要放不同的外接硬碟。這樣同樣的資料,就會有兩套備份,雖然以資料的角度,三個月跟著系統備份,時間間隔有點太久了,但總是比沒有好。
  3. Raw 檔
    這些檔案體積肥大,放在筆電裏面太浪費空間,以 2.5寸不需要電源的外接硬碟存放。希望避震、傳檔速度都要有一定的表現。

    考慮整台電腦的系統備份也放在這顆硬碟。
  4. 資料封存
    重要的資料,如已經完成的 project、處理好的照片,應該要燒成 DVD 放紙袋封存。

自從弄了 Raspberry Pi 之後,也想把他外接硬碟、弄成 NAS 的功能來抓 BT,那顆硬碟裏面的資料就以不見了也沒差的為主,重要的資料還是要移到電腦裏面、備份、封存。

2013年2月4日 星期一

NX 18-55mm/f3.5-5.6 OIS 回顧 展望

早上花了點時間  把自己在 flickr 上近 1400 張的照片掃過一輪。那顆我最近幾乎完全沒在用的 18-55mm/f3.5-5.6 OIS,大白天的時候其實還不錯用啦,不該把他冰起來的。


Processed with LR3 
White Sands National Monument, NX10 + NX 18-55mm/f3.5-5.6 OIS @ 18mm


無標題 
From Spokane to Portland, NX10 + NX 18-55mm/f3.5-5.6 OIS @ 18mm


Half Dome
Half Dome in Yosemite National Park, NX10 + NX 18-55mm/f3.5-5.6 OIS @ 18mm

無標題
Austin, TX 2012 下雪,NX10 + NX 18-55mm/f3.5-5.6 OIS @ 18mm



18mm 的透視在近拍的時候也很有趣,也印證了廣角鏡邊緣的次要焦點可以被裁切而不會影響整體畫面感受 。

無標題
New Orleans, NX10 + NX 18-55mm/f3.5-5.6 OIS @ 18mm

偶爾會有些 55mm的照片,像是:

SAM_6960
Bridal Veil Water fall in Yosemite National park, NX10 + NX 18-55mm/f3.5-5.6 OIS @ 55mm


SAM_6569
Lady Bird Lake at Austin, NX10 + NX 18-55mm/f3.5-5.6 OIS @ 55mm

標準變焦鏡除了這兩個極端視角,中間焦段的照片其實屈指可數,這表示我對於中間焦段不夠用心,腳動變焦之外,焦段的轉換會帶來視覺上的壓縮和擴張,應該要練習運用這種效果來控制前後景和主題的關係。

除了該習慣在大晴天帶標準變焦出門,練習多轉轉變焦環之外。我最近的主要問題應該是生活太懶散,沒有找活動出門拍照。風景拍多了,想拍些偏紀實或是人文的東西,在這邊找不到題材啊。這是回台灣一大動力,可以帶相機出門掃街...(笑)


除了搜尋器材評比心得,還是該讀讀書、思考一下攝影理論,看看優秀的圖文作品,這才是進步的泉源。

http://www.wretch.cc/blog/DUpisces
http://www.wretch.cc/blog/apophoto


最重要的,練習隨時帶著相機。