VS1005 Word Recogni...
 
Notifications
Clear all

VS1005 Word Recognition Demonstration 单词识别示例

1 Posts
1 Users
0 Likes
973 Views
 Mark
(@mark)
Posts: 53
Estimable Member
Topic starter
 

1       简介

本示例展示了一种个性化、自主学习且与语言无关的单词识别解决方案。本示例包含文档和相关程序演示了如何使用 VS1005 通过神经网络识别任何语言的单词的解决方案。

在第 2 章免责声明之后,第 3 章介绍了运行单词识别所需的硬件要求和单词集文件。第 4 章列出示例所包含的执行程序文件,第 5 章描述了执行程序文件处理过程。第 6 章介绍了完整的操作过程,第 7 章介绍了执行程序参数设置。第 8 章解释了演示过程中的所有相关文件和文件格式。

本文档以第 9 章版本历史和第 10 章联系信息作结束。

 

2       免责声明

VLSI Solution 將尽其所能使本文档內容尽可能准确,对本文档的正确性不作任何保证或担保。

 

 

3       硬件要求

硬件需要使用 VS1005 开发板或 VS1005 BreakOut 板,可以使用板上的麦克风或外接麦克风,外接麦克风可连接到 Line IN 代替板上的麦克风。

MY.TXT 文件包含需要识别的单词集,单词集可以存放 2-16 个单词用以被识别,每个单词由 1-8个字符所组成,单词之间由空格、制表符或换行符相互分隔。

本示例將使用 PETS 文件名代替 MY 文件名,PETS.TXT文件可以从 zip 文件中找到,PETS 文件名可以更改为任意的文件名。

 

4       示例程序

单词识别示例包含四个独立执行程序:

WordSave     存储语音样本及其类別

WordTrans    对输入到神经网络的语音样本进行预处理

WordTrain           反向传播算法以查找神经网络权重和偏置

WordDet       使用经过神经网络训练的语音样本识别单词

程序可以从 zip 文件中找到,Zip 文件中还包含 WordSave WordDet 程序源代码。

 

5       程序处理流程

 
   

 

 

图 1:示例中使用的程序和文件处理流程

 

 

6       示例演示流程

执行程序默认路径为 SSYS/,程序(WordSaveWordTransWordTrain WordDet)必须从 zip 中解压并复制到 SSYS/ 目录內,更多信息可以在 VS1005 VSOS Shell 文档中找到。安装和设置 VSOS Shell 环境可參考官方文档 https://www.vlsi.fi/fileadmin/software/VS1005/VSOS_Shell.pdf

先将本示例的 PETS.TXT 文件储存到记忆卡中(D:)。注意默认的系统磁盘 (S:) 没有足够的空间进行储存!

S:CONFIG.TXT 应包含以下语句:

 

# Activate appropriate audio input driver

AUIADC s

# Add the following line if you need an automatic gain control

# to make word recognition work

FTIAGC

# Set audio input to correspond with your hardware.

# Example is for VS1005 Breakout Board

#RUN AuInput -r8000 line1_1 line1_2 dec6

# Example is for VS1005 Developer Board

#RUN AuInput -r8000 line1_1 line1_3 dec6

# Alternative audio input example for VS1005 Developer Board

RUN AuInput -r8000 mic1 mic2 dec6

# If using AGC driver, find values that work

RUN SetAgc -min 0 -max 30

 

如果不从 config.txt 中启动驱动程序,则可以从命令行执行相同操作:

 

S:>Driver +AUIADC s

S:>Driver +FTIAGC

S:>AuInput -r8000 mic1 mic2 dec6

S:>SetAgc -min 0 -max 30

 

输入命令和程序输出均显示在模拟终端窗口中。如果需要在开发板的 LCD 上显示相同信息,则可以加入以下驱动程序。

S:CONFIG.TXT 应包含以下语句:

# Activate LCD

LCD288

# Use LCD for stdin/stdout

LCDCON

 

 

同样地,如果不在 config.txt 中启动驱动程序,可以从命令行执行相同操作:

S:>Driver +LCD288

S:>Driver +LCDCoN

 

如果缺少上列驱动程序,可以在 VLSI Solution VSDSP Forum 下载。此处提供最新的 VSOS 内核 (3.65)下载

http://www.vsdsp-forum.com/phpbb/viewtopic.php?f=13&t=680&start=102

 

以下命令将执行整个示例以识别与 PETS 相关的单词。因示例默认单词集为 PETS,因此可加入后缀參数“-w PETS”

S:>cd D:

D:>WordSave -w PETS

D:>WordTrans -w PETS

D:>WordTrain -w PETS

D:>WordDet -w PETS

 

或使用以下格式

S:>WordSave -w D:PETS

S:>WordTrans -w D:PETS

S:>WordTrain -w D:PETS

S:>WordDet -w D:PETS

 

 

7       详细程序说明

7.1        WordSave

 

Usage: WordSave [-w PETS] [-a] [-n sets] [-l1-r] [-h]

