2017年9月22日 星期五

foobar2000使用usb dac播放音樂

因為最近買了KECES的DA151MK3,想研究一下怎樣的設置才能得到最好的效果。

軟體需求
  • Windows 7以後的作業系統(其實是Vista以後,但是誰還用Vista?)
  • foobar2000最新版
  • WASAPI plugin
foobar2000的設置說明
  1. 在Preference/Playback/Output/Device裡選擇『WASAPI (event):喇叭 (USB DAC)』。選擇DS (Direct Sound) 的話有可能會受Windows Mixer與Resampler影響,而WASAPI則是直接輸出未更動的位元流給USB DAC。WASAPI支援兩種模式:push跟event,音效裝置可能只支援其中一種方式,大多數裝置都支援event,如果不支援再改用push,可參考WASAPI plugin的文件
  2. 下面的Output data format要依照硬體規格設置,否則會出現無法播放,格式不支援的錯誤。以DA151MK3為例,最大支援到16-bit。至於Dither是否要啟用,如果播放的音樂需要轉換,如24-bit->16-bit則可以開啟,但是HydrogenAudio的Wiki上則認為,大多數人其實聽不出來差異,是否需要開啟則是依照喜好決定。
  3. 在Playback/DSP Manager/Active DSPs裡,如果播放的音樂檔案格式硬體不支援,則需要啟用Resampler做轉換。以DA151MK3為例,播放格式為24bit/96kHz的檔案,就需要使用Resampler並設置為44或48kHz,否則同樣會出現音訊裝置無法支援的問題。以內建的Resampler來說,SSRC的品質比較好但是硬體需求較高,PPHS雖然比不上SSRC但是也比Windows的Resampler好太多。這部份也是依照喜好決定。如果不須轉換則無須使用,減少Resampler所帶來的影響。

2017年8月24日 星期四

[筆記] 從docker轉換到rkt

※下文完全是個人筆記,不保證其正確性與完整性。 

docker images -> rkt image list 

docker pull -> rkt fetch
example: rkt --insecure-options=image fetch docker://nodered/node-red-docker
如果要指定tag可以用 name:tag 的格式,如 rkt --insecure-options=image fetch docker://ubuntu:16.04

docker run -> rkt run
example: rkt run --port=1880-tcp:1880 registry-1.docker.io/nodered/node-red-docker:latest
在docker上,如果要做容器到主機的埠對應,是用-p HOSTPORT:EXPOSE,rkt的話則是看EXPOSE的設置加上通訊協定,像nodered使用tcp 1880,就會寫成--port=1880-tcp:1880,格式是--port=EXPOSE-PROTOCOL:HOSTPORT。

docker run -d -> systemd-run --slice=machine rkt run
example: systemd-run --slice=machine rkt run --port=1880-tcp:1880 registry-1.docker.io/nodered/node-red-docker:latest
因為rkt沒有實做daemon管理,沒辦法像docker一樣把服務放到背景執行,須使用作業系統的init daemon來管理。對於一般的開發者來說學習的成本比較高,但對於系統管理者來說有著穩定、易於管理與一致性的優點。如果要為執行的服務命名,而不是使用自動產生的名字,可加上--unit參數。如systemd-run --slice=machine --unit=nodered rkt run --port=1880-tcp:1880 registry-1.docker.io/nodered/node-red-docker:latest

docker ps -> machinectl list
在Ubuntu上要先安裝systemd-container才會有machinectl這個指令。有個奇怪的情況,安裝完後執行的pod才會列出,安裝前已經執行的pod不會列出。

docker ps -a -> rkt list

docker rm -> rkt rm
example: rkt rm e77323df
rm後面帶的是UUID,可以從rkt list看到。rkt的rm會把pod徹底刪除,不像docker只是從列表上隱藏。

docker stop -> rkt stop
example: rkt stop e77323df
stop後面帶的是UUID,可以從rkt list看到。

docker exec -> rkt enter
example: rkt enter  e77323df /bin/bash

Q: 在rkt list看到已經啟動過的pod,可以像docker start一樣的方式再次啟動嘛?
A: 目前沒有實做此功能,但有考慮 issue:2087

Q: 在pod裡頭掛載host的目錄?
A: 使用--volume與--mount,參考
example: rkt run --port=1880-tcp:1880 --volume data,kind=host,source=/tmp/123,readOnly=false --mount volume=data,target=/tmp/123 registry-1.docker.io/nodered/node-red-docker:latest
先用volume export一個目錄給pod,然後再用mount把volume掛載到特定目錄

2017年8月23日 星期三

為什麼PS4下載遊戲這麼慢?(以及可能的改善方式

原文:https://www.snellman.net/blog/archive/2017-08-19-slow-ps4-downloads/
很多PS4玩家都有一個疑惑,為什麼從PSN下載遊戲超慢,但是使用Local Proxy卻會變快?有人對此做了實驗,得到以下結論:
  •  作業系統本身會依照正在執行的遊戲或APP調整網路細部設置,這些調整只針對PSN下載,最少會慢5倍,最多會慢100倍,不管那些程式是跑在前景或背景都一樣。
  • 休眠模式是否會全速下載要看是否在休眠時關閉遊戲與APP。
  • 在下載PSN遊戲時關閉所有執行的程式,能夠確保系統以最高速度下載。但是PS4的界面不太容易讓使用者確認哪些程式跑在背景裡。
使用Local Proxy會變快的原因,是因為被調整的網路設置其中一項變數就是網路延遲,延遲越低下載越快。速度的調整當然是有意為之的,目的是避免PSN下載影響遊戲或APP。但是作者也挑明說SONY的作法很爛,而且都已經四年了居然沒有任何改善。

2017年8月16日 星期三

更新到Firefox 55反而變慢的情況

如果更新到Firefox 55之後出現開網頁停滯或變慢的情況,試試調整『偏好設定/一般』的效能選項,預設是使用推薦的效能設定,建議關閉並修改內容處理數量限制跟CPU核心數一致,如果是4核心CPU就選4。

2017年7月25日 星期二

UPS抱怨文(?)

前陣子週末午後下大雷雨時,我家連續跳電兩次。我有三台UPS,兩台是CyberPower CP1000AVRLCD,分別由兩套PC連接著。另一台是APC BC1100U-TW,只跟NAS接在一起。連續跳電兩次後,CyberPower還是正常運作,但是APC就當機了,蜂鳴器還發出了非常大的聲音,最後只能拆電池電源接頭才停止。

後來市電恢復後,重新把APC接上,還是能夠運作,但是發現APC運作時產生的廢熱溫度很高,CyperPower就只是溫溫的而已,真怪。