作者:秋半仙悔详,哼哼
上一篇文章一段聲音的旅程(二)頭疼的音頻信號處理中講到音頻信號處理中有五大不安因素,今天咱不賣關(guān)子,就來八一八這五大刺頭中的第一個——硬件逛尚。
和信號處理強相關(guān)的,主要是麥克風刁愿,如果只有一只耳朵绰寞,人可能就很難分辨出聲音的位置。機器也一樣铣口,沒有基友單打獨斗的麥克風也很難定位出聲音的位置滤钱。所以在這里,我們引入一個新的概念脑题,叫“麥克風基友團”件缸,啊不對,是“麥克風陣列”叔遂。顧名思義他炊,麥克風陣列就是有多個麥克風組合在一起共同去完成聲音采集。各位童鞋可以把這些麥克風想象成一群采蜜的蜜蜂已艰,而采來的蜜呢痊末,其實就是“信號處理”的“輸入”。如果有只蜜蜂采來的蜂蜜雜質(zhì)含量高哩掺,那勢必會影響整批蜂蜜的純度凿叠。同理,“每一個麥克風采集聲音的質(zhì)量”,會直接影響到“信號處理”的最終效果盒件。“信號處理”就是將這些多路音頻數(shù)據(jù)蹬碧,處理成一路音頻,輸出給語音識別進行下一個環(huán)節(jié)的過程履恩。
麥克風陣列的重要職責之一锰茉,是找到說話那丫是從哪個方位說話的,也就是“聲源定向”切心。同樣的飒筑,再精準一些,就是“聲源定位”绽昏,也就是精準定位出說話那丫在哪旮沓协屡。一般情況下,麥克風基友越多全谤,定“向”的精準度越高肤晓,可以形象的理解為:兩只小蜜蜂分別住在花園的東面和西面,他們的任務是找到花姑娘采蜜认然〔购叮花姑娘通過散發(fā)花香吸引兩只蜜蜂分別從自己的方位往花姑娘的方向飛。假設(shè)花姑娘在東邊卷员,那么在西邊的小蜜蜂哼哼往返的用時一定比在東邊的小蜜蜂秋半仙長盈匾。由此養(yǎng)蜂人就可以判斷出花姑娘所在的方向和位置。蜜蜂越多毕骡,將空間分割的越細削饵,那么方位的準確率和精細度就會隨之提升,如圖示意(注意未巫,真實的世界是一個三維空間窿撬,示意圖描繪的是二維空間):
麥克風有單麥方案和陣列方案,麥克風陣列又分線性陣列和環(huán)形陣列叙凡,根據(jù)不同的行業(yè)和需求劈伴,有不同的選擇,比如:
(1) 智能汽車握爷、智能家居(比如空調(diào)宰啦、冰箱等)、有些高端后視鏡饼拍,一般選用雙麥方案赡模。這些設(shè)備對空間感和降噪有一些要求,但不需要太精細师抄,而且雙麥成本不會太高漓柑;
(2) 智能電視、智能家居等這些設(shè)備,一般選用線性陣列方案(雙麥辆布、四麥線性等)瞬矩。這些設(shè)備對空間感要求偏低,但對距離感和降噪的要求高锋玲;
(3) 有些后視鏡景用、智能穿戴、低端的音箱這些惭蹂,還會選用單麥方案伞插,聲源與麥克風距離一般都在一米以內(nèi),對于降噪要求偏低盾碗。當然媚污,最主要還有對成本因素的考慮;
(4) 智能音箱廷雅、機器人這些行業(yè)耗美,一般選用環(huán)形麥克風陣列,比如四麥環(huán)形陣列航缀、6麥環(huán)形陣列等商架,對于空間感要求高皿淋。
那啥嗜桌,后排做產(chǎn)品的同學注意聽講哈。對硝岗,說你呢飞傀,拿出小本本記住下面這段話:
想做好一款語音產(chǎn)品皇型,首先要非常清晰的定位自己產(chǎn)品的使用場景诬烹、目標人群以及產(chǎn)品要求砸烦。因為對產(chǎn)品的不同定義和不同要求,會從源頭上影響硬件的選型绞吁,成本的投入和管控幢痘。能雇一只小蜜蜂的就犯不著雇兩只,當然家破,土豪請隨意颜说。如果你的公司也同時在做硬件,請務必將這個點牢記在心汰聋,多和硬件工程師溝通交流门粪,不要到硬件定版甚至已經(jīng)在小批次試生產(chǎn)的時候才發(fā)現(xiàn),產(chǎn)品定義的需求和體驗烹困,當前硬件根本達不到玄妈,那就涼涼了,因為那個時候可能會讓你的企業(yè)損失不小的一筆錢,而這些損失拟蜻,很可能在初期硬件選型時绎签,你多邁出一步,和工程師簡單溝通和交流之后酝锅,就可以避免~
從原理上看诡必,既然多麥方案可以分辨出聲源的方向,那我們就可以在這基礎(chǔ)之上搔扁,增加“定向抑制”的要求爸舒。
所謂“定向抑制”,顧名思義就是抑制某個特定方向的聲源采集阁谆。舉個例子:秋半仙在開車碳抄,哼哼在副駕打電話。如果沒有定向抑制场绿,畫風可能是這樣的——
秋半仙:你好二傻剖效,我餓了,看看附近有沒有——
哼哼:誒媽焰盗,我跟你說璧尸,上次我看中個包可好看了,就在連卡佛熬拒,我正要去連卡佛再逛逛呢~
語音助手二傻:好的爷光,正為您導航去連卡佛的路線。
秋半仙:唉唉唉澎粟,什么導航去連卡佛蛀序,我是讓你看看附近有沒有吃——
哼哼:你說什么?要找我看電影活烙?那看看最近都有什么電影上映吧徐裸。
語音助手二傻:好的,正在為您查找最近上映的電影啸盏。
秋半仙:……都什么玩意兒重贺,我是讓你給我找附近的飯——
哼哼: 哦你想看完電影去做美甲,好啊回懦,那看看附近都有哪些美甲店气笙。
語音助手二傻:好的,正在為您查找附近的美甲店怯晕。
秋半仙:……我就想吃個雞米飯而已……
如果此時增加了定向抑制的要求潜圃,在主駕喚醒語音助手后抑制從副駕發(fā)出的聲音的采集,那么畫風應該是這樣的——
秋半仙:你好二傻舟茶,我餓了谭期,看看附近有沒有吃的蛉谜。
哼哼:誒媽,我跟你說崇堵,上次我看中個包可好看了型诚,就在連卡佛,我正要去連卡佛再逛逛呢鸳劳。你聽我說啊狰贯,你要是下午沒事,我們再看看最近有哪些新上映的電影赏廓,一起看場電影去涵紊。看完電影還可以看看附近有沒有美甲店幔摸,再去做個美甲摸柄,儂說好不好?
語音助手二傻:(自動無視哼哼的哼哼唧唧)好的既忆,正為您查找附近的飯店驱负。已為您找到三家飯店,請說第幾個——
秋半仙:(轉(zhuǎn)向哼哼)什么包患雇?多少錢跃脊?你不是有好多包了嗎?家里放不下了苛吱,咱不買了好不好酪术?
語音助手:對不起,我沒有聽清翠储,請再說一遍绘雁,或說第幾個——
哼哼:……
通過這樣的定向抑制,麥克風陣列能在一個合理角度區(qū)域內(nèi)采集的聲音進行增益援所,對這個區(qū)域之外的聲音進行抑制庐舟。這有什么好處呢?相當于任斋,我們采集的聲音區(qū)域變小继阻,那么我們被其他區(qū)域的聲音干擾的概率就能降低耻涛,從而能夠提升“信號處理”的質(zhì)量废酷。示意圖如下(注意,二維空間的扇形在三維空間中可能是錐形抹缕,左右區(qū)域不一定是相等且對稱的澈蟆。那啥,本半仙畫圖的功底不行卓研,只能用文字示意):
咳咳趴俘,我們繼續(xù)睹簇。對于區(qū)域的角度選擇需要和算法同學反復溝通,不同的算法的真實效果不盡相同寥闪,在這里太惠,充分溝通之后,請依據(jù)各自算法能力去定義產(chǎn)品的具體要求疲憋,這里就不奢述了凿渊。
特別注意:麥克風所采集的音頻,如果質(zhì)量不佳缚柳,是要找麥克風的供應商或者集成商去解決的埃脏,我們一般把這個歸為“硬件質(zhì)量問題”范疇。原則上秋忙,這個會和麥克風硬件生產(chǎn)線的良品率掛鉤彩掐,也和設(shè)備組裝的流水線的良品率有關(guān)。假如某一天灰追,你取出了信號處理之后的音頻發(fā)現(xiàn)質(zhì)量不佳堵幽,千萬不要以“問責”的態(tài)度,去找“信號處理”的同學弹澎,因為這里也可能是硬件質(zhì)量問題導致的谐檀。
所以遇到這種情況,建議童鞋們先在不同設(shè)備上多采集幾次裁奇,看是不是個例桐猬,如果有規(guī)律可循,初步估計一個出現(xiàn)的概率比例刽肠,從而評估出風險的等級溃肪,再找正確的人,去處理和推進~
由此音五,我們延伸出一個問題惫撰。上面提到了“良品率/次品率”,這是一個批次生產(chǎn)流水線上很重要的指標躺涝。但是厨钻,什么樣的音頻屬于“良”?什么樣的屬于“次”呢坚嗜?如果你今天已經(jīng)在做一些和語音有關(guān)的硬件夯膀,但是從來沒有想過或聽過這個問題,建議你和你的工廠質(zhì)檢相關(guān)人員苍蔬,詳細確認一下這個點诱建,有可能“質(zhì)檢”的范疇中就沒有包含“音頻質(zhì)量”。音頻質(zhì)量很難文字描述碟绑,舉個更簡單的例子俺猿,如果麥克風有位置要求茎匠,比如必須是A在左B在右,如何保障裝配的流水線過程中不裝反呢押袍?
現(xiàn)在很多語音公司诵冒,都在做自己的語音模組,一方面是賣硬件可以帶來非常清晰的現(xiàn)金流水谊惭,比單純軟件好追溯好收費造烁,而且企業(yè)確實需要一些實打?qū)嵉牧魉荒芸偸歉沙锤拍畎晌绲选A硪环矫婢褪钦Z音的硬件質(zhì)量參差不齊嚴重影響語音產(chǎn)品的最終效果惭蟋,而很多企業(yè)無法理解這里面的因果關(guān)系,就會簡單粗暴地認為是“語音能力不行”药磺。
其實大部分語音公司的“基礎(chǔ)能力”對于商用已經(jīng)夠了告组,如果企業(yè)中沒有對于音頻硬件有足夠經(jīng)驗的人,還是建議企業(yè)先統(tǒng)一采購語音公司的硬件模組癌佩,先保障這些坑都先繞過去木缝。未來如果想逐步接手硬件部分,再慢慢填坑围辙,慢慢渡劫~