# 为啥你总是抢不到微信里的语音红包？

- Link: https://www.ixiqin.com/2017/11/06/wei-sha-ni-zong-shi-qiang-bu-dao-wei-xin-li-de-yu/
- Published: 2017-11-06T20:19:08+08:00
- Author: 白宦成

文章目录

 [Toggle](https://www.ixiqin.com/2017/11/06/wei-sha-ni-zong-shi-qiang-bu-dao-wei-xin-li-de-yu/#)

 * [总也抢不到的红包](https://www.ixiqin.com/2017/11/06/wei-sha-ni-zong-shi-qiang-bu-dao-wei-xin-li-de-yu/#%e6%80%bb%e4%b9%9f%e6%8a%a2%e4%b8%8d%e5%88%b0%e7%9a%84%e7%ba%a2%e5%8c%85)
 * [“我要说口令”背后的秘密](https://www.ixiqin.com/2017/11/06/wei-sha-ni-zong-shi-qiang-bu-dao-wei-xin-li-de-yu/#%e2%80%9c%e6%88%91%e8%a6%81%e8%af%b4%e5%8f%a3%e4%bb%a4%e2%80%9d%e8%83%8c%e5%90%8e%e7%9a%84%e7%a7%98%e5%af%86)
 * [什么是语音识别？](https://www.ixiqin.com/2017/11/06/wei-sha-ni-zong-shi-qiang-bu-dao-wei-xin-li-de-yu/#%e4%bb%80%e4%b9%88%e6%98%af%e8%af%ad%e9%9f%b3%e8%af%86%e5%88%ab%ef%bc%9f)
 * [英语流利说的语音识别](https://www.ixiqin.com/2017/11/06/wei-sha-ni-zong-shi-qiang-bu-dao-wei-xin-li-de-yu/#%e8%8b%b1%e8%af%ad%e6%b5%81%e5%88%a9%e8%af%b4%e7%9a%84%e8%af%ad%e9%9f%b3%e8%af%86%e5%88%ab)
 * [“我要说口令” 如何实现读口令抢红包的功能？](https://www.ixiqin.com/2017/11/06/wei-sha-ni-zong-shi-qiang-bu-dao-wei-xin-li-de-yu/#%e2%80%9c%e6%88%91%e8%a6%81%e8%af%b4%e5%8f%a3%e4%bb%a4%e2%80%9d_%e5%a6%82%e4%bd%95%e5%ae%9e%e7%8e%b0%e8%af%bb%e5%8f%a3%e4%bb%a4%e6%8a%a2%e7%ba%a2%e5%8c%85%e7%9a%84%e5%8a%9f%e8%83%bd%ef%bc%9f)
 * [这个红包，我不要了！](https://www.ixiqin.com/2017/11/06/wei-sha-ni-zong-shi-qiang-bu-dao-wei-xin-li-de-yu/#%e8%bf%99%e4%b8%aa%e7%ba%a2%e5%8c%85%ef%bc%8c%e6%88%91%e4%b8%8d%e8%a6%81%e4%ba%86%ef%bc%81)

### 总也抢不到的红包

一切都源自于一个红包，下午，朋友发消息给我说，让我领个红包。
  打开后，看到红包，
我不禁笑了。想我国家普通话水平等级测试一级乙等的水平，岂会怕一个小小的语音口令？
我清了清嗓子，以纯正的“播音腔”，念了“四十是四十，十四是屎拾”，小程序冷笑了一声，
返回给我了个“再接再厉，再录一次”。  我以为是自己没说好，站起身，气沉丹田，再次念
了一次“四十是四十，十四是屎拾”，旁人纷纷对我传来了异样的眼光…..然而异样的眼光也并
没有 我灰溜溜的走出房间，找了一处无人的地方，一次次的尝试去读“四十是四十，十四是
屎拾”。然而努力是没有结果的，每次都是武功而返。

### “我要说口令”背后的秘密

既然无法抢到红包，气急败坏的我开始想，为什么我这么纯正的普通话，还抢不到红包？
 
作为一个普通话一乙的北方人，如果我都领不了红包，岂不是只有一甲的播音员们才能抢到？
问题肯定不在此。于是，我开始动用我身为程序员的本能，开始分析小程序背后的技术。 终于，
我想到了，它之所以能够做到读对口令才能抢到红包，完全是依赖于背后的一项技术——**“语音
识别”**

### 什么是语音识别？

语音识别背后有非常多的技术，我这里尽量简单的给你说明什么是语音识别。
  首先，用户
在 App 中按下按钮，录制语音，然后 App 会将音频**上传到后台的服务器**，后台的服务
器对声音进行**特征提取**，传递给下个阶段的处理器，这个时候，我们的声音信号已经由**
声音信号**转变为处理后的**特征信号**。  然后处理器再通过接入 **“声学模型”**，来获取
不同的特征信号可能代表的字词；再由**“语言模型”**，实现对所有可能字词的选择，得出
最可能的结果。 最终，经过一系列的处理，我们说话的一段语音信号，就变成了一句话 “你
今天吃饭了么？”

### 英语流利说的语音识别

英语流利说的语音识别功能是非常厉害的，就如其广告中所说“会打分的人工智能英语老师”，
英语流利说的依仗，便是其比别人更加优秀的**”声学模型“**和**”语言模型“**
  学员在手机
上录音，录音经过上传，到云端进行**特征提取**，再由“模特声音训练过”的**“声学模型”**
进行处理（这里的模特声音训练过非常重要，训练材料的不同会导致模型的天差地别），**
声学模型**处理过后，文字会传递给**语言模型**，组合成句。在完成两处处理后，对声音
信号和文字信号进行打分，如果你的准确率比较高，你就能够获得一个**Nice！**

> 语音上传部分我打了问号，是因为流利说本身也有离线打分引擎，所以可能我们的语音没有
> 上传到云端，在本地就直接进行处理了。

更细致的信息你可以到 [「英语流利说」是如何进行比对评分的？ – 林晖的回答 – 知乎](https://www.zhihu.com/question/21511653/answer/30916375)
去看，林晖先生解释的很细致。

### “我要说口令” 如何实现读口令抢红包的功能？

由于“我要说口令”小程序本身的功能要比英语流利说更为简单一些，不需要进行特殊模型训练，
可以借助一些云计算服务商提供的 API 来实现功能。这里，我们拿“**阿里云 ET 智能语音
交互**”服务 来举例。

> 此处仅代表我个人针对“我要说口令”小程序的分析，不代表其官方架构。

小程序在手机上进行录音，然后将录音**上传至开发者的服务器**，服务器上的后台程序再
将声音信号通过 API 传递给** 阿里云 ET 智能语音交互**，并调用其中的 **智能语音识别
接口**，**接口对语音信号进行处理后，返回识别的文字**，比如在刚刚那个红包中，识别
出来的文字是“四十是四十是四是屎拾”。开发者的服务器在受到服务器传回的文字后，和发
红包的人设置的文字对比，看看两个文字是否相同。如果文字相同，就说明读对了，用户就
可以拿到红包；如果文字不同，就要告诉用户“再接再励”了。
  当然，实际上在对比的标准
中可能不会这么简单，因为在这种情况下，声学模型和语言模型识别出来的文字可能会非常
奇葩，用户能够匹配上设置的文字的可能性就会非常小，这时，程序员可能就会在这方面设置
一个“冗余度”，如果内容中有80%的文字是对的上，就能拿到红包。

### 这个红包，我不要了！

 想到这里，我不禁悲从中来，由于“**声学模型**”和“**语言模型**”的性能，计算我读的
再好，可能也无法被很完美的识别出来。特别是这种几乎是无序的内容，语言模型根本无法
很好的处理，我总是抢不到红包也是正常的了。以我的运气，这辈子怕是都抢不到语音红包
了，我还是去群里抢普通运气红包吧！ 不过，虽然我不能抢红包，但是我可以去做一个抢红包
的小程序！有了“**阿里云 ET 智能语音交互**”，无需自主建立语音识别的系统，轻松实现
语音识别！ **阿里云智能语音交互地址：[https://data.aliyun.com/product/nls](https://data.aliyun.com/product/nls)**

---

写在最后：
 谁认识阿里云的语音交互的运营小姐姐，帮忙问问，我这么卖力，给我个鸡腿
吃好不好！
