在南極洲收銀行 OTP 簡訊的方式

看到「SMS Multifactor Authentication in Antarctica」這篇,講在南極洲收銀行 OTP 簡訊的方式 (one-time password,常見的形式是六碼或是七碼數字)。

很明顯的,南極洲沒有什麼電信商可以讓你漫遊 XD

一開始是試著用 Verizon Messages Plus,這個服務可以在電信商直接把簡訊改成 e-mail 寄出來,但作者發現所有的簡訊都會轉送,就是銀行的不會轉送 XDDD

接著是試著用 Google Voice 的號碼,但銀行會判定為 VoIP 電話而不送。

另外的方式是「Wifi Calling」,看起來應該是 VoWiFi 這個台灣更常見的詞,透過 internet 連到電信商的網路掛進去,而不需要透過電信商的基地台。

McMurdo 的網路目前還是有很多不一樣的限制與問題:

At McMurdo, phones have access to a wifi network only for wifi calling and texting, not for general Internet access. It’s just a prototype at this time. It doesn’t work in all cases or in all areas, and for one reason or another it doesn’t work for some people, even if they’ve followed all the steps for enabling wifi calling.

看起來作者遇到的問題是 latency 過高以及頻寬不穩定的問題:

Also, the protocol assumes terrestrial broadband with reasonable latency and bandwidth. At McMurdo, as of this writing, latency to terrestrial locations is in excess of 700 milliseconds. Usable bandwidth for any given end user can vary widely, down to a few dozen kilobits per second.

然後也很難 troubleshooting:

The protocol also doesn’t expose any useful diagnostic info to the end user in order to troubleshoot. You just have to cross your fingers that the magic “wifi calling” icon lights up.

接下來作者嘗試的是 Voice MFA,但不存在這樣的電話號碼可以轉接之類的:

Direct inward dialing to US Antarctic stations isn’t generally available, so you probably can’t configure your cell phone number to forward to a number you can directly answer on-station. (I’m aware of some exceptions to this.)

作者最後提了兩個方法,第一個是想辦法找一個銀行不會擋的虛擬號碼註冊,但這個方法基本上是個貓抓老鼠的遊戲。第二個是作者實做的方法,自己搞 relay,透過 IFTTT 或是其他類似的工具來轉:

轉出來像是這樣:

也許等基礎建設好一點之後,VoWiFi 應該就有機會通?

貓叫聲的 Dataset

Hacker News Daily 上看到「CatMeows: A Publicly-Available Dataset of Cat Vocalizations」這個,貓叫聲的 dataset... 對應的討論在「CatMeows: A Publicly-Available Dataset of Cat Vocalizations (2020) (zenodo.org)」這邊。

包括了三種聲音 XDDD

  1. Brushing - Cats were brushed by their owners in their home environment for a maximum of 5 minutes;
  2. Isolation in an unfamiliar environment - Cats were transferred by their owners into an unfamiliar environment (e.g., a room in a different apartment or an office). Distance was minimized and the usual transportation routine was adopted so as to avoid discomfort to animals. The journey lasted less than 30 minutes and cats were allowed 30 minutes with their owners to recover from transportation, before being isolated in the unfamiliar environment, where they stayed alone for maximum 5 minutes;
  3. Waiting for food - The owner started the routine operations that preceded food delivery in the usual environment the cat was familiar with. Food was given at most 5 minutes after the beginning of the experiment.

嚕貓,焦慮與等待餵食?好像是可以想到這組 dataset 的用途...

Google 新推出的 Lyra audio codec

Hacker News Daily 上看到「Lyra audio codec enables high-quality voice calls at 3 kbps bitrate」,講 Google 新推出的 Lyra audio codec:「Lyra: A New Very Low-Bitrate Codec for Speech Compression」,論文在「Generative Speech Coding with Predictive Variance Regularization」這邊可以抓到。

目前 Google 提出來的想法是想辦法在 56kbps 的頻寬下實現還堪用的視訊通話:

Pairing Lyra with new video compression technologies, like AV1, will allow video chats to take place, even for users connecting to the internet via a 56kbps dial-in modem.

這次的突破在於可以使用 3kbps 的頻寬傳輸,但清晰度比 Opus 的 6kbps 效果還好不少。

