1.概述

最近做了两个与语音识别相关的项目,两个项目的主要任务虽然都是语音识别,或者更确切的说是关键字识别,但开发的平台不同, 一个是windows下的,另一个是android平台的,于是也就选用了不同的语音识别平台,前者选的是微软的Speech API开发的,后者则选用 的是CMU的pocketsphinx,本文主要将一些常见的语音交互平台进行简单的介绍和对比。

这里所说的语音交互包含语音识别(Speech Recognition,SR,也称为自动语音识别,Automatic Speech Recognition,ASR)和语音 合成(Speech Synthesis,SS,也称为Text-To-Speech,简记为TTS)两种技术,另外还会提到声纹识别(Voice Print Recognition, 简记为VPR)技术。

语音识别技术是将计算机接收、识别和理解语音信号转变为相应的文本文件或者命令的技术。它是一门涉及到语音语言学、信号处理、 模式识别、概率论和信息论、发声机理和听觉机理、人工智能的交叉学科。在语音识别系统的帮助下,即使用户不懂电脑或者无法使用 电脑,都可以通过语音识别系统对电脑进行操作。

语音合成,又称文语转换(Text to Speech)技术,能将任意文字信息实时转化为标准流畅的语音朗读出来,相当于给机器装上了人工 嘴巴。它涉及声学、语言学、数字信号处理、计算机科学等多个学科技术,是中文信息处理领域的一项前沿技术,解决的主要问题就是如何 将文字信息转化为可听的声音信息,也即让机器像人一样开口说话。

下面按平台是否开源来介绍几种常见的语音交互平台,关于语音识别和语音合成技术的相关原理请参见我接下来的其他文章。

经常打羽毛球的人可能会很少有肌肉突然剧烈酸疼的感觉,反而是那些平时不太打球,突然打那么一两次的人,常常会出现肌肉酸痛。 肌肉酸痛往往不是锻炼后即刻出现,而是在第二或第三天出现,持续2-3天后才逐渐缓解。这都是为什么呢?如果说,肌肉酸痛是由于 运动时乳酸积累所致,那么,应该在运动时或运动后即刻达到高峰,怎么会在第二天以后才出现呢?

在运动医学上,把这种一般在24小时候才出现的肌肉酸痛称之为"延迟性肌肉酸痛症"。锻炼后24-72小时酸痛达到顶点,5-7天后的疼痛基本消失。 除酸痛外,还有肌肉僵硬,轻者仅有压疼,重者肌肉肿胀,妨碍活动。任何骨骼肌在激烈运动后均可发生延迟性肌肉酸痛,尤其长距离跑后更易 出现。长跑者可出现髋部、大腿部和小腿部前侧伸肌和后侧屈肌的疼痛,在肌肉远端和肌腱连接处症状更显。在炎热夏天进行极量运动后,除 肌肉疼痛外,还可出现脱水、低钙、低蛋白等症状。

赛跑是一种反常的运动,就是说肌肉在试图收缩的时候其实是被迫拉长。拉长或不寻常的运动经常会导致肌肉在数小时后甚至数天后出现疼痛, 而且一碰就痛还变硬。这种现象被称为迟发性肌肉酸痛,发生非常普遍。肌肉肿胀和僵硬的感觉通常出现在运动后大约24小时,在大约2天时达到 高峰,然后逐渐消退,因为肌肉酸痛是延迟一段时间才发作的,所以不能把它归为是过度运动的结果。事实上,真正的原因是肌肉纤维膜和蛋白 丝体出现小的撕裂,造成局部的肌肉损伤。

所以,迟发性肌肉酸痛是肌肉产生太多撕裂伤的结果。当我们运动时,为了加快速度,我们需要不断让肌肉接受挑战,希望它们达到我们想要的速度。 这种渐进的超负荷会导致肌肉纤维的撕裂。在这个过程中,我们会在一天后出现中度的酸痛感。

另外,运动后肌肉血流增加也会导致组织肿胀,这样的肿胀会增加对周围的组织结构的压迫。肌肉中的神经一感觉到压迫,就把疼痛信号传递到大脑, 这样,你就会在运动完后的第二天早晨感觉到疼痛。

运动过后肌肉纤维在消耗能量后需要补充蛋白质,特别是平时不运动的突然运动后都会出现肌肉酸痛。一定要是酸痛,有酸涨感的,如是疼痛, 针刺感的是受伤产生的,要休息一旦时间才能好,严重的要去医院。

两个办法缓解:1、休息,酸痛会在一周内缓解并消失。2、继续保持运动,但运动量不要大,一般腿酸就慢跑,每次跑到酸痛感渐渐减弱到很小 时停止。坚持2-4天就好了。

摘 要

