Hark语音识别学习(二)--HARK数据类型

来源:互联网 发布:红蜘蛛控制软件 编辑:程序博客网 时间:2024/04/29 23:31

HARK的数据类型Data Types有以下两种:

  • 节点的属性
  • 节点之间的连接。(内部节点的交流)

用来设置属性的数据类型

类型 意义 数据类型等级
int 整数类型 基础类型
float 单精度浮点类型 基础类型
string 字符串类型 基础类型
bool 逻辑类型 基础类型
Object Object类型 FlowDesigner特定的类型
subnet_param 子网络参数类型 FlowDesigner 特定类型

因为HARK用的C++的基本的数据类型,所以int,float,string,bool同C++。Object, subnet_param是FlowDeisgner 特有的数据类型。Object 是FlowDesigner 中的数据类型的类名。在HARK中,Vector, Matrix都是Objects的一种,可以设为属性。除了四种基本类型,其他都可以看成是Object类型。即使是int这种也可以包装成这种Object。有点像java。subnet_param是用来在多个节点间共享一个带有标签的参数的。

内部节点交流用的数据类型

通过曲线在两个终端(节点上的黑色点)传输的数据类型
这里写图片描述

int,float,double,complex,complex,string,bool基础类型同C++。
any类型是一种包含多种数据类型的离散的数据类型。专门定义在FlowDesigner中。

基本类型

int,float,bool,string,complex 很少单独作为节点的终端的数据类型使用,经常用于Vector,Matrix,Map 中。 浮点类型double 是由FlowDesigner 支持的,则是之用于Source 中。

To*

To*用来进行转换类型。比如 int使用ToInt,float使用ToFloat。。。

FlowDesigner类类型

Vector

Vector是用来存储数组的类型。Vector 是指用ObjectRef作为元素的向量(同C++)。当想使用Vector 作为参数时,数据类型要选择Object,比如我们想输入一个int的Vector,该Vector 存有3,4两个参数,那么就是

Matrix

Matrix表示矩阵,二维数组。有行列。使用Matrix用来进行节点间交流的包括MultiFFT,LocalizeMUSIC。

FlowDeisgner特有的类类型

any

any 是许多数据类型的泛型名。当一个节点的终端是any型时,他可以与任何类型的终端连接而不出现任何警告。但是最好尽量少用这个类型。MultiFFT,DataLogger,SaveRawPCM,MatrixToMap不能用这个类型.

ObjectRef

该数据类型是要被继承的数据类型的定义在FlowDesigner的Object的引用。具体来讲,他是Object类型的一个智能的指针。因为所有的FlowDesigner类类型,FlowDesigner特有的类型,HARK特有的类型都有Object作为父类,所以这些数据类型也是可以被指向的。

Object

subnet_param

这节点用于节点的属性。当设计subnet_param并设置一个共同的标签时,在多个子网节点中设置同一个参数作为属性,那通过修改MAIN下面这个标签的值,所有的值都可以被同步更新。比如,我们要创造一个迭代器网络,名字为LOOP0,要使用需要频繁被采集数据的节点,比如LocalizeMUSIC,GHDSS。采集频率可以在虚拟网络里的这两个节点的属性SAMPLEING_RATE设置。将采集频率设为subnet_param类型。将MAIN里的一个节点的属性设为subnet_param可以将节点设置成可以批量处理的参数。

HARK特定类型

Map

Map是键值对,值是ObjectRef类的。ObjectRef设计成指向Vector,Matrix,Source这些Object。因为HARK提供语音识别功能,每个话段都会被处理。Map

Source

这个类型表示源位置信息。在HARK中,它是处理声源分离时的声源位置的Map

HARK标准坐标系

HARK用的坐标系的中心是使用者自己设置的中心,通常是麦克风阵列的中心。x正半轴表示前面,y正半轴表示左半边,z正半轴表示上方。单位为米。逆时针方向为旋转的正方向。

1 0
原创粉丝点击