分類
软件

Mozilla 的開源文字轉語音庫

Mozilla 的這款開源的文字轉語音 TTS(Text-to-Speech)引擎,是一個用於生成高級文本到語音的庫。它建立在最新的研究基礎上,旨在實現訓練的簡易性、速度和質量之間的最佳權衡。它帶有預訓練的模型和測量數據集質量的工具,已經在 20 多種語言的產品和研究項目中使用。

一些體驗:

  • 雖然我在 Python 3.9 下運行沒有任何問題,但是爲了少出問題,最好是用 3.6。
  • 安裝完所有依賴,虛擬環境的文件夾達到 3.1 GB,自帶的英文模型 107 MB,下載的中文模型 654 MB。
  • 我電腦沒有 GPU,生成一句話大概耗時 6 秒左右。
  • 項目自帶了一個 TTS 服務器,直接運行 tts-server 就可以在網頁上體驗 TTS。
  • TTS 有時候(尤其是中文)會抽風。(後來發現是文本沒有加句號導致的)

兩個示例:

The human voice is the most perfect instrument of all.

我們的祖國是花園

如果想要把語音轉換成文字可以使用Mozilla的開源語音轉文字庫DeepSpeech

本文更新於 2022/04/15。

分類
软件

使用 Send Reduced 來減小圖片大小

Send Reduced 雖然只有區區 52 KB,但是卻有兩個非常好用的功能——壓縮照片和清理 Exif 數據。現在安卓手機照片越來越大,動輒一張照片就八九 MB,但是選擇 85% 的壓縮比壓縮後,圖片大小就只剩下六百多KB,肉眼也沒有可見的畫質損失,很適合發送給聯繫人和社交媒體。

不過也有一個小小缺陷,就是壓縮後的最大尺寸是個選項列表,最大的選擇是 2560,如果你一定要選擇大於此尺寸的圖片,就不能用它不行了。

分類
软件

搜索引擎

Ecosia

Ecosia 是一個總部位於德國柏林的搜索引擎,他們將至少80%的利潤捐贈給非營利組織,用於在全球範圍內種植當地原生樹木。Ecosia 是 B Lab 認證的公益企業。他們宣稱實踐了碳吸收,使用再生能源為伺服器供能,保持財務透明,還保護用戶的隱私。

我試用了兩天,感覺還不錯,也安裝了他們的火狐插件,打算繼續使用。它的結果是從 Bing 返回的,一般資訊也都能順利找到,由於 Bing 很懂中國,所以它不會把維基百科的鏈接放在前面。順帶一提,同是使用 Bing 搜索結果的 DuckDuckGo 最近又可以直接訪問了。

searx

searx 是一款元搜索引擎(對其他搜索引擎的結果進行處理後返回結果),這樣其他搜索引擎便不易獲得搜索者的個人隱私。如果不想自己搭建,也有很多在線實例可供選擇。

在沒有遇到 Ecosia 之前,有用過一段時間 searx,搜索結果質量不是很穩定,但還是可以作爲一個不錯的備選的。它有兩個特點挺好的,一個是如果搜索到的頁面已經被互聯網檔案館所保存,則可以去看存檔的網頁;另一個是對於維基百科詞條可以在搜索頁就展示概覽。

Startpage

Startpage 在過去很長一段時間裏都是我的首選搜索引擎,它最大的特定就是保護用戶隱私。由於它的搜索結果來自谷歌,所以搜索質量幾乎等同谷歌。但是後來它不能從中國直接訪問了。


如果有興趣,可以讀下這篇關於搜索引擎的文章:A look at search engines with their own indexes

分類
软件

在線翻譯

除了谷歌翻譯之外,DeepL 翻譯器(註:2021-07-03日發現無法直接訪問了)也是一個不錯的選擇。

但是我今天發現了另一個在線翻譯——LibreTranslate。下面是一些英文翻中文的測試:

English中文
I like you主席先生
Do you like me??
What a lovely day, I hope the good weather continues.我的那一天爱好一天,我希望那里的天气继续发生。
I have never used such a stupid translator!我从未使用这种流行病的变压器!

如你所見,用這個 LibreTranslate 翻中文現在就是純搞笑。希望有一天它能學會真正的翻譯吧。最後無論使用哪一款在線翻譯都不能掉以輕心,即使是大廠產品也經常會翻車。

本文更新於 2021/07/03。

分類
软件

心臟異常檢測 Heart Anomaly Detection

藉助手機的麥克風來錄製心跳,然後使用 MananAgarwal 訓練的 Heartbeat-Classifier 模型來判斷心跳是否異常。經過測試,我和 Emanon 的心跳都是正常。我也有嘗試使用其他項目的實驗數據來測試這個模型,對於「二尖瓣迴流」和「主動脈狹窄」的異常心跳都成功的識別了出來。不過它畢竟只是一個人工智能模型,如果有不舒服,還是應該儘早去看醫生。

安裝 Heart Anomaly Detection

這是一個 python3 的 tensorflow 項目。項目本身並不大(9 MB)但依賴大概有 600MB ,所以推薦使用虛擬環境來安裝

