基于Android的简易语音分类系统设计毕业论文
2020-02-18 11:57:30
摘 要
本文基于Android平台设计了语音分类系统,研究了如何建立稳定快速而且多功能的Android语音识别系统。其中包括如何快速判别大人与小孩的声音,并对在音频中所占时间进行记录。本系统中研究了如何提取音频的声音特征和如何用使用KNN算法来进行对大人和小孩的语音分类,所得结果对于语音系统的识别具有重要的指导意义。语音识别中的语音分类将会成为未来语音市场上非常重要的一环,研究对大人和小孩的简单分类系统能符合未来市场的发展规律,并且如果能够提前建立优秀的语音分类系统,那么就能够实现占领未来语音市场战略的目标。
研究结果表明:手机的Android系统具有高效性与可塑性。能通过构建算法实现语音识别。KNN算法能够较好的通过识别语音的频率来达到分类大人与小孩声音的能力。基于Android的简单语音系统能够在满足市场上需求。
关键字:Android ;语音识别;KNN ;FFT
ABSTRACT
This paper designs a speech classification system based on Android platform, and studies how to establish a stable and fast multi-functional Android speech recognition system. This includes how to quickly identify the voices of adults and children, and record the time spent in the audio. In this system, how to extract the sound characteristics of audio and how to use KNN algorithm to classify the voices of adults and children is studied. The results obtained have important guiding significance for the recognition of speech systems. The classification of speech in speech recognition will become a very important part of the future speech market. The simple classification system for adults and children can conform to the development law of the future market, and if an excellent speech classification system can be established in advance, then Achieve the goal of occupying the future voice market strategy.
The research results show that the Android system of mobile phones is highly efficient and malleable. Speech recognition can be achieved by constructing an algorithm. The KNN algorithm can better identify the ability of adults and children by recognizing the frequency of speech. A simple voice system based on Android can meet the needs of the market.
Keywords : Android ;Speech Recognition;KNN ;FFT
目 录
摘 要 I
ABSTRACT II
第1章 绪论 1
1.1 引言 1
1.2国内外研究现状综述 2
1.2.1国外研究现状 2
1.2.2国内研究现状 3
1.3 语音识别的系统和功能实现 3
1.3.1 语音分类的目的 3
1.3.2 语音分类的主体思路 3
1.4论文结构安排 4
第2章 Android系统功能介绍 5
2.1 Android的起源 5
2.2 Android平台系统架构 5
2.3 Android的平台优势 6
2.4 Android应用组件的构建 7
2.5 Android的应用程序开发 8
2.6 Android的系统开发环境设置 8
第3章 语音分类和特征提取 9
3.1语音特征的介绍 9
3.2 FFT的设计提取 9
3.3语音识别和语音采样介绍 9
3.4 KNN识别算法的介绍 10
第4章 系统分析设计及实现 12
4.1 研究目标 12
4.2 需求分析 12
4.3 系统功能设计 12
4.4 Android Studio文件和活动 13
4.5第一个活动设计 14
4.5.1外观 14
4.5.2录音功能实现 15
4.5.3保存文件 16
4.6第二个活动设计 17
4.6.1 外观 17
4.6.2 FFT 18
4.6.3 KNN 20
4.7第三个活动 22
4.7.2播放录音暂停录音 23
4.7.3提取频率和分析按钮 24
4.8其他设计 26
4.8.1权限申请 26
4.8.2外表图标和关闭通知栏 26
第5章 系统测试 27
5.1系统测试介绍和系统框图 27
5.2系统UI测试介绍 27
5.3录音功能的测试 28
5.4播放识别功能的测试 29
参考文献 31
致谢 33
第1章 绪论
1.1 引言
根据识别对象的不同,语音识别一般可以分为,孤立词识别,关键词识别和连续语音识别。孤立词识别是通过识别已经设定好的词汇来进行识别,比如通过识别“开机”词汇来实现开启手机,通过“关机”词汇来关闭手机;关键词识别与孤立词识别很像,但是关键词识别是通过识别一段语音中的特定词汇,来达到识别这一句话的要求,从而操作手机;连续语音识别是语音识别中最困难的识别,因为连续语音识别要求识别一连串的语音,现在识别没有那么先进的技术,一般是通过不停的识别语音中的关键词来到达连续语音识别。虽然它并不能识别所有的文字,但是能大大减低语音识别的难度并且可以增加识别的成功率。
对人的语音识别一般有两种,第一种可以识别已指定的人群,这样的识别能识别人数很少,一般是用于单独的个体识别。可是这样的识别精度特别高。第二种是非特定人语音识别,识别基数比较大,应用的范围也比第一种要多,几乎适用任何人。所以第二种在市场方面更加实用,但是所需要的识别系统的复杂程度也就更大。这里我们只讨论使用指定人群识别。
语音收集会因为不同的采集通道而导致声音变形,所以我们需要对每个不同的采集通道设计单独的识别系统。现在有的识别通道一般有桌面(PC)语音识别、电话语音识别和嵌入式设备(手机、PDA等)语音识别。因为我们基于Android来建立系统,所以采用嵌入式的语音通道。
语音识别的作用和潜在市场是特别大的,无论是在在语音输入还是在语音控制上,它都有自己独特的优点,那就是快捷,简便。对于其他的输入方式,语音的输入方式更加贴近人们的生活。人们可能在语音的输入的方式下,放弃键盘输入。并且如果在未来,语音识别的准确度和识别速度能够进一步的提升,能够实现在系统中通过说话就能直接控制系统,将直接改变了现有的系统发展。比如根据客户的语音进行操作,这样既节省了金钱也节省了时间,更能为用户提供自然、友好的数据库检索服务,例如家庭服务、宾馆服务、旅行社服务系统、订票系统、医疗服务、银行服务、股票查询服务等等。
语音识别一般是通过模式匹配法来实现的。在训练阶段,通过采集用户的语音样本来制作语音识别向量,保存在数据库中,并对其识别算法进行训练,系统就能对语音进行明确的分类识别。在识别阶段,将识别的语音样本的特征向量提取出来,与数据库中的已有向量进行比较,将相似度最高的样本匹配给此样本,这样语音识别的功能就完成了。
语音识别中声学特征的提取也是一个很重要的步骤。声音特征的提取既是一个信息大幅度压缩的过程,也是一个信号解卷过程,目的是使模式划分器能更好地划分。然而语音信号的提取是有要求的。因为语音信号的时变特性,提取声音必须在很小的一段音频上进行提取。提取的稳定并且具有分析能力的叫做帧,对帧进行分析,是对语音识别分析的重点,怎么样处理帧,怎么去除噪声,怎么加重帧的清晰度,都是语音识别系统所需要做到的。
1.2国内外研究现状综述
1.2.1国外研究现状
老牌语音识别公司Nuance逐渐没落,但Nuance依然有着世界上最多的语音专利,依然在语音识别上有着举足轻重的地位,是语音识别的龙头。
苹果收购Siri、Novauris Technologies、Emotient和VocallQ
苹果的Siri可以说是世界上语音识别走在最前段的人,其功能的强大远远超出同类的其他所有产品。 Novauris与其他产品的优点是可以识别整个短句,这种技术并非简单识别单个词句,而是能通过上下文的意思来对文章进行理解从而识别单个短句。而Emotient则有着通过识别人的面部表情到达识别情绪的引擎。VocallQ可以将语音处理和机器学习技术整合到可穿戴设备。
谷歌收购SayNow,Phonetic Arts,Wavii,SR Tech Group
Phonetic Arts可以把录制的语音对话转化成语音库,然后把这些声音结合到一起,从而生成听上去非常逼真的人声对话。Wavii可以通过你输入的语音与互联网交互,然后可以得到你想要的摘要以及内容。而Google Glass则是对语音控制上有自己独特的建树,能够有效的进行对Android系统进行控制,Google Now更是拥有了完整的语音识别引擎。
Facebook收购Jibbigo,MobileTechnologies和Wit.ai
Jibbigo则支持世界上25种语言,可以说大部分的语音识别都没有像它能拥有如此多的语音。Wit.ai是一家语音交互解决方案服务商,它的目的是让用户能通过语音对其他机械设备进行控制,这样就能更加快捷,更加方便的操作设备,为用户提供更好的使用体验。
国外其他行业的巨头也加入收购
除了专门处理语音识别的公司,其他类型的公司也相继开展了语音识别的项目,加入到了语音识别的行业当中。比如英特尔,在2013年的时候收购了西班牙的语音识别技术公司Indisys。除此之外美国最大的有线电视公司Comcast对自己的电视也进行了语音识别技术的改造。将电视改造可以能直接通过语音输入来进行控制,这样用户就可以摆脱遥控器的束缚,进一步解放电视的功能。让用户能够通过语音进行关键词查找,进而来搜索想要观看的电视节目,而不是摁着遥控器换台挑选节目。
1.2.2国内研究现状
国内的语音识别发展情况则是一片混沌,虽然有着专门的做语音识别引擎的公司,如科大讯飞、中科信利、云之声这样的语音公司。但在需要语音产业的公司中,都没有进行过多发展。大多公司使用都是专业公司的引擎,在自助研发语音识别引擎上虽然开始了研发,但是不打算投入过多的资金。战略上也只是走一步看一步,并没有对语音行业进行精密的规划。只有百度希望建立单独的语音识别系统,并将大量的资金砸入到这个行业当中取得了一定的成绩。在这样的国内市场环境中,语音识别的开发没有多少人的情况下,加上语音识别是涉及到了两个领域的学科计算机和声学,这样的人才十分稀少,研究这个方面将在未来有巨大的市场。
1.3 语音识别的系统和功能实现
1.3.1 语音分类的目的
随着机器学习和人工智能的普及以及传播,在国际上语音行业涌现出了许多新型产业,而且许多龙头企业也开始了研发语音系统。在国内的市场相对空缺,外部压力越来月大的情况下。在语音识别市场中预计会有越来越多的公司参与到手机上的语音识别。手机如果要求识别不同的语音的语音系统,那么在设计语音识别系统的时候必须考虑到周围的环境,用户的发音问题,以及各地不同而产生的方言问题。所以对语音识别系统的构造要求也就越来越高,设计一种高效,准确,迅速的识别系统将极大程度扩大语音的识别能力。
简单语音分类系统目标:
(1) 了解Android基础技术和声音识别与分类的基本原理;
(2) 搭建基于Android手机的系统硬件平台;
(3) 设计并实现声音的简单分类,并计算各自所占时长比例;
1.3.2 语音分类的主体思路
语音分类是语音识别的一个分支,是通过先处理声音的数据,是其数字化,之后在其中提取声音特征,并通过识别算法,进行识别和分类。
阶段一:录音或得到音频的pcm格式
此过程主要是利用Android的构建数据流,并写入文件之后,保存音频文件,这样可以随时的对音频文件进行提取分析,并对声音进行预处理
阶段二:声音特征的提取
此过程主要是用声音文件进行首先将时域信号转化成频域,之后对其对数能量谱用依照Mel刻度分布的三角滤波器组进行卷积,最后对各个滤波器的输出构成的向量进行离散余弦变换DCT,取前N个系数。最后得到声音的特征向量。
阶段三::将特征进行算法分析
此过程主要是将得到的声音特征向量输入到特征算法并与之数据库中以分类好的声音特征进行比较分析,最后得出相应的数据结果。
1.4论文结构安排
- 语音识别分类的基本介绍、国内外发展状况、系统设计的总体思路
- Android系统的起源,Android系统的优点,Android系统的组成
- KNN算法和FFT识别的介绍
第四章系统整体设计,系统多功能的实现包含录音、检测、计时等功能,系统的UI设计包含美化系统合适排版。
第五章系统测试,描述了对安卓智能手机实体机的软件测试。证明了系统的可行性和合理性。
第2章 Android系统功能介绍
2.1 Android的起源
Android是一种以Linux为基础的开放源码操作系统[1-4],被广泛运用在移动设备,如智能手机和平板电脑,由Google(谷歌)公司和开放手机联盟领导及开发。最早在2003年10月,AndyRubin(安迪鲁宾)等人创建Android公司,并组建Android开发团队。最早是希望实现建立高效的数码相机系统,在后来手机市场的空缺,所以改行制作手机系统。2005年8月由Google收购注资。开始了真正意义上的智能手机操作系统开发。此时,Android系统的方向已经确定,比如基于Linux、开源、免费供手机厂商使用等等,谷歌则可将其服务深度集成在系统中来获得利润。
Andoroid从2007年11月5日,谷歌公司正式向外界展示了这款名为Android的操作系统[5-6],并且建立一个全球性的联盟组织“开发手持设备联盟”来进行对Android系统的共同开发,这一联盟将支持谷歌发布的手机操作系统以及应用软件,Google以Apache免费开源许可证的授权方式,发布了Android的源代码。这使得Android操作系统以迅雷不及掩耳之势追上了早就在手机领域开发系统的苹果公司的市场份额,ios系统的覆盖率也远不如Android系统。作为目前世界上最成功的操作系统,Android实际上已经超过Windows,覆盖手机、平板、电视、汽车、智能手表等多种产品线,活跃设备超过20亿台,谷歌的平台运营能力着实厉害。尽管苹果公司在手机领域的敛财手段依然领先于Android,但是在巨大的市场覆盖下,Android将在未来的某一天在收入上上超越ios系统。
2008年,在GoogleI/O大会上,谷歌提出了AndroidHAL架构图,在同年8月18号,Android获得了美国联邦通信委员会(FCC)的批准,2008年9月,谷歌正式发布了Android1.0系统,这也是Android系统最早的版本。
2.2 Android平台系统架构
文献[7]研究了Android的系统原理,其中包括以下内容。
Linux Kernel:我们知道Android其实就是一个操作系统,其底层是基于Linux Kernel的,作为Android的底层它的功能是为Android提供驱动,是Android系统里的核心。
Android Runtime:Android的开发环境,为Android提供核心包,提供在程序运行的核心库。
Dalvik Virtual Machine则是谷歌开发的针对Android的虚拟机设备,能够让人直接进行虚拟机调试,为那些没有真机的开发者提供了一个调试环境。
Liberaries:存放库文件地方,能让人对其进行调用,从而是Android能够使用其他的数据库和IO口
Application Framework:应用程序的开发框架,如果我们想要进行对程序的开发那么就必须要有其框架,我们可以通过已有的框架来实现我们的Application,这样就能实现对Android的自我开发。
Application:这个就是我们开发的Application了。我们可以在上面进行自己的程序开发,完成自己的程序。
图2.1Android平台架构
2.3 Android的平台优势
开放性
开发性使得Android成为世界上手机搭载最多系统,赶超了早于它出现的ios系统,也使得许多人能共同对Android进行开发,这样使得Android系统的进步速度一日千里,许多人可以通过交流分享自己在Android开发上的所得所获,每个都可以在上面交流学习,同时也降低了开发成本,使得手机的售出价格下降。
丰富的系统控件
Android系统中自己就能对页面进行控件设计,里面有许多强大的控件,并且Android还提供对控件的设计,能让开发者充分发挥自己的想象力,也能让开发的程序更加多样更加的灵活。
强大的多媒体
Android系统中有着自己的独特的多媒体程序,这是独立Java的衍生功能,能让用户更加快捷的调用录音,调用存储,调用照相等等手段,也让开发者能够更好的控制内部程序。
SQLite数据库
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: