文/曾斌
最近由于亚马逊的echo卖得很火,2015年卖了400万台,2016年卖了800万台,2017年计划销售上1000万台。中国的厂家看到了市场的机会都想做一款类似亚马逊echo的智能音响,在国内国外上市销售。
作者本人专注wifi音响已经有五年的历史,对wifi音响的技术比较熟悉,所以最近接待了很多北京上海深圳的大公司的产品经理上门来请教,发现大家对echo的研发还处在没有研究过的阶段,对echo这款产品还只是停留在以一款蓝牙音响的认识去理解echo这款智能语音识别音响。所以,我今天把我的技术开发,资源整合,市场情况,未来发展的积累给大家分享,减少大家的疑惑。
echo的历史
首先简单介绍一下亚马逊的echo这款产品,这款产品是亚马逊耗费了2000人的研发团队,历时4年打造的产品。在此之前不得不提一提它的前辈——sonos音响。sonos音响是美国的一个成立于2002年历时6年研发打造的产品,这家公司的核心技术成员来至于美国一家高科技通讯公司——高通qualcomm。
6年的技术攻关将wifi的带宽高,高保真无损传输和解码,多台设备互相(利用wifi宽带宽,将几台音响连接到同一个局域网实现同时播放同一首歌,营造出给无线环绕声的效果);同时,利用其音乐云服务控制的技术交换和商务合作,sonos音响的app集成了美国,中国,欧洲主流的音乐内容服务商资源,比如pandora,spotify,qq music,虾米,多米等丰富的内容资源。
其结果是给公司带来了很高的知名度和丰厚的收益。2005年乔布斯在看到sonos音响时感叹道“这是音响的未来”,长时间的技术研发和投入(据说研发投入2亿美金)带来了好的收益,单2011年sonos音响销售额达到近2亿美金。其五款经典产品包括:3款wifi音响,1款soundbar,一款wifi桥接器盒子,wifi中控。
但其缺点也很明显:价格贵,体积大,仅仅适合高端消费人群,而且其核心优势multiroom功能只有在别墅才能体现出其优势来。2010年11月sonos进入中国,所以从2011年开始中国有了第一批wifi音响的开发者,希望模仿sonos的成功。而最早的一批开发者是用mtk5350或者高通的qca9331开始开发的,但无疑都倒在了学习的路上。
于是有了亚马逊,亚马逊开始了alexa的项目,大概开始于2011年,应该是受到了iphone4s语音助手siri的启发吧(同时受到启发的还有“讯飞语音输入法”)。至于echo(echo tap ,echo, echo dot)是alexa实际应用的最成功的产品。(乔布斯真的是一代伟大的产品经理。)
其他平台的还有微软的小娜(基于windows平台),苹果的siri(苹果os)
alexa是亚马逊投入重兵研发出的语音识别云服务平台。像一个带语音搜索功能的app store(主要的功能有智能问答,音乐服务amazon music,spotify,iheartradio等;新闻服务nbc;天气预报服务;打车服务uber;智能家居服务ifttt协议的灯等等)目前为止已经超过了5000个服务接入了亚马逊的alexa云平台。
而echo类似于苹果手机,不仅仅包括硬件,还包括一套基于linux系统自主开发的操作系统(类似于mac os)。
echo去除了sonos的笨重,价格贵等缺点,当然最重要的是有alexa做语音识别后台,产品有卖点,卖得特别好。其实,echo已经不单单是一款wifi音响,已经成为了一台家庭智能中心产品,通过不断的采集用户习惯,收集用户问题训练alexa让alexa越来越智能,alexa也集成越来越多的服务使得消费者越来越喜欢这款产品。
由于亚马逊是一家互联网公司,追求的不单是echo销量的大幅增长带来的几十亿美金的销售额,更在乎的是echo背后的alexa代表的人工智能这个未来monster.所以,亚马逊把alexa的api接口开放给到全球的开发者,开发者们可以利用alexa开发出很多不同的硬件产品,比如:alexa音响,alexa车机,alexa耳机等等。
怎么样开发出一款echo音响产品(其他产品附带介绍)
1硬件
2软件
3云服务
4app
5生产
6成本
7生态
(一)硬件:
1联网——wifi芯片或模块(博通、瑞昱、mtk都可以)
2语音算法本地处理单元
(1降噪(背景噪音消除,回声消除);
(2唤醒词唤醒;
(3语音方向识别)
——mic整列(咪头)+adc(音频模拟转数字信号芯片)+dsp(语音数字信号处理芯片)(一般由cpu模拟运算)。mic整列负责语音的采集(一般来讲mic越多声音采集的效果越好,但算法也就越复杂,对cpu的主频要求也就越高)adc(将mic采集的语音模拟信号转换成数字信号,并物理滤波消除一部分外部噪音,只保留20-20khz频段的声音)dsp(负责运行语音数字信号的处理,分两种:一种是用强大的cpu资源模拟运算降噪算法处理语音音频数字信号,一种是用芯片硬件处理的方式最终得到干净的人的语音信息)。
处理完成之后利用wifi信号将干净的语音信息编码打包上传到云服务器上做进一步的处理(语音识别,语义理解,服务调用)。mic的参数主要注重灵敏度和几个mic的一致性;adc主要注重的是模拟转数字的采样率,(一般亚马逊对人声采样格式要求是44.1khz&16bit,这跟音响iis音频高保真输出的192khz&24bit的规格不一致,要做到兼容比较困难,尤其是外挂mp3解码芯片的这种方案。)
3跑整套音响系统的中央单元——cpu(处理器)+ddr(内存)+flash(硬盘);
cpu主要的功能是跑整套音响操作系统(linux底层系统(类似于bios即各个硬件的驱动程序——cpu的sdk,wifi(或者蓝牙)的驱动,音效dsp处理器驱动(一般是alsa协议),usb驱动,iis驱动,gpio的调用等),linux之上的应用系统(类似于安卓系统或者window系统,包括网络上层通讯协议——配网的smartconfig协议,ap-station协议;网络数据下传协议http,dlna,airplay,qplay。
网络服务api接口配置spotify,alexa,qq音乐,喜马拉雅音乐等;操作系统逻辑控制单元;软解码音频播放器;),其次是前面提到的语音算法运算也由cpu完成(一般的cpu是通过iis接adc芯片,adc芯片再接模拟mic,一路iis可以接2个adc,1个adc可以接4个mic;但是有些芯片原厂开发了直接支持数字mic接口的芯片,就省去了adc芯片的成本,但需要算法去满足这种直接数字mic的输入)。
4音频解码单元——一般是cpu跑软codec解决,也有采用外挂一颗支持iis接口的mp3的芯片做硬解码。
5音效单元——音频dsp+功放+喇叭,音频dsp是需要调试的,尤其有eq需求的音响调试就更困难,调试完以后把调音参数给到cpu的音乐播放器中(另外,一般的mp3芯片做硬解码的模式的是不能支持音效dsp的)。功放(分数字功放和模拟功放,如果dsp带dac功能的可以接模拟功放,不带的只能接数字功放,现在主流的是用数字功放)。由于wifi信号比蓝牙功耗大,功率也就大,带来音效效果影响的可能也就越大,在电路设计和pcb的layout上需要做到信号屏蔽,防止视频电路对音频电路的信号干扰,一旦干扰会由于音频电路的信号放大在喇叭端引入很大的底噪,导致音质效果不好。
6电源管理单元——一般会有一颗电源管理ic负责分配从火牛或者锂电池输出的电流电压,echo没有内置电池,所以不需要有电池充放电管理电路。也可以用dcdc来做出简单的电源供电电路
(二)软件
这里指的软件是指音响端的整套系统软件。最近这几年突然多了很多机器人公司,很多都支持语音对话这个功能,分为带屏幕的,不带屏幕的,会走路的,不会走路的,会转头的,不会转头的。后来发现这些机器人用的都是安卓系统,基本都是以前平板电脑的方案商在做,用的就是以前平板电脑的芯片。
所谓的自主研发其实就是在安卓系统的基础上做了一个人脸的ui,集成了一些内容(故事,儿歌,音乐等)——跟个app差不多,这也就是罗锤子那一套,号称自己开发的手机系统其实只是做了一套安卓ui主题。这不是我们今天聊的软件系统,我们说的是这套软件系统其实等于安卓系统。因为linux是开源的,安卓是建立在linux系统上的一套应用系统,等同于window。我们讲的就是这套音响的操作系统。
现在有用安卓系统开发音响的,也有linux开发echo的。安卓系统稳定性不如linux,有很多冗余的功能需要底层裁剪,有可能裁剪错误导致系统不稳定,最大限度的裁剪也会导致系统固件有150mb,至少需要256mb的ddr,需要512mb的nanflash。
同时开机速度会比linux系统的音响慢10-15s,用得越久还会产生系统冗余导致运行得越来越慢。所以,无论从器件的成本,系统的稳定性,还是用户的体验上安卓都不适合做wifi音响,这也难怪亚马逊会选择用linux开发echo音响,虽然开发时间多耗费了两年时间。而linux系统的音响只需要4mb的固件只需要16mb的norflah,64mb的ddr,开机速度可以做到10s以内开机,而且不会产生冗余文件,始终如一的用户体验。所以,sonos和echo都是用的linux平台。
这套操作系统包括:
1各个外围器件的驱动(dsp,按键,aux、usb结构,iis,iic协议),配网,语音算法运行,音乐播放器,内容对接集成,网络传输协议(http,dlna,airplay),服务api接口对接等等。
2本地语音识别的算法,对于算法包括两部分,一部分是本地设备端的降噪,背景噪音消除算法,本地唤醒算法,一部分是云端的语音识别和语意理解算法。我们先将第一部分,设备端的语音识别算法,设备端需要将背景噪音消除,降噪之后得到干净的语音内容,有两种解决方式1是通过科胜讯这种带dsp的adc芯片通过固化到芯片里面的dsp将adc转换得到的数字语音信号分析之后通过iis接口输送给cpu再上传到云端,一个iis接口可以接两个adc芯片,每个adc芯片可以接4个mic。当然唤醒的算法是本地的一套软件集成到cpu里面——即设备的名字,如”alexa”这个名字,激活词需要训练的,需要采集至少100多个人不同音色的发音,所以定制激活词会产生费用。2是通过降噪算法和激活词算法全部运行在cpu里面,所以,需要数字mic将数字语音信号直接接到cpu端。目前能直接接数字mic的芯片并不多,如全志的g102是可以直接接8个数字mic的,但需要算法去把8个数字mic直接调通。
(三)云服务
云服务是echo的重点,包括了人工智能+各种服务,人工智能是负责语意理解和内容搜索并回答的,比如:你问alexa今天天气怎么样,他会先把你说的话通过本地处理完以后的语音音频文件上传到云端的服务器,服务器将语音信息翻译成文字,然后把文字的关键词找出来,并通过了大数据的训练以后明白这段文字的抽象意思,然后帮你找到对应的答案,这个答案又必须去调用如气象信息的数据库(这个数据库也要支持语音搜索调取才行),最后反馈给音响,音响播报出来——哦,今天天气晴转小雨,需要带伞哦。
那么这一系列的动作是人工智能,天气信息数据库就是云内容。亚马逊集成了至少10000个云内容�...