这是 julius 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
朱利叶斯·
- 开源多用途LVCSR引擎
概要
朱利叶斯· [-C 配置文件[选项...]
商品描述
朱利叶斯· 是一种高性能、多用途、开源的语音识别引擎,用于
研究人员和开发人员。 它能够执行几乎实时的识别
具有超过 60k 字的 3-gram 语言模型和 triphone HMM 模型的连续语音,在大多数情况下
当前的 PC。 朱利叶斯· 可以对音频文件进行识别,实时麦克风输入,
网络输入和特征参数文件。
核心识别模块被实现为名为“JuliusLib”的 C 库。 也可以
通过插件工具扩展。
支持 型号
朱利叶斯· 需要一个语言模型和一个声学模型来作为语音识别器运行。 朱利叶斯·
支持以下机型。
原声吉他 模型
支持 HTK ascii 格式的子字 HMM(隐马尔可夫模型)。 音素
模型(单音素)、上下文相关音素模型(三音素)、绑定混合和
可以使用任何单位的拼音混合模型。 使用上下文相关时
模型,词间上下文依赖性也被处理。 多流功能和
还支持 MSD-HMM。 您可以进一步使用工具 米克宾恩 转换 ascii
HMM 文件转换为紧凑的二进制格式以加快加载速度。
需要注意的是 朱利叶斯· 本身只能从语音数据中提取MFCC特征。 如果你使用
为其他特征训练的声学 HMM,你应该在 HTK 参数中给出输入
相同特征类型的文件。
语言 模型: 字 N-gram
支持 Word N-gram 语言模型,最大支持 10-gram。 朱利叶斯使用不同的
每次通过 N-gram:第一次从左到右 2-gram,从右到左 N-gram
第二关。 对于 Julius,建议同时使用 LR 2-gram 和 RL N-gram。
但是,您只能使用单个 LR N-gram 或 RL N-gram。 在这种情况下,近似
从给定的 N-gram 计算出的 LR 2-gram 将在第一遍应用。
支持标准 ARPA 格式。 此外,二进制格式也是
支持效率。 工具 米克宾格拉姆(1)可以将ARPA格式的N-gram转换为
二进制格式。
语言 模型: 语法
语法格式是原创的,还有创建识别语法的工具
包含在发行版中。 一个语法由两个文件组成:一个是
使用单词以 BNF 风格描述句子结构的“语法”文件
“类别”名称作为终止符号。 另一个是定义单词的“voca”文件
及其每个类别的发音(即音素序列)。 他们应该是
转换为 MKDFA(1) 到确定性有限自动机文件 (.dfa) 和
字典文件 (.dict),分别。 您还可以使用多种语法。
语言 模型: 孤立 字
您可以仅使用单词词典执行孤立词识别。 有了这个
模型类型,Julius 将使用静态上下文执行快速单次识别
处理。 每个单词的首尾都会添加静音模型。 你可以
还可以在一个过程中使用多个字典。
搜索 算法
的识别算法 朱利叶斯· 基于两遍策略。 Word 2-gram 和反向
单词 3-gram 用于相应的传递。 整个输入在第一个处理
通过,并再次对输入执行最终搜索过程,使用
缩小搜索空间的第一遍的结果。 具体来说,认
算法基于与从左到右相结合的树格启发式搜索
帧同步波束搜索和从右到左堆栈解码搜索。
使用上下文相关音素(三音素)时,会考虑词间上下文
考虑。 对于绑定混音和语音绑定混音模型,高速声学
使用高斯剪枝可以进行似然计算。
更多详细信息,请参见相关文档。
配置
这些选项指定模型、系统行为和各种搜索参数以
朱利叶斯。 这些选项可以在命令行设置,但建议你写
它们在文本文件中作为“jconf 文件”,并通过“-C”选项指定。
包含 JuliusLib 的应用程序也使用这些选项来设置核心的参数
识别引擎。 例如,可以通过调用将 jconf 文件加载到 enine
j_config_load_file_new() 以 jconf 文件名作为参数。
请注意 jconf 文件中的相对路径应该是相对于 jconf 文件的
本身,而不是当前的工作目录。
以下是按组收集的所有选项的详细信息。
朱利叶斯 应用 选项
这些是 Julius 的应用程序选项,在 JuliusLib 之外。 它包含参数和
结果输出、字符集转换、日志级别和模块模式选项的开关。
这些选项特定于 Julius,不能在使用 JuliusLib 的应用程序中使用
除了朱利叶斯。
-输出文件
在文件输入时,此选项将每个文件的识别结果写入单独的
文件。 输入文件的输出文件将是相同的名称,但后缀将是
改为“.out”。 (修订版 4.0)
- 单独的分数
分别输出语言和声学分数。
-回调调试
在每次调用时打印回调名称以进行调试。 (修订版 4.0)
-charconv 在 至
使用字符集转换打印。 在 是使用的源字符集
语言模型,以及 至 是您想要获取的目标字符集。
在 Linux 上,参数应该是代码名称。 您可以获得可用的列表
通过调用命令“iconv --list”来命名代码。 在 Windows 上,参数应该是
代码名称或代码页编号。 代号应该是“ansi”、“mac”、“oem”之一,
“utf-7”、“utf-8”、“sjis”、“euc”。 或者您可以指定任何支持的代码页编号
你的环境。
-nocharconv
禁用字符转换。
-模块 [港口]
在“服务器模块模式”下运行 Julius。 启动后,Julius 等待 tcp/ip 连接
从客户。 建立连接后,Julius 开始与客户端通信
处理来自客户端的传入命令,或输出识别结果,输入
向客户端触发信息和其他系统状态。 默认端口号是
10500.
-记录 DIR
将所有输入的语音数据自动保存到指定目录中。 每个分段输入是
一一记录下来。 记录数据的文件名由系统时间生成
当输入结束时,格式为 YYYY.MMDD.HHMMSS.wav。 文件格式为 16 位单声道
声波。 对 mfcfile 输入无效。
通过输入拒绝 -拒绝短,被拒绝的输入也将被记录,即使
他们被拒绝了。
-日志文件 文件
将所有日志输出保存到文件而不是标准输出。 (修订版 4.0)
-nolog
禁用所有日志输出。 (修订版 4.0)
-救命
输出帮助信息并退出。
全球覆盖 选项
这些是与音频输入、声音检测、GMM、
解码算法、插件工具等。 全局选项应该放在
任何实例声明(-是, -LM或 -SR),或在“-全球的“ 选项。
音频 输入
-输入 {mic|rawfile|mfcfile|adinnet|stdin|netaudio|alsa|oss|esd}
选择语音输入源。 为波形文件指定 'file' 或 'rawfile',
'htkparam' 或 'mfcfile' 用于 HTK 参数文件。 在文件输入时,用户将
提示从标准输入输入文件名,或者您可以使用 -文件列表 选项
指定要处理的文件列表。
“mic”是从默认的现场麦克风设备获取音频输入,“adinnet”
表示通过 tcpip 网络从 adinnet 客户端接收波形数据。
'netaudio' 来自 DatLink/NetAudio 输入,'stdin' 表示来自
标准输入。
对于波形文件输入,只有 WAV(无压缩)和 RAW(无头,16 位,大
endian) 默认支持。 编译时可以读取其他格式
libsnd 库。 要查看实际支持的格式,请参阅帮助消息
使用选项 -救命. 对于标准输入,仅支持 WAV 和 RAW。 (默认:
文件)
在 Linux 中,您可以通过指定 alsa、oss 和 esd 在运行时选择 API。
-块大小 样本
以样本数表示的音频片段大小。 (默认值:1000)
-文件列表 文件名
(带 -输入 原始文件|mfcfile) 对列表中列出的所有文件执行识别
文件。 该文件应每行包含输入文件。 引擎将在所有时结束
文件被处理。
-无类型检查
默认情况下,Julius 检查输入参数类型是否与 AM 或
不是。 此选项将禁用检查并强制引擎使用输入向量
照原样。
-48
以 48kHz 采样记录输入,并在运行中将其下采样到 16kHz。 这个
选项仅对 16kHz 型号有效。 下采样例程是从
sptk。 (修订版 4.0)
-NA 设备名称
DatLink 服务器输入的主机名 (-输入 网络音频).
-导入 端口号
通过 -输入 阿丁网, 指定要监听的adinnet 端口号。 (默认:5530)
-鼻贴
Julius 默认删除输入语音数据中的连续零样本。 这个
选项禁止删除。
-z均值 , -nozmean
此选项启用/禁用输入波形的 DC 偏移去除。 偏移量将是
从整个输入估计。 对于麦克风/网络输入,零均值
前 48000 个样本(3kHz 采样中的 16 秒)将用于
估计。 (默认:禁用)
此选项对通道使用静态偏移。 也可以看看 -zmean源 HPMC胶囊
逐帧偏移去除。
发言 发现 by 水平 和 过零
- 沉默 , -无声
通过电平和过零打开/关闭语音检测。 默认为
mic / adinnet 输入,关闭文件。
-lv 阈值
语音输入检测的电平阈值。 值应在 0 到
32767。(默认值:2000)
-zc 阈值
每秒过零阈值。 只有超过级别的输入
临界点 (-lv) 将被计算在内。 (默认:60)
- 利润率 毫秒
语音段开始处的静音余量,以毫秒为单位。 (默认:300)
-尾边距 毫秒
语音段末尾的静音余量,以毫秒为单位。 (默认:400)
输入 拒绝
实现了两种简单的前端输入拒绝方法,基于输入长度
和检测段的平均功率。 平均功率的抑制是
实验性的,可以在编译时通过 --enable-power-reject 启用。 适用于
MFCC 功能只有功率系数和实时输入。
对于基于 GMM 的输入拒绝,请参阅下面的 GMM 部分。
-拒绝短 毫秒
拒绝短于指定毫秒的输入。 搜索将被终止并
不会输出任何结果。
-powerthres 阈值
以平均能量拒绝输入的片段。 如果平均能量
最后识别的输入低于阈值,Julius 将拒绝输入。
(修订版 4.0)
该选项在编译时指定--enable-power-reject 时有效
时间。
高斯 混合物 模型 / GMM-VAD
GMM 将用于通过累积得分拒绝输入,或用于前端
指定 --enable-gmm-vad 时基于 GMM 的 VAD。
注意:您还应该设置 GMM 所需的适当 MFCC 参数,
指定 AM 部分中描述的声学参数 -AM_GMM.
当启用基于 GMM 的 VAD 时,语音活动分数将在每个
框架作为前端处理。 该值将计算为 \[ \max_{m \in M_v}
p(x|m) - \max_{m \in M_n} p(x|m) \] 其中 $M_v$ 是一组语音 GMM,$M_n$ 是
一组噪声 GMM,其名称应由 -gmm拒绝. 活动
然后将最后 N 帧的分数平均,其中 N 由
-gmmmargin. Julius 更新每一帧的平均活动分数,并检测
当值高于指定的值时语音向上触发 -gmmup及
当它低于一个值时检测向下触发 -gmmdown.
-gmm hmmdefs_文件
HTK 格式的 GMM 定义文件。 如果指定,则基于 GMM 的输入验证
将与第一遍同时执行,您可以拒绝输入
根据指定的结果 -gmm拒绝. GMM 应定义为
一状态 HMM。
-gmmnum 数
GMM 计算中每帧要计算的高斯分量的数量。 仅有的
将计算 N-best Gaussians 以进行快速计算。 默认值为 10
并指定较小的值会加快 GMM 计算,但值太小
(1 或 2) 可能会导致识别性能下降。
-gmm拒绝 绳子
以逗号分隔的 GMM 名称列表作为无效输入被拒绝。 什么时候
识别,为整个输入累积的 GMM 的对数似然将
与第一遍同时计算。 如果最高分的 GMM 名称
在这个字符串内,第二遍将不会被执行,输入将是
被拒绝。
-gmmmargin 帧
(GMM_VAD) 以帧为单位的头部边距。 当 GMM 检测到语音触发时,
识别将从当前帧减去此值开始。 (修订版 4.0)
此选项仅在使用 --enable-gmm-vad 编译时才有效。
-gmmup 折扣值
(GMM_VAD) 语音活动得分的上触发阈值。 (修订版 4.1)
此选项仅在使用 --enable-gmm-vad 编译时才有效。
-gmmdown 折扣值
(GMM_VAD) 语音活动评分的向下触发阈值。 (修订版 4.1)
此选项仅在使用 --enable-gmm-vad 编译时才有效。
解码 选项
实时处理是指MFCC计算1st pass的并发处理
解码。 默认情况下,对麦克风的实时处理是开启的 /
adinnet / netaudio 输入,以及其他。
-即时的 , - 非实时
在第一次通过时显式打开/关闭实时(管道)处理。
文件输入默认关闭,麦克风、adinnet 和 NetAudio 默认开启
输入。 此选项与执行 CMN 和能量归一化的方式有关:
如果关闭,它们将使用整个输入的平均特征来完成。 如果打开,MAP-CMN
和能量归一化做实时处理。
杂项。 选项
-C 配置文件
在此处加载 jconf 文件。 jconffile 的内容将在此展开
点。
-版
将版本信息打印到标准错误,然后退出。
-环境
将引擎设置信息打印到标准错误,然后退出。
-安静的
输出较少的日志。 结果,只会打印最好的单词序列。
-调试
(用于调试)输出大量内部消息和调试信息到日志。
-检查 {wchmm|格子|triphone}
对于调试,进入交互检查模式。
-插件目录 目录
指定加载插件的目录。 如果存在多个目录,请通过以下方式指定它们
冒号分隔的列表。
例 声明 HPMC胶囊 多 解码
以下参数将创建一个具有默认参数的新配置集,以及
开关电流设置为它。 选项后指定的 jconf 参数将被设置到
当前集。
要进行多模型解码,应在每个模型的第一个指定这些参数
/ 搜索具有不同名称的实例。 第一个实例定义之前的任何选项
将被忽略。
当没有找到实例定义时(作为旧版本的 Julius),所有选项都是
分配给名为 _default 的默认实例。
请注意,不完全支持使用单个 LM 和多个 AM 进行解码。 为了
例如,您可能希望按如下方式构建 jconf 文件。
尚不支持这种类型的模型共享,因为 LM 处理的某些部分取决于
在指定的 AM 上。 相反,您可以通过为每个定义相同的 LM 来获得相同的结果
上午,像这样:
-是 姓名
创建一个新的 AM 配置集,并将当前的切换到新的。 你应该给一个
独特的名字。 (修订版 4.0)
-LM 姓名
创建一个新的 LM 配置集,并将当前的切换到新的。 你应该给一个
独特的名字。 (修订版 4.0)
-SR 姓名 姓名 流媒体名称
创建一个新的搜索配置集,并将当前的切换到新的。 指定的
AM 和 LM 将分配给它。 这 姓名 和 流媒体名称 可以是名称或 ID
数字。 你应该给一个唯一的名字。 (修订版 4.0)
-AM_GMM
使用 GMM 进行前端处理时,可以指定 GMM 特定的声学
此选项后的参数。 如果您没有指定 -AM_GMM 使用 GMM,GMM 将
与最后一个 AM 共享相同的参数向量。 当前的 AM 将切换到
GMM 一,所以小心不要与正常的 AM 配置混淆。 (修订版 4.0)
-全球的
开始一个全局部分。 全局选项应该放在任何实例之前
声明,或在多个模型识别的此选项之后。 这个可以用
多次。 (修订版 4.1)
- 鼻子检查 , -部分检查
在多模型解码中禁用/启用选项位置检查。 启用后,
实例声明之间的选项被视为“部分”,并且只有属于
可以写入选项类型。 例如,当一个选项 -是 指定,只有 AM
相关选项可以放在选项之后,直到找到其他声明。 还,
全局选项应该放在顶部,在任何实例声明之前。 这是
默认启用。 (修订版 4.1)
语言 模型 (-LM)
该组包含用于每种语言模型类型的模型定义的选项。 使用时
多个LM,一个实例只能有一个LM。
只能为 LM 配置指定一种类型的 LM。 如果你想使用多
模型,您应该将它们定义为一个新的 LM。
N-gram
-d 二进制文件
使用二进制格式的 N-gram。 可以将 ARPA N-gram 文件转换为 Julius 二进制文件
由 mkbingram 格式。
-nlr arpa_ngram_文件
标准 ARPA 格式的前向、从左到右的 N-gram 语言模型。 什么时候
前向 N-gram 和后向 N-gram 都被指定,Julius 使用这个
第一次传递前向 2-gram,第二次传递后向 N-gram。
由于 ARPA 文件通常会变得很大并且需要很多时间来加载,因此它可能是
最好通过 mkbingram 将 ARPA 文件转换为 Julius 二进制格式。 注意
如果前向和后向 N-gram 都用于识别,它们一起将
转换为单个二进制文件。
当此选项仅指定前向 N-gram 而没有后向 N-gram 时
由 -nrl,Julius 仅使用前向 N-gram 进行识别。 这
第一遍将使用给定 N-gram 中的 1-gram 条目,第二遍将
使用给定的 N-gram,将前向概率转换为后向概率
贝叶斯规则的概率。 (修订版 4.0)
-nrl arpa_ngram_文件
标准 ARPA 格式的后向、从右到左的 N-gram 语言模型。 什么时候
指定了前向 N-gram 和后向 N-gram,Julius 使用前向 N-gram
第 2 次使用 1-gram,第 2 次使用此反向 N-gram。
由于 ARPA 文件通常会变得很大并且需要很多时间来加载,因此它可能是
最好通过 mkbingram 将 ARPA 文件转换为 Julius 二进制格式。 注意
如果前向和后向 N-gram 都用于识别,它们一起将
转换为单个二进制文件。
当此选项仅指定后向 N-gram 而没有前向 N-gram 时
由 -nlr,Julius 仅使用后向 N-gram 进行识别。
第一遍将使用从后向计算的前向 1-gram 概率
使用贝叶斯规则的 2-gram。 第二遍完全使用给定的反向 N-gram。
(修订版 4.0)
-v 字典文件
单词词典文件。
-银头 字串 -鱼尾 字串
字典中定义的沉默词,用于开头的沉默
句和句末。 (默认: " ", " ")
-马朋克 字串
指定未知词。 默认为“ “ 或者 ” "。这将用于分配
未知单词的单词概率,即字典中没有的单词
N-gram 词汇。
-iwspword
向字典中添加一个应与词间停顿相对应的词条。
这可能会提高某些语言模型中的识别准确率
显式的词间停顿建模。 要添加的单词条目可以通过以下方式更改
-iwsentry.
-iwsentry 单词条目字符串
指定将添加的单词条目 -iwspword. (默认: ” [sp] sp
sp")
-sepnum 数
从词典树中分离出高频词的数量,以缓解
1 日的最佳近似可能导致的近似误差
经过。 (默认值:150)
英语文法
可以通过重复指定多个文法 -公克 和 -语法列表。 注意这个
是其他选项的异常行为(在正常的 Julius 选项中,最后一个将
覆盖以前的)。 您可以使用 -诺图 已经重置语法
在点之前指定。
-公克 语法前缀1[,语法前缀2[,语法前缀3,...]]
要使用的以逗号分隔的语法列表。 参数应该是前缀
一个语法,即如果你有 食物.dfa 和 foo.dict,你应该用一个
单参数 foo。 一次可以指定多个文法作为
逗号分隔的列表。
-语法列表 列表文件
指定包含要使用的语法列表的语法列表文件。 列表
文件应该包含语法的前缀,每行。 中的相对路径
列表文件将被视为相对于文件,而不是当前路径或
配置文件。
-dfa dfa_文件 -v 字典文件
单独指定语法文件的旧方法。 这是假的,不应该
不再使用。
-诺图
删除已指定的当前语法列表 -公克, -语法列表, -dfa
和 -v.
效果图 字
可以使用指定字典 -w 和 -wlist. 当您指定多个
次,所有这些都将在启动时被读取。 您可以使用 -诺图 重置
那时已经指定了字典。
-w 字典文件
用于孤立词识别的词典。 文件格式与其他相同
LM。 (修订版 4.0)
-wlist 列表文件
指定包含要使用的词典列表的词典列表文件。
列表文件应包含字典的文件名,每行。 一种
列表文件中的相对路径将被视为相对于列表文件,而不是
当前路径或配置文件。 (修订版 4.0)
-诺图
删除已指定的当前字典列表 -w 和 -wlist.
-wsil head_sil_model_name tail_sil_model_name sil_context_name
在孤立词识别中,沉默模型将被附加到头部和
识别时每个单词的尾部。 此选项指定要使用的静音模型
附加。 sil_context_name 是头部 sil 模型和尾部 sil 模型的名称
作为词头电话和尾电话的上下文。 例如,如果您指定
-wsil silB silE sp,音序为 b eh t 的单词将被翻译为 silB
sp-b+eh b-eh+t eh-t+sp silE。 (修订版 4.0)
用户自定义 LM
-用户名
声明在程序中使用用户LM函数。 应指定此选项
如果您使用用户定义的 LM 函数。 (修订版 4.0)
杂项。 LM 选项
-强制命令
跳过字典中的错误词并强制运行。
原声吉他 模型 和 特集 分析 (-是)(-AM_GMM)
本节是关于声学模型、特征提取、特征的选项
归一化和光谱减法。
在-AM 名称之后,应编写声学模型和相关规范。 您可以使用
使用不同 MFCC 类型训练的多个 AM。 对于 GMM,所需的参数条件
应该像 AMs 之后一样指定 -AM_GMM.
当使用多个 AM 时, -smp周期, -smp频率, -fsize 和 -fshift 应该
所有 AM 之间都相同。
原声吉他 HMM
-h hmmdef_文件
声学 HMM 定义文件。 它应该是 HTK ascii 格式,或 Julius 二进制
格式。 您可以使用 mkbinhmm 将 HTK ascii 格式转换为 Julius 二进制格式。
-hlist 嗯列表文件
用于电话映射的 HMMList 文件。 该文件提供了逻辑之间的映射
字典中生成的三音素名称和 hmmdefs 中定义的 HMM 名称。
应为上下文相关模型指定此选项。
-混音 数
指定要在混合码本中计算的最高高斯数。
小数会加快声学计算,但 AM 精度可能会提高
值太小更糟。 也可以看看 -gprune. (默认:2)
-sp模型 姓名
指定与话语中的短暂停顿相对应的 HMM 模型名称。 这
短暂停模型名称将用于识别:短暂停跳过
语法识别,词尾短暂停模型插入 -iwsp 在 N-gram 上,
或短暂停顿分割(-分段)。 (默认值:“sp”)
-多路径
启用多路径模式。 为了使解码更快,Julius 默认情况下强加一个
限制 HMM 转换,每个模型应该只有一个转换
初始状态和结束状态。 在多路径模式下,Julius 进行额外处理
在模型间转换上允许模型跳过转换和多个
输出/输入转换。 请注意,指定此选项将使 Julius 成为
慢一点,可能需要更大的波束宽度。
这个函数在 Julius 3.x 上是一个编译时选项,现在变成了
运行时选项。 默认情况下(没有这个选项),朱利叶斯检查过渡
指定 HMM 的类型,并根据需要启用多路径模式。 你可以
使用此选项强制多路径模式。 (修订版 4.0)
-gprune {安全|启发式|光束|无|默认}
设置要使用的高斯剪枝算法。 对于绑定混合模型,Julius 执行
高斯剪枝以减少声学计算,只计算前 N 个
每帧的每个码本中的高斯分布。 将设置默认设置
根据车型类型和发动机设置。 默认将强制接受
默认设置。 将此设置为 none 以禁用修剪并执行完整
计算。 safe 保证要计算的前 N 个高斯分布。 启发式和
光束更积极地降低计算成本,但可能会导致较小的
精度模型的损失(默认:安全(标准),束(快速)用于绑定混合物
模型,非绑定混合物模型无)。
-iwcd1 {最大|平均|最佳数字}
在单词的头尾近似词间三音素的选择方法
在第一关中。
max 将应用相同上下文三音素的最大似然。 平均意愿
应用相同上下文三音素的平均可能性。 最好的数字将
应用相同上下文三音素的前 N 个最佳似然的平均值。
与 N-gram 一起使用时,默认值最好为 3,语法和单词时为 avg。 当这
AM 由两种类型的 LM 共享,将选择后一种。
-iwspenalty 浮动
附加的字尾短停顿的插入惩罚 -iwsp.
-gshmm hmmdef_文件
如果指定了此选项,Julius 将执行高斯混合选择
高效解码。 hmmdefs 应该是从
普通单声道 HMM 模型,使用 mkgshmm。
-gsnum 数
在 GMS 上,指定单音状态数以计算相应的三音
细节。 (默认:24)
发言 分析
当前 Julius 仅支持 MFCC 特征提取。 因此当识别
从文件或麦克风输入的波形,AM 必须经过 MFCC 训练。 参数
条件也应设置为与训练条件完全相同
下面的选项。
当您在 HTK 参数文件中给出输入时,您可以使用任何参数类型
是。 在这种情况下,Julius 不关心输入特征和 AM 的类型,只关心
将它们作为向量序列读取并将它们与给定的 AM 匹配。 朱利叶斯只检查
参数类型是否相同。 如果效果不佳,您可以禁用
这个检查由 -无类型检查.
在 Julius 中,参数种类和限定符(如 HTK 中的 TARGETKIND)和数量
倒谱参数 (NUMCEPS) 的数量将根据
AM 标头,因此您无需通过选项指定它们。
其他参数设置与训练条件完全相同。 你也可以
将您用来训练 AM 的 HTK 配置文件提供给 Julius -htkconf。 当这个
选项被应用,Julius 将解析配置文件并设置适当的参数。
您可以使用以下命令进一步将这些分析参数设置嵌入到二进制 HMM 文件中
嗯。
如果选项以多种方式指定,它们将按以下顺序进行评估。
如果有的话,将首先加载 AM 嵌入参数。 然后,HTK配置文件
由 -htkconf 将被解析。 如果一个值已经由 AM 嵌入值设置,HTK
config 将覆盖它们。 最后,直接选项将被加载,这将
覆盖之前加载的设置。 请注意,当指定相同的选项时
几次,以后会覆盖以前的,除了 -htkconf 将被评估
首先如上所述。
-smp周期 期间
输入语音的采样周期,单位为 100 纳秒。 采样率可以
也由 -smp频率. 请注意输入频率应为
设置等于 AM 的训练条件。 (默认值:625,对应于
16,000Hz)
该选项对应于 HTK Option SOURCERATE。 可以是相同的值
给予这个选项。
当使用多个 AM 时,该值在所有 AM 中应相同。
-smp频率 Hz
以Hz为单位设置输入语音的采样频率。 采样率也可以
指定使用 -smp周期. 请注意,此频率应设置为相等
到 AM 的训练条件。 (默认:16,000)
当使用多个 AM 时,该值在所有 AM 中应相同。
-fsize 样本数
以样本数表示的窗口大小。 (默认:400)
此选项对应于 HTK 选项 WINDOWSIZE,但值应在
样本(HTK 值/smpPeriod)。
当使用多个 AM 时,该值在所有 AM 中应相同。
-fshift 样本数
样本数量的帧偏移。 (默认值:160)
此选项对应于 HTK 选项 TARGETRATE,但值应在
样本(HTK 值/smpPeriod)。
当使用多个 AM 时,该值在所有 AM 中应相同。
-先发制人 浮动
预加重系数。 (默认值:0.97)
该选项对应于 HTK 选项 PREEMCOEF。 可以给出相同的值
到这个选项。
-银行 NUM
滤波器组通道数。 (默认:24)
此选项对应于 HTK 选项 NUMCHANS。 可以给出相同的值
到这个选项。 请注意,默认值与 HTK (22) 中的不同。
-头孢菌素 NUM
倒谱提升系数。 (默认:22)
该选项对应于 HTK 选项 CEPLIFTER。 可以给出相同的值
到这个选项。
-原始 , -诺拉威
在预加重之前使用原始能量启用/禁用(默认值:禁用)
此选项对应于 HTK 选项 RAWENERGY。 请注意,默认
值与 HTK 不同(在 HTK 启用,在 Julius 禁用)。
-正常 , -不正常
启用/禁用标准化日志能量。 在实时输入中,此规范化将是
近似于最后一次输入的平均值。 (默认:禁用)
该选项对应于 HTK 选项 ENORMALISE。 请注意,默认
值与 HTK 不同(在 HTK 启用,在 Julius 禁用)。
- 缩放 浮标
归一化对数能量时对数能量的比例因子。 (默认值:1.0)
该选项对应于 HTK 选项 ESCALE。 请注意,默认
值与 HTK (0.1) 不同。
-硅地板 浮动
归一化对数能量时以 dB 为单位的能量静音底限。 (默认值:50.0)
此选项对应于 HTK 选项 SILFLOOR。
-德尔温 框架
以帧数表示的增量窗口大小。 (默认:2)
该选项对应于 HTK Option DELTAWINDOW。 可以是相同的值
给予这个选项。
-accwin 框架
以帧数表示的加速窗口大小。 (默认:2)
该选项对应于 HTK 选项 ACCWINDOW。 可以给出相同的值
到这个选项。
-高频 Hz
为 MFCC 滤波器组计算启用频带限制:设置上限频率
隔断。 -1 的值将禁用它。 (默认值:-1)
该选项对应于 HTK 选项 HIFREQ。 可以赋予相同的值
这个选项。
-洛频率 Hz
为 MFCC 滤波器组计算启用频带限制:设置较低的频率
隔断。 -1 的值将禁用它。 (默认值:-1)
该选项对应于 HTK 选项 LOFREQ。 可以赋予相同的值
这个选项。
-zmeanframe , -nozmeanframe
对于语音输入,此选项启用/禁用逐帧 DC 偏移去除。
这对应于 HTK 配置 ZMEANSOURCE。 这个不能一起用
- -z均值. (默认:禁用)
-使用权力
在滤波器组分析中使用功率而不是幅度。 (默认:禁用)
正常化
Julius 可以对输入执行倒谱均值归一化 (CMN)。 CMN 将是
当给定的 AM 用 CMN 训练时激活(即在
头)。
倒谱均值将根据输入类型以不同方式估计。
在文件输入时,将根据整个输入计算平均值。 在实时输入等
作为麦克风和网络输入,输入的均值在
开始。 因此将使用 MAP-CMN。 在 MAP-CMN 上,将应用初始均值向量
在开始时,平均向量将被涂抹到
随着输入的进行增加输入向量。 下面的选项可以控制
地图-CMN。
-cvn
启用倒谱方差归一化。 在文件输入时,整体的方差
输入将被计算然后应用。 在现场麦克风输入时,方差为
将应用最后一个输入。 CVN 仅支持音频输入。
-vtl 阿尔法 低胸 打嗝
进行频率扭曲,通常用于声道长度归一化 (VTLN)。
参数是翘曲因子、高频截止和低频。 隔断。 他们
对应于 HTK 配置值、WARPFREQ、WARPHCUTOFF 和 WARPLCUTOFF。
-cmnload 文件
在启动时从文件加载初始倒谱平均向量。 这 文件 应该是一个
保存者 -cmnsave. 加载初始倒谱平均值使 Julius 能够更好地
识别实时输入的第一个话语。 当与
-cmnno更新,此初始值将用于所有输入。
-cmnsave 文件
将计算出的倒谱平均向量保存到 文件. 参数将被保存
在每个输入端。 如果输出文件已经存在,它将被覆盖。
-cmn更新 -cmnno更新
控制是否在实时输入时更新每个输入的倒谱均值。
禁用它并指定 -cmnload 将使引擎始终使用加载的
静态初始倒谱平均值。
-cmnmmapweight 浮动
指定 MAP-CMN 的初始倒谱平均值的权重。 指定更大的值
将初始倒谱平均值保留更长的时间,并使用较小的值使
倒谱均值更多地依赖于当前输入。 (默认值:100.0)
前端 加工
Julius 可以执行频谱减法以减少音频中的一些静态噪声
输入。 虽然它不是一种强大的方法,但它可能适用于某些情况。
Julius 有两种估计噪声频谱的方法。 一种方法是假设第一个
语音输入的一小段是噪声段,估计噪声谱
作为段的平均值。 另一种方法是从
使用其他工具 mkss 进行仅噪声输入,并将其加载到 Julius 中。 前一个是
流行用于语音文件输入,后者应用于实时输入。 选项
下面将切换/控制行为。
-sscalc
使用每个文件的头部作为静音部分执行频谱减法。 这
头部长度应由 -sscalclen. 仅对文件输入有效。
和...有冲突 -ss加载.
-sscalclen 毫秒
通过 -sscalc, 指定噪声频谱估计的头部静音长度
以毫秒为单位。 (默认:300)
-ss加载 文件
使用预先估计的噪声频谱对语音输入执行频谱减法
从加载 文件. 噪声频谱文件可以由 mkss 制作。 对所有人有效
语音输入。 和...有冲突 -sscalc.
-salpha 浮动
光谱减法的 Alpha 系数 -sscalc 和 -ss加载. 噪音会
随着该值变大,减去的幅度更大,但结果失真
信号也变得显着。 (默认值:2.0)
-ss地板 浮动
光谱减法的底系数。 低于的光谱功率
减法后的零将被源信号替换为
系数相乘。 (默认值:0.5)
杂项。 AM 选项
-htkconf 文件
解析给定的 HTK Config 文件,并为 Julius 设置相应的参数。
使用此选项时,默认参数值从 Julius 切换
默认为 HTK 默认值。
认可 工艺 和 搜索、 (-SR)
本节包含第 1 次/第 2 次传递的搜索参数选项,例如光束
宽度和 LM 权重、短暂停分割的配置、单词的开关
点阵输出和混淆网络输出、强制对齐以及其他相关选项
识别过程和结果输出。
光束宽度和 LM 权重的默认值将根据编译时设置而改变
JuliusLib 、AM 模型类型和 LM 尺寸。 实际请看启动日志
值。
1 通过 参数
-lmp 重量 罚款
(N-gram)第一遍的语言模型权重和单词插入惩罚。
-惩罚1 罚款
(语法)第一遍的词插入惩罚。 (默认值:0.0)
-b 宽度
波束宽度以 HMM 节点数表示,用于第一次传递的秩波束。 这个值
定义第一遍的搜索宽度,对总的搜索宽度有显着影响
处理时间。 较小的宽度会加快解码速度,但值太小
会因搜索导致识别错误大幅增加
失败。 较大的值将使搜索稳定并导致无故障
搜索,但处理时间将与宽度成正比。
默认值取决于声学模型类型:400(单声道)、800
(triphone), 或 1000 (triphone, setup=v2.1)
-n限制 NUM
每个节点的令牌上限。 该选项在 --enable-wpair 和
--enable-wpair-nlimit 在编译时启用。
-progout
在第一次通过时启用部分结果的渐进式输出。
-前间隔 毫秒
设置时间间隔 -progout 以毫秒为单位。 (默认:300)
2 通过 参数
-lmp2 重量 罚款
(N-gram) 第二个的语言模型权重和词插入惩罚
通过。
-惩罚2 罚款
第二遍的(语法)词插入惩罚。 (默认值:0.0)
-b2 宽度
第二次通过时的包络波束宽度(假设数量)。 如果计数
搜索时某个假设长度的词扩展达到此限制,
更短的假设没有进一步扩展。 这可以防止搜索陷入
类似广度优先的情况堆叠在同一位置,并改进搜索
失败主要是因为词汇量大的情况。 (默认:30)
-sb 浮动
包络评分的评分信封宽度。 计算假设分数时
对于每个生成的假设,其网格扩展和维特比操作将
如果框架上的分数低于宽度,则在演讲中间进行修剪。
给小值会使第二遍更快,但计算错误可能
发生。 (默认值:80.0)
-s NUM
堆栈大小,即可以存储的最大假设数量
在搜索过程中堆叠。 较大的值可能会产生更稳定的结果,但
增加所需的内存量。 (默认值:500)
-m 数
停止搜索所需的扩展假设的数量。 如果数
扩展假设的数量大于这个阈值,那么搜索是
那个时候停产了。 该值越大,朱利叶斯获得的时间越长
放弃搜索。 (默认值:2000)
-n NUM
Julius 试图找到的候选人数量。 搜索一直持续到这个
找到了许多句子假设。 得到的句子假设
按分数排序,最终结果按顺序显示(另见
-输出)。 正确找到最优假设的可能性
随着该值的增加而增加,但处理时间也变得
更长。 默认值取决于编译时的引擎设置:10
(标准)或 1(快速或 v2.1)
-输出 NUM
在搜索结束时要输出的前 N 个句子假设。 与 -n
(默认:1)
-查找范围 框架
设置前后帧数查找下一个单词假设
第二遍的字格。 这可以防止遗漏短词,但
值越大,扩展假设的数量越多,系统
变得缓慢。 (默认:5)
-看格子
(语法)只展开第一遍幸存的单词而不是展开
语法预测的所有单词。 此选项使第二遍解码
更快,尤其是对于大词汇量的情况,但可能会增加删除
短词错误。 (默认:禁用)
短暂停顿 分割 / 解码器-VAD
当使用--enable-decoder-vad 编译时,短暂停分段将是
扩展以支持基于解码器的 VAD。
-分段
启用短暂停分段模式。 短暂停顿时输入将被分段
单词(发音中只有沉默模型的单词)获得最高的可能性
在第一遍的某些连续帧上。 当检测到段结束时,
Julius 在该点停止第 1 次传球,执行第 2 次传球,然后继续下一个
部分。 将在段之间考虑单词上下文。 (修订版 4.0)
使用 --enable-decoder-vad 编译时,此选项启用基于解码器的 VAD,
跳过长时间的沉默。
-spdur 框架
检测输入段结束的短暂停持续时间长度,以帧数为单位。
(默认:10)
- 暂停模型 绳子
要在短暂停时使用的以逗号分隔的暂停模型名称列表
分割。 发音仅包含停顿模式的单词
将被视为“暂停词”并用于暂停检测。 如果没有指定,
的名字 -sp模型, -银头 和 -鱼尾 将会被使用。 (修订版 4.0)
-sp 边距 框架
基于解码器的 VAD 触发时的后退步距。 当语音向上触发时
由解码器-VAD 找到,Julius 将按此值回退输入参数,并且
在这一点上开始识别。 (修订版 4.0)
此选项仅在使用 --enable-decoder-vad 编译时才有效。
-spdelay 框架
基于解码器的 VAD 触发时触发决策延迟帧。 (修订版 4.0)
此选项仅在使用 --enable-decoder-vad 编译时才有效。
Word 格 / 混乱 网络 产量
-格子 , -诺格
启用/禁用单词图的生成。 搜索算法也改为
优化生成更好的词图,所以句子结果可能不是
与正常的 N-best 识别相同。 (修订版 4.0)
-confnet , -noconfnet
启用/禁用混淆网络的生成。 启用此功能也将
激活 -格子 内部。 (修订版 4.0)
-图形范围 框架
在图生成时在相邻位置合并相同的单词。 如果开始时间
并且同一个词的两个候选词的结束时间在指定的范围内
范围,它们将被合并。 默认值为 0(允许合并相同的单词)
完全相同的位置)并指定较大的值将导致较小的
图形输出。 将此值设置为 -1 将禁用合并,在这种情况下相同
不同分数的相同位置的单词将保持原样。
(默认:0)
-图形切割 深度
在后处理阶段按字深切割结果图。 深度
value 是一帧中允许的字数。 设置为 -1 禁用
此功能。 (默认:80)
-图形边界循环 数
在后处理阶段限制边界调整循环的数量。 这个
参数防止 Julius 被短路无限调节循环阻塞
词振荡。 (默认:20)
-图形搜索延迟 , -nographsearch延迟
启用此选项后,Julius 将修改其图形生成算法
第二遍不通过图合并终止搜索,直到第一句话
找到候选人。 此选项可能会提高图形准确性,尤其是当您
将通过设置广泛搜索来生成一个巨大的词图。 也就是说,它可能
当您在第一次通过时设置宽光束时,会产生更好的图形精度 -b 和
第二遍 -b2,以及大量的 -n. (默认:禁用)
多克 / 多点 承认
-multigramout , -nomultigramout
在使用多种语法进行语法识别时,Julius 将只输出最好的
所有语法中的结果。 启用此选项将使 Julius 输出
每个语法的结果。 (默认:禁用)
强 对准
-对齐
对识别结果按单词单位做维特比对齐。 这个单词
将计算边界帧和每帧的平均声学分数。
-对齐
对每个电话单元进行维特比对齐以获得识别结果。 电话
将计算边界帧和每帧的平均声学分数。
-对齐
对识别结果进行每个状态的维特比对齐。 州界
帧和每帧的平均声学分数将被计算。
杂项。 搜索、 选项
-不活动
以非活动状态启动此识别流程实例。 (修订版 4.0)
-1次
只执行第一遍。
-fallback1pass
当第二遍失败时,Julius 完成了没有结果的识别。 这个选项
告诉 Julius 在第二遍时输出第一遍结果作为最终结果
失败。 请注意,某些分数输出(信心等)可能没有用。 这是
Julius-3.x 的默认行为。
-无ccd , -force_ccd
在搜索时显式切换电话上下文处理。 通常朱利叶斯决定
从模型名称中使用的 AM 是否是上下文相关的模型,
即,名称是否包含字符 + 和 -。 此选项将覆盖
自动检测。
-cmalpha 浮动
用于置信度评分的平滑参数。 (默认值:0.05)
-iwsp
(仅限多路径模式)启用词间上下文无关短暂停插入。
此选项为每个字尾附加一个可跳过的短暂停顿模型。 这
短暂停模型可以通过以下方式指定 -sp模型.
-运输 浮动
透明词的额外插入惩罚。 (默认值:0.0)
-演示
相当于 -progout -安静的.
环境 变数
阿尔萨德夫
(使用带有 alsa 设备的麦克风输入)指定捕获设备名称。 如果没有指定,
将使用“默认”。
音频设备
(使用带有 oss 设备的麦克风输入)指定捕获设备路径。 如果没有指定,
"/开发/DSP“ 将会被使用。
延迟_毫秒
尝试以毫秒为单位设置麦克风输入的输入延迟。 较小的值将
缩短延迟但有时会使过程不稳定。 默认值将取决于
运行操作系统。
示例
有关系统使用示例,请参阅 Julius 文档中的教程部分。
注意
关于 jconf 文件的注意事项:jconf 文件中的相对路径被解释为相对于
jconf 文件本身,而不是当前目录。
使用 onworks.net 服务在线使用 julius