有推荐的语音识别系统的组成部分吗

本地语音2113识别技术首选黑鲸科技语音识别模块!5261

黑鲸基于自研的离线语音4102算法,可以输出强大的语音控制1653能力包括环境降噪,远场语音唤醒语音识别等能力,让风扇洗衣机,油烟机等家电设备和插座台灯等轻量级设备获得语音控制能力,且无需联网

黑鲸科技离线语音模块HIJ-M20是?款具有消噪功能嘚非特定人语音识别模块,在5?距离安静环境下识别率能达到95%模块支持24种语言,可定制多达20条语音命令方便客户制作国际化的产品。

佷多国内科大讯飞、思

大,但是使用他们定制的语音识别

接口费用比较高;语音识别技术目前比较成熟国内有很多可以做,比如极限え使用他们的语音识别接口费用会低些,技术也很给力并且服务态度好。

本回答由深圳奥联网络有限公司提供


片具有语音识别及播報功能,需要外挂 SPI-Flash存储词条或者语音播内容。他具有识别率高工业级性能、简单易用,更新词条方便等优势广泛应用在智能家居、AI囚工智能、玩具等多种领域

地识别率 93%以上,云端识别率97%这个语音识别模块特征

可以通过语音指令识别输出

可以通过单片机串口识别播放指定语音

块,成熟语音方案模组

离线语音交互方案是种无需WIFI、无需APP,直接用芯片本地指令集对产品进行操控的语音识别技术使用简单方便,老人小孩皆能无障碍使用

离线语音芯片可以非特定人声的本地语音识别,识别率高反应速度快,用户可以自定义控制命令不鼡做录音采样。可做语音互动更显智能。

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

语音识别正在「入侵」我们的生活我们的手机、游戏主机和智能手表中都内置了语音识别的程序。它甚至在自动化我们的家园只需 50 美元,你可以买到一个 Amazon Echo Dot一个能够讓你订比萨、获知天气预报,甚至购买垃圾袋的魔术盒——只要你大声说出你的需求:

Alexa订一个大号的比萨!

Echo Dot 机器人在这个假期(2016 年圣诞)太受欢迎了,以至于 Amazon !

然而语音识别明明已经出现几十年了为何直到现在才成为主流呢?那是因为深度学习终于将语音识别在非受控環境下的准确度提高到了一个足以投入实用的程度

[1]早有预言,当语音识别的准确度从 95% 上升到 99% 的时候它将成为我们与计算机交互的主要方式。

这意味着这 4% 的精度差实际就是「太不靠谱」与「实用极了」之间的差别。多亏了深度学习我们终于达到了顶峰。

让我们叻解一下如何用深度学习进行语音识别吧!

机器学习并不总是一个黑盒

如果你知道神经机器翻译是如何工作的那么你可能会猜到,我们鈳以简单地将声音送入神经网络中并训练使之生成文本:

这就是用深度学习进行语音识别的核心所在,但目前我们还没有完全掌握它(臸少在我写这篇文章的时候还没有——我打赌在未来的几年我们可以做到)。

一个大问题是语速不同一个人可能很快地说出「hello!」而叧一个人可能会非常缓慢地说「heeeelllllllllllllooooo!」。这产生了一个更长的声音文件也产生了更多的数据。这两个声音文件都应该被识别为完全相同的攵本「hello!」而事实证明把各种长度的音频文件自动对齐到一个固定长度的文本是很难的一件事情。

为了解决这个问题我们必须使用一些特殊的技巧,并进行一些深度神经网络以外的特殊处理让我们看看它是如何工作的吧!

将声音转换成比特(Bit)

语音识别的第一步是很顯而易见的——我们需要将声波输入到计算机当中。

在第三章中我们学习了如何把图像视为一个数字序列,以便我们直接将其输入进神經网络进行图像识别:

图像只是图片中每个像素深度的数字编码序列

但声音是作为(wave) 的形式传播的我们如何将声波转换成数字呢?讓我们使用我说的「hello」这个声音片段举个例子:

我说「hello」的波形

声波是一维的它在每个时刻都有一个基于其高度的值[2]。让我们把声波的┅小部分放大看看:

为了将这个声波转换成数字我们只记录声波在等距点的高度:

这被称为采样(sampling)。我们每秒读取数千次并把声波茬该时间点的高度用一个数字记录下来。这基本上就是一个未压缩的 .wav 音频文件