#安裝依賴
pip install tensorflow keras librosa 
#下載項目
git clone https://github.com/MananAgarwal/Heartbeat-Classifier.git
#測試運行
cd Heartbeat-Classifier
python testing.py heartbeat-to-classify.wav
#稍等片刻應該會成功輸出
Normal heartbeat
confidence: 0.9638266

使用手機錄製心跳

由於我不是蘋果手機用戶,所以無法推薦和測試適合的錄音應用。但是該模型的訓練數據中有用到蘋果手機(用iStethoscope Pro)錄製的心跳音頻,所以蘋果手機應該也是沒問題的。我的安卓手機使用的是 Audio Recorder,一個開源免費又小巧的錄音軟件(5.6 MB)。設置裏只需要把編碼格式改爲「.wav」,其他的保持不變即可滿足我們的需要。

找到手機的麥克風位置,一般都在手機的底部。找一個相對安靜的地方,點擊開始錄音(爲了避免誤觸屏幕,可以按一下電源鍵把屏幕關閉),把手機的麥克風的位置貼近心臟的位置,按住15秒左右,然後打開手機,停止錄音。我的建議是手機直接接觸皮膚來錄音,可能會獲得更好的音質。但是我給 Emanon 錄音的時候是隔着 T 恤的,倒也沒有影響的測試結果。

錄好的聲音文件默認保存在 /sdcard/Android/data/com.github.axet.audiorecorder/files/recordings 中,可以通過 USB 線或 Material Files 文件管理器將文件傳輸到電腦上。

最後使用上面的測試命令進行檢測,即可得到預測的心率狀態:Normal(正常)或 Abnormal(不正常),以及預測的信心值 confidence。

關於這個預測模型

該模型由博拉理工学院(印度皮拉尼)的 Manan Agarwal 和 Ankita Chakravarty 根據 The Classifying Heart Sounds Challenge 2011的數據集訓練而來。模型的訓練準確度爲 89.73,測試準確率爲 84.04。下面的文字摘自他們的論文說明:

我們的目標是提供一個可靠,快速且低成本的系統,讓未經培訓的一線衛生工作者或任何具有互聯網訪問權限的人都可以使用,以幫助確定是否應該將受試者推薦給專家診斷,尤其是在訪問臨床醫生和專家比較困難的地區。這也將有助於早期診斷心血管疾病,並大大降低這些死亡的潛在危險因素。

分類
软件

使用 TunProxy 給特定安卓應用套 HTTP 代理

由 raise-isayan 開發的 TunProxy 是一個利用安卓 VPN 服務實現的代理配置工具。它可以讓不支持 HTTP 代理的應用的網絡流量走 HTTP 代理。你可以通過 GitHub 的最新源代碼自己生成安裝包,也可以使用我打的包 TunProxy releases。我測試了給VLC,Fennec(Firefox),Your local weather 走代理,三款軟件都良好運行。

TunProxy is an useful tool, you could use it to set a http proxy for certain android apps.

今天瞭解到:在網絡受限區域,搭建安卓環境可能是個問題,可以嘗試從 Android Developers 中國站下載相關軟件。另外還有谷歌翻譯中國版Chrome 中國版的網站可以直接再牆內打開。

本文更新於 2022/07/23。

分類
软件

Material Files 安卓文件管理器

Material Files 是一個由 Zhang Hai 開發的開源文件管理器。其主要特性有:

  • 開源:輕量、簡潔並且安全。
  • 內置 FTP 服務器,方便分享與接收文件。
  • 遵循 Material Design 規範,並且注重細節。
  • 麵包屑導航欄:點擊導航欄所顯示路徑中的任一文件夾即可快速訪問。
  • Root 支持:使用 root 權限查看和管理文件。
  • 壓縮文件支持:查看、提取和創建常見的壓縮文件。
  • 主題:可定製經典主題的界面顏色,以及夜間模式。
  • Linux 友好:支持符號鏈接、文件權限和 SELinux 上下文。
  • 健壯性:使用 Linux 系統調用實現,而不是另一個 ls 解析器。
  • 實現良好:使用正確的方式打造,包括 Java NIO2 文件 API 和 LiveData。

鑑於以上優良特性,我拋棄了 X-plore。雖然 X-plore 的 HTTP 服務器傳輸文件似乎比 Material Files 的 FTP 方便些,但是 Material Files 是自由軟件,而且傳輸文件用 FTP 應該是合理的。Material Files 的 FTP 服務支持匿名模式,所以如果是從電腦下載手機中的文件,使用電腦的瀏覽器中訪問本機的 FTP 服務即可(比如:ftp://192.168.1.42:1111)。如果要上傳文件到手機中則需要使用 Filezilla 之類的 FTP 客戶端應用才行。由於安卓上沒見到合適的 FTP 客戶端,所以如果欲將文件從甲手機傳至乙手機,可以在甲手機開啟 FTP 服務,乙手機用瀏覽器下載即可。值得注意的是,瀏覽器地址欄里的協議 ftp:// 不可省略。

由於最近看到 DNS 請求記錄里有向 X-plore 服務器的請求,這也是我放棄它的一個原因。

本文更新於 2021/05/19。