Google 在文章裡面給了兩個 sample,一個是乾淨背景音,另外一個是吵雜的背景音,跟 Opus 與 Speex 比起來都好很多。

論文是說不需要太高的運算力,但沒翻到 GitHub 之類的 source code,先當作參考:

We provide extensive subjective performance evaluations that show that our system based on generative modeling provides state-of-the-art coding performance at 3 kb/s for real-world speech signals at reasonable computational complexity.

Amazon Transcribe (語音轉文字) 支援中文

AWS 宣佈 Amazon Transcribe (語音轉文字的服務) 支援中文:「Amazon Transcribe Now Supports Mandarin and Russian」。

從給的指令可以看到 --language-code zh-CN,頁面上示範的音檔腔調也是中華民國淪陷地區的腔調,應該是對淪陷地區訓練出來的結果...

我隨便拿了一部影片來測試:「粉嫩多汁健康好吃 松露炸和牛三明治 fried wagyu beef sandwich|Fred吃上癮」。

先下載下來,然後用 FFmpeg 轉成 FLAC 檔,再透過 AWS web console 丟進 transcription jobs 轉...

看起來對台灣在用的腔調適應還是不太好 (我把轉出來的東西丟到文章最後面),不過應該只要另外再拿新的訓練資料就可以出台灣版了...

