在 iOS 上不使用 Facebook App 時要完全砍掉 process

在「The Background Data and Battery Usage of Facebook’s iOS App」這邊提到 Facebook AppiOS 上使用了非常吃電的技巧來強制背景更新。

作者猜測,如果你把 Facebook App 設定成不允許背景更新,那麼 Facebook App 會利用 iOS 在「播放音樂」可以在背景執行來進行更新:(所以只是打開播放的 channel,但是沒有聲音)

My guess is that Facebook is hijacking audio sessions on iOS by keeping silent audio in the background whenever a video plays in the app. And because, by default, videos on Facebook auto-play on both Wi-Fi and Cellular and few people ever bother to turn it off, that means there's a high chance the Facebook app will always find a way to play a video, keep audio in the background, and consume energy to perform background tasks.

而且有些人也發現了類似的現象:

I'm not alone in noticing the mysterious "Facebook audio" background consumption, and video auto-play seems to me the most likely explanation at this point. I don't know if turning off auto-play may fix the problem, but I'd recommend doing that anyway to save data.

印象中我們家的 zonble 也有提過類似的事情,當時他好像還有抱怨不知道 Facebook App 在搞什麼鬼... Anyway,這就可以理解作者提到為什麼這麼吃電:

On my girlfriend's iPhone, for instance, iOS 9 reports 5 hours of on-screen usage for the last 7 days, and another 11 hours of background audio usage with Background App Refresh turned off.

我的想法是,如果不用的時候就按兩下 home 鍵把 Facebook App 整個踢出去,或者就如同作者建議用 Safari 開行動版本:

I wonder if Apple should consider additional battery controls to take action against shady practices like invisible background audio. What Facebook is doing shows a deep lack of respect for iOS users. I continue to recommend using Safari instead.

Benchmark DAC2 HGC 在 Ubuntu 14.04 LTS 下使用 USB 沒有聲音的問題

記得剛買來的時候是有聲音的,後來突然有一天沒聲音... 試了一堆方法都沒用 (換 kernel 版本、禁用 xHCI、換 USB 線、...),最後是在「Benchmark DAC2 HGC impressions (and Linux setup notes)」這邊看到方法。

這邊有幾個重點:

DAC2's USB 1.0 mode doesn't work with Linux kernel 3.8.x, but USB 2.0 does. So switch it to USB 2.0 and forget about it. Next, I figured that the audio was simply being muted in some instances. The solution is to open a terminal window, run AlsaMixer, hit F6 to configure the DAC 2. Even though their levels cannot be altered (they're fixed at 00), the first two items must be unmuted in order to get any sound:

如同文章裡說的,USB 1.0 模式 (會抓到「Benchmark DAC2 USB Audio 1.0」) 是不會動的,而 USB 2.0 可以 (會抓到「Benchmark DAC2 USB Audio 2.0」),但播放時沒有聲音。

解法則是使用 alsamixer,進入後按 F6 選 Benchmark DAC2,將前面兩個用 m 給 unmute 掉就好了:

為此學到一堆底層看 USB 的工具...

Windows 10 將會支援 MKV 與 FLAC 格式

lag 了一陣子的消息,Slashdot 上看到 Windows 10 將會支援 MKVFLAC 格式:「Windows 10 To Feature Native Support For MKV and FLAC」。

出自這則 Tweet:

最先支援的還是 FLAC,隔壁的 TTAWavPack 就比較苦命了...

2014 年 re:Invent 的投影片、影片、錄音

一年一度的 AWS re:Invent 的投影片、影片、錄音檔放出來了:「Now Online - Audio, Video, and Presentations from re:Invent 2014」。

看影片與錄音會比較花時間,從投影片看會是不錯的方法。在 SlideShare 的「reinvent2014」這邊有官方放出的投影片。

量相當多,之後再來挑有興趣的題目來翻。

44.1kHz 的由來...

在「Explanation of 44.1 kHz CD sampling rate」這邊看到 44.1kHz 的解釋...

這個數字反而是跟 video 有關而設計出來的:

In 60 Hz video, there are 35 blanked lines, leaving 490 lines per frame or 245 lines per field, so the sampling rate is given by :

60 X 245 X 3 = 44.1 KHz

In 50 Hz video, there are 37 lines of blanking, leaving 588 active lines per frame, or 294 per field, so the same sampling rate is given by

50 X 294 X3 = 44.1 Khz.

而後來 44.1kHz 被拿去 CD 規格裡使用而被廣泛應用...

Opus 1.1 釋出...

Opus 是個 royalty-free 的 audio codec,據官方說法是個多用途的 codec (而且表現都很好):

前幾天 Opus 終於釋出 1.1 版 (1.0 版已經是一年前的事情):「Opus 1.1 Released」。

這個版本在 ARM 上的效能大幅提昇 (包括了壓縮與解壓縮),很明顯是針對行動裝置的改善:「[opus] Opus 1.1 released」。

不過好像都沒看到 bitrate 夠高時的比較...

Xiph 講數位訊號...

Xiph 是個網路多媒體相關的 open source 組織,前陣子放了教學影片,介紹多媒體的理論:「Xiph.org: Video」,目前每一集都大約半小時,可以下載下來或是直接在網站上看。

第一課「Episode 1: A Digital Media Primer for Geeks」從數位訊號開始講,包括影像與聲音。第二課「Episode 2: Digital Show & Tell」則是介紹聲音的部份 (包括數位與類比)。

有興趣可以去看看 :p

把 Raspberry Pi 當作 AirPlay 裝置放音樂...

Raspberry Pi 模擬成為 AirPlay 裝置,再外接喇叭:「Hacking a Raspberry Pi into a wireless airplay speaker」。

用到 ShairPort (模擬 AirPort Express 的軟體),而 ShairPort 目前只支援聲音的部份,所以現在只能接喇叭... 有人實做影像的時候應該就會有人把 HDMI 接上去了 :p

Wine 玩 Diablo III 音樂會頓的問題...

這幾天用 WineDiablo III,有時聲音會狂 lag,關掉 Diablo III 後重跑還是一樣,要重開機才會恢復...

仔細看 Wine 丟出來的訊息,發現訊息內有給這個網頁:「winepulse in ubuntu wine ppa」,其中提到 1.5.3 以後的 ppa 版本 (寫這篇文章的時候是 1.5.4) 可以在啟動 Wine 時加上環境變數 WINENOPULSE=1 解決聲音的問題。

目前測起來是正常了,不知道還會不會有其他問題要解...