动物机器人已经成为机器人技术领域的重要研究方向之一,动物运动制导是当今神经、信息和机器人等科学交叉研究的一个热点。 本文结合基于BCI的大鼠动物机器人的实例来介绍有关动物机器人的研究进展、研究方法,并对其发展前景进行展望。

关键字

脑机接口;动物机器人;大鼠

0 前言

在科技日益发达的现代信息社会,我们对机器人已经不再陌生,比如:科幻片中的高级智能化的机器人、自动化生产线上的工业 机器人、大型展馆里的导航服务机器人、太空中火星上的“勇气号”探险机器人等等。然而,它们的任何一个动作都是由电脑程序来 完成的,而且所有动作都是程序固定的,不能够灵活,而且一旦能量耗尽将会滞留原地,进退维谷,可谓“出师未捷身先死”,在很多 方面都不如动物灵活、敏捷,而且所消耗的能量也不能靠自身解决。

回眸历史,人类利用动物来替代自己进行艰苦的工作,甚至人力所不能及的工作,己经有近万年了。在这近万年的历史里,产生了战马、 耕牛、狩猎犬和信鸽等执行特殊任务的动物。但这些动物所执行的任务较为单一,智力含量较为低下,若是动物能够完全受控于人类, 将是非常完美的设想。

基于BCI (Brain-Computer Interface,脑-机接口)的动物机器人既很好地解决了微型机器人携带能量不足的问题,同时可以通过 人工控制来执行一些特殊的、复杂的任务,还具有人类赋予的智能。

在machine learning 的很多问题中,我们最终往往要求解某个函数的最优值。用数学术语表示就是, 给定一个函数 $f: R^{n} \rightarrow R$,求 $ x \in R^{n} $使得$f(x)$ 取得最小(大)值。例如least-square, logistic regression, linear regression, svm, etc. 这类问题统称为优化问题。

1.引言

在一般情况下,求解任意一个函数的全局最优值是很困难的。但是对于一种特定类型的函数——凸函数(convex function), 我们可以很有效的求解其全局最优值。这里的“有效”是指在实际问题求解中,能在多项式复杂度的时间里求解。 人们将这类函数的最值问题称为凸优化问题(Convex Optimal Problem)。下面我从凸集和凸函数讲起,然后 介绍凸优化的一般描述和典型问题举例。

2.凸集及其实例

凸集的定义:一个集合$C$是凸集,当且仅当对任意$x,y\in C$和$\theta \in R$且$0\leq \theta \leq 1$,都有

$\theta x + (1-\theta)y \in C$.
其几何意义在于,在集合C中任取两个点,连接两点的直线段上的任一点也在集合C中。下图是凸集和非凸集的例子:

前两天在98上看到一个帖子 windows 8 没法和linux共存? 里面有一个概念就是EFI

什么是EFI?

EFI英文全称为Extensible Firmware Interface,中文译为可扩展固件接口,其主要目的是为了提供一组在 OS 加载之前(启动前)在 所有平台上一致的、正确指定的启动服务。EFI最初由Intel开发,并在2002年12月所发布1.1版,后来在2005年Intel将此规范交由UEFI论坛 来推广与发展,并更名为Unified EFI(UEFI)。

EFI是一种个人电脑系统规格,用来定义操作系统与系统固件之间的软件界面,为替代BIOS的升级方案。可扩展固件接口(EFI)负责 加电自检(POST)、连系操作系统以及提供连接操作系统与硬件的接口。UEFI在EFI基础上增加与改进了加密编码(cryptography)、 网络认证(network authentication)与用户界面架构(User Interface Architecture)等方面的内容。EFI在软件层次中的位置如下图

In mathematics, the log sum inequality is very useful for proving several theorems in information theory.

1.Statements

Suppose ai and bi are nonnegative numbers. The log sum inequality states that

$\sum_{i=1}^{n}a_{i}log \frac{a_{i}}{b_{i}} \seq a log \frac{a}{b}$,
where $a=\sum a_{i}$ and $b=\sum b_{i}$. The equality established if and only if $a_{i}/b{i}$ are equal for all $i$.

2.Proof

(1)Convex functioin

In mathematics, a real-valued function F(x) defined on an interval is called convex (or convex downward or concave upward) if the graph of the function lies below the line segment joining any two points of the graph. Equivalently, a function is convex if its epigraph (the set of points on or above the graph of the function) is a convex set.

1.Gaussian Mixture Models(GMM)

For a D-dimensional feature vector, x, the mixture density used for the likelihood function is defined as

$p(x|\lambda) = \sum_{i=1}^{M}w_{i}p_{i}(x)$.

The density is a weighted linear combination of $M$ unimodal Gaussian densities , $p_{i}(x)$
$p_{i}(x) = \frac{1}{(2\pi)^{D/2}|\sum _{i}|^{1/2}} exp[-\frac{1}{2}(x-\mu_{i})^{T}(\sum _{i})^{-1}(x-\mu_{i})]$.