加裙头加油全都一定要有对哎嗯啊先生走在国外人的感觉呢那那天没有融进了我们邀请到我们的干冰可以踢得哭来到学校那因为干爹在场所以我今天决定挑战间谍因为钢铁说他有一个专利我人去这个专利的特点就是在于说得简由他可以让石材外脆那那但是我觉得我这个人就是反恐因为我还是在青少年呃青少年就是跟叛逆所以干爹说这句话我就要想一下真的吗?感觉你确定吗干爹干爹不说话好男星所以呢我们今天请到了节目里面已经出现很多字的他说你要小姐另外一项呢就是用美国判断及的这两个都是热点然后来做比较那除此之外我要增加他的猪谁敢说我还会有一种机制这个呃七大锅里面她其实还有很多的配备怎么怎么打开而且这是强调这个头衔传啊让我把配件全部制造了这个创的吧这个时候就是穿露的那其实是架构教育的这一套啊我谁干爹那么天所以呃GDP我们就直接用这个好嘛啊那您觉得啊啊有可以有来再用医院但是全部都得上去我也是南部的人们从然后把装修呃我们一百八十六万调到了六分钟气氛中好人我们俩需要好妈妈如果你对呃石材比较不确定其实还有一个方便的功能就你可以暂停一下然后就把拉出来看一下然后就可以大概在判断较大还是要到那我们再延长一个一分装啊好吗嗯钢铁说话小张这时听到哎哟完美香气毕业了吴村的年轻人中就是年轻人好吧那我们看看里面的游子哦哎哟你看生命都是有虽然真的可以让他们减由我先试一下啊我不是还没有送钱都没有了然后我觉得吃得很只我小时候来讲呢应该说是一个嗯全世界啊你是唯一厮杀青陈家松与嗯你可以感到很清晰后来任把油倒出来也大概呀它地处都要由这么多的有由此很清澈你可以去买就出版有就就进去就被查出了还会受你知道吗了不少消费者的那那我们来做下一个步骤条面包啊从这个盘子监考盘所以如果说你这样一句还会有个老婆或者漂亮那就是说他这些系统喔他九十一由此啊还有一样那这个味道就会比较想让他也很简单哦红色的地方啊这当然是往下嘛所以现在是我们向我们的时候呢我们先浪土虱啊做一点那个心中简单仅仅这样做啊早上起来就是只有让我喜欢啊崔一点是吧调到两百度那在三分钟时间上慢慢家只有一次把他调侃嘛然后暂停动用了你拿出来看一下他后面实施有一个出风口你也可以用味道来判别他的手深度我们看我觉得我啊我非常漂亮,后来我们在调那个面哭的部分很简单啊,面粉一般的面粉就要然后我们失的部分呢就是用激战跟您来让他的仇动物啊哎,我比较十一点越丑小鸭翅总和七月后吗?有一种中国个人比较爱武旦角读起来标题然后我们不上去,但我们楼的部分我们先处理后一点的美国快本期的热点就是我们现在今天授权里面属于比较便宜的部分,所以我们用这一块儿事件啊那这一块呢比如说安心工作还没有结束的时候,我们收一下五年有的不有了然后我们三一年前要先说这个严家了我们现在这种哎呀大哦没有想回不能在政治顺心其实要想改变实际上都是正面肯定进去的路牌啊我看到我又怕我往嘛你啊但对待MARTIN哦所以看到长得不错哎呀因为这样子我觉得警示啊所以他不掉了就像我一直讲等先后发言会掉部分我了我就没看笑着啊,我真的好自己的好久我们来加紧朋友说尤的作用就是要让哈利颜色的消息,然后陈水扁会齐声一点点好吧,就知道这个双方就跟我们说呢,有啊,朝下然后呢我们上面说已经有,如果这部处打算今年的台,然后给我家附近那个选书记因为我常去买,那我就不用怕不健康。我老婆也不一致认为那那这一块他们叫后我们一定要里面找到他的首度,所以我会得到大家百八十左右天桥的五分钟,六分钟后让我们等一下,我们中途一定要拿起来看一下其他的首都够。之后我们就抓住了如果注册的演示文稿放下,然后买条这样子那挑战这个时候其实我们也可以开始准备了一年部分这样子很简单,就这样我们给大家一点揭幕了加一点好吧,跳啊这一吗?奶黄酱这么多钱的一笔哦,这不,这一点的药事实上味道让当不是我是寒不要咬嗯各位好我我们马背半天哈不好书最自认哦另外说台不是只有没有买油库啊连考生都得不够吗?干爹呀今天高科技呀这个是指输液又村日本大叶高岛屋啊而且哎来然后由子然后肉吃都吃多的我们试试一下那只暖的我刚还想说他的手都不会太守小孩这样说我们看我们很鲜明下去就是说手把它这是完全打破一般已经由快的一个观念完全没有我们只牛排我们就是觉得欧盟要三分五分啊条文里面那头如果我刚室内口真的是外数那你那你那我们接下来来试试看我们的特点哈那所以我们先才我们要的大小要跟你放不公平的幺三零年嘛,是吧?那期考纲那个红感我是另外一个城市变得有着比较后未见你在专业训练谁都提着一这时候把它放心吧肯定一样一样他然后我们用这个监考盘放放进去河流的厚度要把我们需要用高温的帮助做所以呢我就说会调整两百多但是在三分钟我觉得差不多然后我们刚刚去给他这种完美哦能够为过了选情不会算嗯都有五他牛肉滚动软了好那好多次跟我说把陈选票啊因为哦他们那个肉吃跟他的软嫩度啊是无法想象会造成这样的的关系。就是因为他的过人气旋的关系是他导热啊非常非常的精神那地方我们就是和纽我它的颜色之美的农村或者是马士文并茂穗和外界最他说这个基地翠都被扣留的游子高付出我现在里面全部都很有味道了,就可以文件哎我因为我想要试试看他甚至我想的问题,所以我把和牛跟我们刚理了跑那时候我我说时候从来没有天牛排用机器以前从来没所以我先想到是一看他们不能达到五很快就会好的好那作战如果你想有自己的感觉哦舒服啊什么傻还是对这记载过?大家当时两美我们的时候交点钱吧着跟你讲啊有一个比送委员更高级的人所谓是没有告诉你们也就说像爷爷俗称的钻石言之比中国的东西甜度比较高因为它又是矿物远所以他配死牛排的帖子但这一块我们减去了这帮不了我就把画干爹的都是为他就说你为当天知道了多台我吃多的人嗯嗯嗯我从来没酒不喝酒可以的你看我要你很多次吃好多出温爽你好高天呐你不要让对我说我结婚了嗯大概我们的和牛啊我就是不这个大火经过的而且还就这样都现场收音啊你们不要例子之一叫哦哦有些人知道他们强调的里面的肉松软的你你不要不要公布我就是考的时间一个尊重爸爸让我有口饭吃吧。我我真心觉得这个是一个现代科技理念,可能是小家庭,然后又走走健康啊,其实你买一开他基本上什么都可以做,而且他没有让我的话,你就让我们一起能多那种,两年就一些。我有点想用它来做一些任务时,部队想到如果听得懂就听得到了。