-w Read words from PETS.TXT file (default)

-a Continue (append) already stored audio and class files

-n Every word is requested and saved 'sets' time (default 32767)

CTRL-C can be pressed to stop recording

-l Left channel from the microphone is used

-r Right channel from the microphone is used (default)

-h Show this help

 

存储语音样本及其类別用以进行训练。

接收来自麦克风的输入(语音单词)

创建 PETS.WDS (语音单词)文件供 WordTrans 预处理用

创建 PETS.CLS (单词类別)文件供 WordTrain 反向传播算法用

录音过程需多次对麦克风说出特定单词,过程中可以按 CTRL-C 来停止录音。如果未使用 CTRL-C 来停止录音,则 WordTrans WordTrain 将识别为类别。

建议根据单词的数量和单词的相似度,对每个单词进行 3 12 次训练以达到适当的识别准确性。

注意!在进行识别训练过程中应对已存储的 WDS CLS 文件备份,以避免语音样本及其类別的数据丢失。

 

7.2        WordTrans

 

Usage: WordTrans [-w PETS] [-n count] [-h]

-w Read words from PETS.TXT file (default)

-n 'count' words from input file are used (default all = 32767)

-h Show this help

 

对输入到神经网络的语音样本迸行预处理。

读取来自 WordSave (语音单词)的 PETS.WDS 文件

创建 PETS.TRA 文件(高頻率单词)供 WordTrain 使用  

 

 

 

7.3        WordTrain

 

Usage: WordTrain [-w PETS] [-n count] [-h]

-w Read words from PETS.TXT file (default)

-n 'count' words from input file are used (default all = 32767)

-h Show this help

执行反向传播算法以查找神经网络权重和偏置。

读取经过 WordTrans 后的 PET.TRA (高频率单词)(BE) 文件

读取经过 WordSave PET.CLS (单词类别)(BE) 文件

可读取 PETS.NNS(启动网络权重)文件,如果没有启动网络权重文件,则启动网络权重将从随机值开始进行训练

创建 PETS.NNW(网络)文件供 WordDet 使用

创建 PETS.NNI(训练中的启动网络)文件

在训练过程中程序会提示经神经网络识别的成功率。成功率將显示在训练开始时和训练结束后。第一个百分比显示所有输出的平均成功率,第二个值为正确识别单词的百分比。

 

 

7.4        WordDet

 

Usage: WordDet [-w PETS] [-n maxcount] [-l1-r] [-h]

-w Read words from PETS.TXT file (default)

-n Maximum count of recognized words (default 32767)

CTRL-C can be pressed to stop recognition

-l Left channel from the microphone is used

-r Right channel from the microphone is used (default)

-h Show this help

使用经过神经网络训练的语音样本识别单词。

接收来自麦克风的输入(语音单词)

读取来自 WordTrain PETS.NNW(神经网络)文件

写入 PETS.TWS(临时语音单词)文件

识别过程中需要对麦克风说出任何特定的单词,识别过程中可以按 CTRL-C 來停止。

识别过程中也会提示已识别的单词及其成功率。当识别不够确定时,則会显示最有可能的两个单词及其成功率。

 

 

8       文件和文件格式

所有文件都没有文件头

 

PETS.TXT:包含被识别的单词

单词文件为 Ascii 格式,单词由空格、制表符或换行符相互分隔。

单词将按照它们在文件中的顺序进行索引 - 从零开始。

 

PETS.WDS PETS.TWS:包含语音单词

二进制文件包含每个语音单词的 8000 s_int16(大端序)样本。

8 kHz 采样率进行语音录制 -> 每秒 1 个语音单词。

 

PETS.CLS:包含语音单词类别

二进制文件包含每个语音单词的一个 s_int16(大端序)值。

 

PETS.TRA:包含已预处理的语音单词(神经网络输入)

二进制文件包含每个口语单词的 320 s_int16(大端序)值。

 

PETS.TC PETS.TW:临时文件

二进制文件存储的数据与 PETS.CLS PETS.TRA 相同。

文件可留作日后使用,也作为数据备份(如在语音单词录制时出現错误)。

 

PETS.NNW:包含训练后的网络权重和偏置

二进制文件包含 s_int16(大端序)权重和偏置供所有网络神经元用。

 

PETS.NNI:包含训练开始时使用的网络权重和偏置

二进制文件包含 s_int16(大端序)权重和偏置供所有网络神经元用。

 

PETS.NNS:包含网络权重和偏置

可选的二进制文件,可在训练开始时使用的网络权重和偏置。

注意!PETS.NNI 可实现重复结果和 PETS.NNW 更快的收敛。

 

 

9       版本历史

本章介绍本文档的最新更改。

 

版本 1.01, 2022-11-28

  • 更新示例演示流程,包括文档链接和 LCD 屏幕使用。

 

 

版本 1.00, 2022-11-03

  • 初始版本。
 
Posted : 08/03/2024 1:24 pm