2.Support Vector Machines(SVM)

An SVM is a two-class classifier constructed from sums of a kernel function $K(• , •)$

$f(x) = \sum_{i=1}{N}\alpha_{i} t_{i} K(x,x_{i}) + d$.

$t_{i}$ are the ideal outputs, $\sum_{i=1}{N}\alpha_{i} t_{i}=0$ and $\alpha_{i} > 0$,$x_{i}$ are support vectors and obtained from the training set by an optimization process.
$K(. , .)$ is constrained to have certain properties (the Mercer condition), so that it can be expressed as
$K(x,y) = b(x)^{T} b(y)$.

Kernel function examples: http://www.shamoxia.com/html/y2010/2292.html

1.说话人分类常用算法

说话人分类是说话人识别中的一大主题,目前已经发展了很多方法,这些方法大致可以分为两类:
(1)基于概率分布的高复杂度的精确分类算法,如高斯混合模型(Gaussian Mixture Model,GMM)、隐马尔科夫 模型(Hidden Markov Model,HMM)和支持向量机(Support Vector Machine,SVM)模型;
(2)基于模板的低复杂度的分类算法,如向量量化方法(Vector Quantization,VQ)。
第一类说话人分类算法能取得不错的效果,但他们的高复杂度使得进行说话人识别需要很长时间,不适合于实时应用。 而第二类说话人匪类算法虽然复杂度低,但当系统中说话人的人数增加时,识别性能下降得很快。

Wu Junwen,Zhang Xuegong提出了一种基于PCA的分类器(即主成分子空间(Principal Component Subspace,PCS)分类器), 作为一种线性分类器,其复杂度低于以上第一类算法,又表现出很好的分类能力。另外,我们还可以根据截断误差子空间来构造分类器, 称为TES(Truncation Error Subspace)分类器。这两种分类器反映了主成分分析方法的两个方面,结合两种分类器可得到混合分类器, 称其为P&T分类器。

1.概述

Mel倒谱系数(Mel-frequency cepstral coefficients,MFCC)是受人的听觉系统研究成果推动而导出的声学特征。 研究发现,当两个音调的频率差小于临界带宽时,人就会把两个音调听成一个(屏蔽效应)。Mel刻度是对这一临界带宽的 度量方法之一, MFCC在语音识别领域应用广泛。本文详细介绍了Mel频率倒谱系数参数的6大提取步骤。

2.什么是Mel频率倒谱系数?

Mel频率倒谱系数(Mel Frequency Cepstrum Coefficient)的缩写是MFCC,Mel频率是基于人耳听觉特性提出来的, 它与Hz频率成非线性对应关系。Mel频率倒谱系数(MFCC)则是利用它们之间的这种关系,计算得到的Hz频谱特征。

用录音设备录制一段模拟语音信号后,经由自定的取样频率(如8000 Hz、16000 Hz等)采样后转换(A/D)为数字语音信号。 由于在时域(time domain)上语音信号的波形变化相当快速、不易观察,因此一般都会在频域(frequency domain)上来观察, 其频谱是随着时间而缓慢变化的,因此通常可以假设在一较短时间中,其语音信号的特性是稳定的,通常我们定义这个较短 时间为一帧(frame),根据人的语音的音调周期值的变化,一般取10~20ms。

1.概述

首先从随机变量的方差的性质讲起。
设$X$,$Y$是两个随机变量,$E(X)$,$E(Y)$,$D(X)$,$D(Y)$分别为各自的期望和方差,则有:

$D(X+Y)=D(X)+D(Y)+2E{(X-E(X))(Y-E(Y))} $. (1)

特别的,当$X$,$Y$相互独立时,有:
$D(X+Y)=D(X)+D(Y) $. (2)

对比(1)式和(2)式知,$X$,$Y$相互独立时还应该有:
$E{(X-E(X))(Y-E(Y))} =0 $. (3)

这意味着当$E{(X-E(X))(Y-E(Y))}\neq 0$时,X与Y不相互独立,而是存在一定关系的。

2.相关系数和协方差

我们把$E{(X-E(X))(Y-E(Y))}$拿出来,单独定义一个概念,即协方差,记为$Cov(X,Y)$,即:

$Cov(X,Y)=E{(X-E(X))(Y-E(Y))} $. (4)


$\rho _{XY} = \frac{Cov(X,Y)}{\sqrt{DX}\sqrt{DY}}$. (5)

称为随机变量$X$,$Y$的相关系数
将$Cov(X,Y)$的定义式展开,易得:
$Cov(X,Y)=E(XY)-E(X)E(Y)$. (6)

我们常常用这一式子计算协方差