Amazon Transcribe 支援台灣的中文辨識了

Amazon TranscribeAWS 的服務,可以把聲音轉成文字 (speech to text),先前最接近台灣用的中文應該是「Mandarin Chinese (Mainland China)」,兩年前曾經試著用過:「Amazon Transcribe (語音轉文字) 支援中文」,但效果不怎麼樣...

剛剛在「Amazon Transcribe now supports speech to text in 6 new languages - Afrikaans, Danish, Mandarin Chinese (Taiwan), Thai, New Zealand English, and South African English」這邊看到消息,Amazon Transcribe 支援台灣的中文辨識了,晚點可以用同一部影片測試看看...

Amazon Transcribe 可以吃其他格式了

Amazon TranscribeAWS 推出語音轉文字的服務,先前只有提供 WAVFLACMP3MP4 格式,現在則是多支援不少格式:

Today, we are excited to announce native support for media files in AMR, AMR-WB, Ogg and WebM format by Amazon Transcribe.

AMRAMR-WB 以前還蠻常看到的,最近比較少看到了,可能是專利加上選擇性多之後用的人就變少了。

再來是 OggWebM 兩個都是開放格式。

上次拿 Amazon Transcribe 測日文的影片,先用 FFmpeg 把 MP4 檔內的 audio track 抽出來再丟上去轉,轉完後用 andyhopp/aws-transcribe-to-srt 把 Amazon Transcribe 輸出的 JSON 再轉成 SRT 檔,就辨識正確度測起來算是堪用,但專有名詞 (像是人名) 就得另外處理,不過比什麼都沒有好不少...

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哦所以看到长得不错哎呀因为这样子我觉得警示啊所以他不掉了就像我一直讲等先后发言会掉部分我了我就没看笑着啊,我真的好自己的好久我们来加紧朋友说尤的作用就是要让哈利颜色的消息,然后陈水扁会齐声一点点好吧,就知道这个双方就跟我们说呢,有啊,朝下然后呢我们上面说已经有,如果这部处打算今年的台,然后给我家附近那个选书记因为我常去买,那我就不用怕不健康。我老婆也不一致认为那那这一块他们叫后我们一定要里面找到他的首度,所以我会得到大家百八十左右天桥的五分钟,六分钟后让我们等一下,我们中途一定要拿起来看一下其他的首都够。之后我们就抓住了如果注册的演示文稿放下,然后买条这样子那挑战这个时候其实我们也可以开始准备了一年部分这样子很简单,就这样我们给大家一点揭幕了加一点好吧,跳啊这一吗?奶黄酱这么多钱的一笔哦,这不,这一点的药事实上味道让当不是我是寒不要咬嗯各位好我我们马背半天哈不好书最自认哦另外说台不是只有没有买油库啊连考生都得不够吗?干爹呀今天高科技呀这个是指输液又村日本大叶高岛屋啊而且哎来然后由子然后肉吃都吃多的我们试试一下那只暖的我刚还想说他的手都不会太守小孩这样说我们看我们很鲜明下去就是说手把它这是完全打破一般已经由快的一个观念完全没有我们只牛排我们就是觉得欧盟要三分五分啊条文里面那头如果我刚室内口真的是外数那你那你那我们接下来来试试看我们的特点哈那所以我们先才我们要的大小要跟你放不公平的幺三零年嘛,是吧?那期考纲那个红感我是另外一个城市变得有着比较后未见你在专业训练谁都提着一这时候把它放心吧肯定一样一样他然后我们用这个监考盘放放进去河流的厚度要把我们需要用高温的帮助做所以呢我就说会调整两百多但是在三分钟我觉得差不多然后我们刚刚去给他这种完美哦能够为过了选情不会算嗯都有五他牛肉滚动软了好那好多次跟我说把陈选票啊因为哦他们那个肉吃跟他的软嫩度啊是无法想象会造成这样的的关系。就是因为他的过人气旋的关系是他导热啊非常非常的精神那地方我们就是和纽我它的颜色之美的农村或者是马士文并茂穗和外界最他说这个基地翠都被扣留的游子高付出我现在里面全部都很有味道了,就可以文件哎我因为我想要试试看他甚至我想的问题,所以我把和牛跟我们刚理了跑那时候我我说时候从来没有天牛排用机器以前从来没所以我先想到是一看他们不能达到五很快就会好的好那作战如果你想有自己的感觉哦舒服啊什么傻还是对这记载过?大家当时两美我们的时候交点钱吧着跟你讲啊有一个比送委员更高级的人所谓是没有告诉你们也就说像爷爷俗称的钻石言之比中国的东西甜度比较高因为它又是矿物远所以他配死牛排的帖子但这一块我们减去了这帮不了我就把画干爹的都是为他就说你为当天知道了多台我吃多的人嗯嗯嗯我从来没酒不喝酒可以的你看我要你很多次吃好多出温爽你好高天呐你不要让对我说我结婚了嗯大概我们的和牛啊我就是不这个大火经过的而且还就这样都现场收音啊你们不要例子之一叫哦哦有些人知道他们强调的里面的肉松软的你你不要不要公布我就是考的时间一个尊重爸爸让我有口饭吃吧。我我真心觉得这个是一个现代科技理念,可能是小家庭,然后又走走健康啊,其实你买一开他基本上什么都可以做,而且他没有让我的话,你就让我们一起能多那种,两年就一些。我有点想用它来做一些任务时,部队想到如果听得懂就听得到了。

