【asp源码栏目提醒】:网学会员,鉴于大家对asp源码十分关注,论文会员在此为大家搜集整理了“roid声纹识别程序-asp net学习网 - 讲义教程”一文,供大家参考学习!
c.net编程学习网 roid声纹识别程序 roid声纹识别程序 内容 Android声纹识别程序 最近和朋友开发一款在Android平台上的声纹识别应用程序前期到完成整整花费了几个月时间名称定义为:SuperLock 中文名称为:声纹锁。
博客园的朋友们可以通过:http://code.google.com/p/voiceprint-model-builder-for-superlock/downloads/list下载。
下面让我简单介绍一下开始计划: 问题的提出主要从Android现在作为主流手机操作系统锁屏和开屏应用上还是传统的密码、焦点激活、手摇还有最近4.0才推出的人脸识别。
而除了moto推出的真正指纹识别外具备指纹取模器市场上的指纹识别都是扯谈的东西。
所以想出了利用声纹进行识别的应用程序。
而开始遇到最大的问题就是担心手机处理的速度是否能跟得上后来试验了已经不是问题。
但Android手机录音得出的语音频率有时候是不一致的这个是最大的问题所以在测试有时候会出现不匹配的现像。
但大多数情况下还是一致的。
一般说来每个人的声音都有各自的特点于是我们便可以听声辨人即是说是唯一的。
声音不同主要是由音质、音色上的差别造成的。
人的发声器官实际上存在着大小、形态及功能上的差异。
发声控制器官包括声带、软颚、舌头、牙齿、唇等发声共鸣器包括咽腔、口腔、鼻腔。
这些器官的微小差异都会导致发声气流的改变形成区别。
此外人发声的习惯亦有快有慢用力大小不一就造成了音强、音长的差别。
听声辨人不仅是靠音色各异更要靠人声学特征的相对稳定。
但在现实生活中以声辨人却经常出差误。
一个电话打过来即使来电者是自己的朋友或是亲人我们也没有百分百的把握从声音中判断出对方身份。
于是在没有来电显示或备存号码的情况下我们也时常“张冠李戴”。
我们引用广东科技报的文章把声纹与指纹进行对比: 指纹锁PK声纹锁 安全隐患 指纹采用单一固定的认证方式存在永久性的失密隐患。
声纹采用“语意声纹”的双因子认证其中语意可动态调整不存在永久性失密隐患。
使用方便性 指纹必须试用手指接触手指太脏、纹路太浅都无法使用有局限性。
声纹属于非接触式开启方式可彻底解放人的双手卫生洁净。
入侵隐蔽性 指纹很容易残留在预先不知的情况下容易被窃取。
声纹对信道敏感录音无用模仿无效且在被入侵时需发出声音有较强的心理震慑作用。
识别速度 指纹在实际存储指纹容量过多时识别速度会变慢。
声纹算法独特识别速度与人数无关每次识别时间小于1秒。
设备易损性 指纹光学式接触面容易磨损硅感式接触面易受静电破坏设备易受恶意破坏且使用维护成本高。
声纹用声音不接触设备不易受破坏维护成本低。
可以看出声纹的独特之处了吧。
现附上主界面下翻页后圆点随着转换效果代码: 1 / Copyright c 2011 2 3 作者: 4 5 Cheung.S.kei 6 7 联系方式: 8 9 SupperLock0gmail.com 10 QQ:757689594 11 12 修改时间: 13 14 2011-09-03 15 16 功能描述: 17 18 翻面效果圆形图标 19 20 版权声明: 21 22 请尊重开发者劳动复制或修改本程序内容请注明地址。
23 24 Copyright c 2011 / 25 26 package com.kei.android.superlock.ui 27 28 import android.content.Context 29 import android.graphics.Canvas 30 import android.graphics.Color 31 import android.graphics.Paint 32 import android.util.Log 33 import android.view.View 34 35 public class CircleView extends View 36 37 //输出log显示状态 38 private static final String LOG_TAG CircleView 39 private static final boolean DBG true 40 41 private Paint mPaint 42 //宽高 43 private int mBackgroundWidth 44 private int mBackgroundHeight 45 private int mScreenHeight 46 private int mFinalCentermFinalHeight 47 //半径 48 private int mCircleRadius 49 50 private boolean isActivefalse 51 52 public CircleViewContext contextint ScreenWidthint ScreenHeightboolean isActive 53 supercontext 54 mPaint new Paint 55 //去锯齿 56 mPaint.setAntiAliastrue 57 mScreenHeightScreenHeight 58 mBackgroundHeightmScreenHeight/36 59 mBackgroundWidthmBackgroundHeight2 60 mCircleRadiusmBackgroundHeight/2-2 61 //中心点不变 62 mFinalCentermCircleRadius 63 mFinalHeightmBackgroundHeight 64 this.isActiveisActive 65 66 67 Override 68 protected void onDrawCanvas canvas 69 // TODO Auto-generated method stub 70 super.onDrawcanvas 71 ifisActive 72 //绘圆 73 mBackgroundHeightmScreenHeight/38 74 mCircleRadiusmBackgroundHeight/2-2 75 else 76 mBackgroundHeightmScreenHeight/60 77 mCircleRadiusmBackgroundHeight/2-2 78 79 80 mPaint.setColorColor.BLACK 81 canvas.drawCirclemFinalCenter1 mFinalCenter3 mCircleRadius mPaint 82 mPaint.setColorColor.WHITE 83 canvas.drawCirclemFinalCenter2 mFinalCenter2 mCircleRadius mPaint 84 85 86 Override 87 protected void onMeasureint widthMeasureSpec int heightMeasureSpec 88 final int widthmBackgroundWidth 89 final int heightmFinalHeight 90 if DBG log- width: width - height: height 91 setMeasuredDimensionwidth height 92 93 94 private void logString msg 95 Log.eLOG_TAG msg 96 97 98 public void updateInvalidate 99 this.invalidate 100 101 102 public void reset 103 isActivefalse 104 this.invalidate 105 106 107 public void active 108 isActivetrue 109 this.invalidate 110 111 112 以上为程序预览图欢迎各位下载试用。
?? 2011 c.net编程学习网 xml地图
上一篇:
菜鸟用DW做ASP+access
下一篇:
时间那么幽默,原来我们都为彼此活过