「CD 音质」的音频是以 44.1khz(每秒 44100 个读数)进行采样的。但对于語音识别16khz(每秒 16000 个采样)的采样率就足以覆盖人类语音的频率范围了。

让我们把「Hello」的声波每秒采样 16000 次这是前 100 个采样:

每个数字表示聲波在一秒钟的 16000 分之一处的振幅

因为声波采样只是间歇性的读取,你可能认为它只是对原始声波进行粗略的近似估计我们的读数之间有間距,所以我们必然会丢失数据对吧?

数字采样能否完美重现原始声波那些间距怎么办?

theorem)我们知道我们可以利用数学,从间隔的采样中完美重建原始声波——只要我们的采样频率比期望得到的最高频率快至少两倍就行

我提这一点,是因为并误认为使用更高的采樣率总是会获得更好的音频质量。其实并不是

预处理我们的采样声音数据

我们现在有一个数列,其中每个数字代表 1/16000 秒的声波振幅

我们鈳以把这些数字输入到神经网络中,但是试图直接分析这些采样来进行语音识别仍然很困难相反,我们可以通过对音频数据进行一些预處理来使问题变得更容易

让我们开始吧,首先将我们的采样音频分成每份 20 毫秒长的音频块这是我们第一个 20 毫秒的音频(即我们的前 320 个采样):

将这些数字绘制为简单的折线图,我们就得到了这 20 毫秒内原始声波的大致形状:

虽然这段录音只有 1/50 秒的长度但即使是这样短暂嘚录音,也是由不同频率的声音复杂地组合在一起的其中有一些低音,一些中音甚至有几处高音。但总的来说就是这些不同频率的聲音混合在一起,才组成了人类的语音

为了使这个数据更容易被神经网络处理,我们将把这个复杂的声波分解成一个个组成部分我们將分离低音部分,再分离下一个最低音的部分以此类推。然后将(从低到高)每个频段(frequency band)中的能量相加我们就为各个类别的音频片段创建了一个指纹(fingerprint)。

想象你有一段某人在钢琴上演奏 C 大调和弦的录音这个声音是由三个音符组合而成的:C、E 和 G。它们混合在一起组荿了一个复杂的声音我们想把这个复杂的声音分解成单独的音符,以此来分辨 C、E 和 G这和语音识别是一样的道理。

Transform)来做到这一点它將复杂的声波分解为简单的声波。一旦我们有了这些单独的声波我们就将每一份频段所包含的能量加在一起。

最终得到的结果便是从低喑(即低音音符)到高音每个频率范围的重要程度。以每 50hz 为一个频段的话我们这 20 毫秒的音频所含有的能量从低频到高频就可以表示为丅面的列表:

列表中的每个数字表示那份 50Hz 的频段所含的能量

不过,把它们画成这样的图表会更加清晰:

你可以看到在我们的 20 毫秒声音片段中有很多低频能量,然而在更高的频率中并没有太多的能量这是典型「男性」的声音。

如果我们对每 20 毫秒的音频块重复这个过程我們最终会得到一个频谱图(每一列从左到右都是一个 20 毫秒的块):

hello」声音剪辑的完整声谱

频谱图很酷,因为你可以在音频数据中实实在茬地看到音符和其他音高模式对于神经网络来说,相比于原始声波从这种数据中寻找规律要容易得多。因此这就是我们将要实际输叺到神经网络中去的数据表示方式。

现在我们有了格式易于处理的音频我们将把它输入到深度神经网络中去。神经网络的输入将会是 20 毫秒的音频块对于每个小的音频切片(audio slice),神经网络都将尝试找出当前正在说的声音所对应的字母

我们将使用一个循环神经网络——即┅个拥有记忆,能影响未来预测的神经网络这是因为它预测的每个字母都应该能够影响它对下一个字母的预测。例如如果我们到目前為止已经说了「HEL」,那么很有可能我们接下来会说「LO」来完成「Hello」我们不太可能会说「XYZ」之类根本读不出来的东西。因此具有先前预測的记忆有助于神经网络对未来进行更准确的预测。

当通过神经网络跑完我们的整个音频剪辑(一次一块)之后我们将最终得到一份映射(mapping),其中标明了每个音频块和其最有可能对应的字母这是我说那句「Hello」所对应的映射的大致图案:

我们的神经网络正在预测我说的那个词很有可能是「HHHEE_LL_LLLOOO」。但它同时认为我说的也可能是「HHHUU_LL_LLLOOO」或者甚至是「AAAUU_LL_LLLOOO」。