破 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」,找時間來研究一下...

Amazon Transcribe 增加許多客製化功能

Amazon TranscribeAWS 提供的語音辨識服務,最近發表了不少可以客製化的功能:「Amazon Transcribe enhances custom vocabulary with custom pronunciations and display forms」。

一個是可以增加字彙,包括他的發音 (不過得透過 IPA 標,這邊會需要學一些東西):

You can give Amazon Transcribe more information about how to process speech in your input audio or video file by creating a custom vocabulary. A custom vocabulary is a list of specific words that you want Amazon Transcribe to recognize in your audio input. These are generally domain-specific words and phrases, words that Amazon Transcribe isn't recognizing, or proper nouns.

Now, with the use of characters from the International Phonetic Alphabet (IPA), you can enhance each custom terminology with corresponding custom pronunciations. Alternatively, you can also use the standard orthography of the language to mimic the way that the word or phrase sounds.

另外是定義詞彙的標示方法:

Additionally, you can now designate exactly how a customer terminology should be displayed when it is transcribed (e.g. “Street” as “St.” versus “ST”).

這對於專有名詞的部份應該是很好用?像是人名...

開源的語音助理 Leon

目前的語音助理都會把資訊傳回到中央伺服器,而 leon-ai/leon 則是希望在本地端解決:

Leon is an open-source personal assistant who can live on your server.

He does stuff when you ask him for.

You can talk to him and he can talk to you. You can also text him and he can also text you. If you want to, Leon can communicate with you by being offline to protect your privacy.

作者錄了一段目前版本的功能,可以看到語音輸入與分析運作的還不錯:

看到 1.0.0 beta,最近應該會釋出正式版,接下來就是看可以掛什麼 plugin 進去讓他更好用?

reCAPTCHA 與語音辨識:以子之矛,攻子之盾

GooglereCAPTCHA 大概是目前最常用的反制機器人工具了,但因為 accessibility 的原因 (而且應該是有法令要求),還是需要提供盲人可以存取的方式,也就是以語音判斷是否是機器人。

unCaptcha2 就是用這塊,加上 Google 自家的語音辨識 API (也支援其他家 API) 可以直接打穿:

現有的程式碼已經先被 Google 反制,但目的是展示出這樣的概念。

Google 發表新的 TTS (Text-to-Speech) 技術 Tacotron 2

Tacotron 是 Google 發表的 TTS 技術 (i.e. 輸入文字,請電腦發音),而前一版的 Tacotron 的錄音可以參考「Audio samples from "Tacotron: Towards End-to-End Speech Synthesis"」,論文則是在「Tacotron: Towards End-to-End Speech Synthesis」這邊可以看到。

這一版的則是在 Twitter 上看到有人提到:

這一版叫做 Tacotron 2,錄音可以參考「Audio samples from "Natural TTS Synthesis by Conditioning WaveNet on Mel Spectrogram Predictions"」,論文在「Natural TTS Synthesis by Conditioning WaveNet on Mel Spectrogram Predictions」。

這次在錄音頁面的最下面提供了盲測 (人類與 Tacotron 2 的錄音),基本上已經分不出哪個是真人了...

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 過程...