用 YouTube 上的影片查發音

Improve your English pronunciation using Youtube」這個服務利用 YouTube 上的影片與字幕提供界面,讓你可以知道現實世界的人怎麼發音的查詢系統。

系統本身不難做,主要是去撈大量資料,然後建立 search engine 提供,idea 與執行才是這個服務的賣點。

拿到後第一個想到的就是,一定要拿來查一下「IKEA」怎麼唸 XDDD

除了英文以外還可以查其他語言,包括中文...

破 reCAPTCHA 的 Buster

在「用 Google 的 Speech Recognition API 破 Google 的 reCAPTCHA」與「reCAPTCHA 與語音辨識:以子之矛,攻子之盾」都提過用語音辨識功能破 reCAPTCHA,現在又有一套了,而且直接在各瀏覽器的 extension 平台上架:「Buster: Captcha Solver for Humans」。

說明可以看到一樣是透過聲音的部份辨識:

Buster is a browser extension which helps you to solve difficult captchas by completing reCAPTCHA audio challenges using speech recognition. Challenges are solved by clicking on the extension button at the bottom of the reCAPTCHA widget.

除了安裝很簡單以外,設定也弄得很簡單,這個套件支援多種不同語音辨識 API,包括 GoogleMicrosoft 以及 IBM 的服務,只要在套件的設定頁輸入 API key 就可以了...

另外剛好也跟 reCAPTCHA 有關,在 Hacker News 上的「Google's Captcha in Firefox vs. in Chrome (grumpy.website)」看到 Google Chrome 與 Mozilla Firefox 在跑 reCAPTCHA 的不同之處 (Chrome 的流程順很多,Firefox 卡很多),不過我覺得證據還有點弱,需要再看其他的測試...

另外裡面有提到一些奇怪的東西,像是 W3C 的替代方案 (這個組織提的東西...):「Inaccessibility of CAPTCHA」,找時間來研究一下...

把 YouTube 對 channel 與 user 的自動播放功能關掉...

YouTube 在 channel 與 user 頁面會自動播放會讓人覺得頗困擾 (頁面一打開就有聲音),所以想要找看看有沒設定可以關掉... 找了之後發現很久前就有被問過,但是當時得到沒有這個功能的回答:「How do I DISABLE autoplay from other channels on my YouTube channel?」。

既然如此就只能找套件來解了... 目前是透過 Userscript 擋下自動播放,程式碼不長也蠻好懂的:「Disable YouTube Channel/User Home Page Video AutoPlay」。

這樣總算是不會被聲音搞到...

Mozilla 實做百度發表的 Speech-To-Text 引擎 Deep Speech

Hacker News 上看到 MozillaGitHub 上的 mozilla/DeepSpeech 這個專案,用 TensorFlow 實做了百度的「Deep Speech: Scaling up end-to-end speech recognition」論文:

A TensorFlow implementation of Baidu's DeepSpeech architecture

語音轉文字的方案,Mozilla 開專案實做出來了...

這程式碼需要安裝 Git Large File Storage 才能完整下載包含訓練資料的部份:

Manually install Git Large File Storage, then clone the repository normally:
git clone https://github.com/mozilla/DeepSpeech

而目前已經有的資料來自於 Mozilla 另外一個專案「Common Voice」:

The Common Voice project is Mozilla's initiative to help teach machines how real people speak.

Common Voice 這個專案目前只有英文,網頁上就可以參與 validation 過程...

現有語音控制的安全性問題:使用聽不見的高頻下令

雖然相關的理論很早就有了,但上個禮拜放出來的論文完整實做出來,叫做 DolphinAttack,取自於海豚可以聽見人類所聽不到的聲音:「DolphinAtack: Inaudible Voice Commands」(這邊的錯字是作者造成的,submit 到 arXiv 的標題有錯,但論文內描述則是對的)。

無論是 Siri 或是 Google Now,或是其他的控制軟體,都設計成能接受多種不同語調的人,而這個部份目前放的都太寬,造成人類聽不到的區段也可以下令:

也可以看到成功機率很高:

應該會有些調整...