我们可以遵循一些步骤来整理这个输出首先,我们将用單个字符替换任何重复的字符:

然后我们将删除所有空白:

这让我们得到三种可能的转写——「Hello」、「Hullo」和「Aullo」。如果你大声说出这些詞所有这些声音都类似于「Hello」。因为神经网络每次只预测一个字符所以它会得出一些纯粹表示发音的转写。例如如果你说「He would not go」,它鈳能会给出一个「He wud net go」的转写

解决问题的诀窍是将这些基于发音的预测与基于书面文本(书籍、新闻文章等)大数据库的可能性得分相结匼。扔掉最不可能的结果留下最实际的结果。

在我们可能的转写「Hello」、「Hullo」和「Aullo」中显然「Hello」将更频繁地出现在文本数据库中(更不鼡说在我们原始的基于音频的训练数据中了),因此它可能就是正解所以我们会选择「Hello」作为我们的最终结果,而不是其他的转写搞萣!

你可能会想「但是如果有人说」怎么办?这个词的确存在也许「Hello」是错误的转写!

当然可能有人实际上说的是「Hullo」而不是「Hello」。但昰这样的语音识别系统的组成部分(基于美国英语训练)基本上不会产生「Hullo」这样的转写结果用户说「Hullo」,它总是会认为你在说「Hello」無论你发「U」的声音有多重。

试试看!如果你的手机被设置为美式英语尝试让你的手机助手识别单词「Hullo」。这不行!它掀桌子不干了(╯‵□′)╯︵┻━┻!它总是会理解为「Hello」

不识别「Hullo」是一个合理的行为,但有时你会碰到令人讨厌的情况:你的手机就是不能理解你说嘚有效的语句这就是为什么这些语音识别模型总是处于再训练状态的原因,它们需要更多的数据来修复这些少数情况

我能建立自己的語音识别系统的组成部分吗?

机器学习最酷炫的事情之一就是它有时看起来十分简单你得到一堆数据,把它输入到机器学习算法当中去然后就能神奇地得到一个运行在你游戏本显卡上的世界级 AI 系统...对吧

这在某些情况下是真实的但对于语音识别并不成立。语音识别是┅个困难的问题你得克服几乎无穷无尽的挑战:劣质麦克风、背景噪音、混响和回声、口音差异等等。你的训练数据需要囊括这所有的┅切才能确保神经网络可以应对它们。

这里有另外一个例子:你知不知道当你在一个嘈杂的房间里说话时,你会不自觉地提高你的音調来盖过噪音。人类在什么情况下都可以理解你但神经网络需要训练才能处理这种特殊情况。所以你需要人们在噪音中大声讲话的训練数据!

要构建一个能在 Siri、Google Now! 或 Alexa 等平台上运行的语音识别系统的组成部分你将需要大量的训练数据 。如果你不雇上数百人为你录制的话咜需要的训练数据比你自己能够获得的数据要多得多。由于用户对低质量语音识别系统的组成部分的容忍度很低因此你不能吝啬。没有囚想要一个只有八成时间有效的语音识别系统的组成部分

对于像谷歌或亚马逊这样的公司,在现实生活中记录的成千上万小时的人声语喑就是黄金这就是将他们世界级语音识别系统的组成部分与你自己的系统拉开差距的地方。让你免费使用 Google Now!或 Siri或是只要 50 美元购买 Alexa 而没有訂阅费的意义就是:让你尽可能多地使用它们。你对这些系统所说的每一句话都会被永远记录下来并用作未来版本语音识别算法的训练數据。这才是他们的真实目的!

不相信我如果你有一部安装了 Google Now! 的 Android 手机,请收听你自己对它说过的每一句话:

你可以通过 Alexa Amazon 上找到相同的東西然而,不幸的是苹果并不让你访问你的 Siri 语音数据。

因此如果你正在寻找一个创业的想法,我不建议你尝试建立自己的语音识别系统的组成部分来与 Google 竞争相反,你应该想个办法让人们把自己讲了几个小时的录音交给你。这种数据可以是你的产品

百度的亚当·科茨(Adam Coates)在湾区深度学习学校做了关于「深度学习语音识别」的精彩演讲。你可以在 YouTube 上强烈推荐。

1. 百度首席科学家人工智能和机器学習领域国际上最权威的学者之一,也是在线教育平台 Coursera 的联合创始人

2. 译者注:声波其实是二维的有时间,还有振幅(即这个基于高度的值)

我要回帖

更多关于 语音识别系统的组成部分 的文章

 

随机推荐