2012.07 电脑编程技巧与维护 基于 Java 的语音计算器实现 王浩亮 1 引言 计算器这一小小的从计算机中割裂出来的程序机器, 因其功能简便、 价格便宜、 利于携带与稳定性好等特点, 已经被广泛应用于办公、 商业等日常生活中, 极大地方便了人们对于数字的整合运算。 语音计算机器除能够实现普通型计算器的所有计算功能以外, 还具备了语音发声技术, 让您录入数据时能够听到的语音提示, 一有错误可立即得到纠正, 加快了计算时所需要的时间并保障了准确性。 文中所设计的中文语音计算器, 设计重点突出语音功能,对计算器的功能做基本加减乘除四则运算功能。 所有发音都是中文, 并支持语音包更换。 软件的功能也比较实用, 可用键盘也可用鼠标输入, 每次输入都有语音提示, 计算结果可以马上播报; 支持语音智能播报, 如: 123 读作一百二十三。 2 算法思想 计算器程序可以包括各种类型的计算, 并可为各种运算提供语音播报。 根据计算结果, 语音播报运算结果, 所以要根据实际运算情况录制语音内容, 建立语音库。 文中所述计算器程序主要为满足整数的加减乘除四则运算,根据功能给出算法的思想, 确定语音库中语音内容 。 (1) 首先程序要实现按键的语音播报, 语音集合 S 中应包括界面中所有功能按键的语音 {加、 减、 乘、 除、 等于…}。 (2) 对计算结果数字进行拆分, 获得各个进位的数字, 从语音库中获取相应语音信息, 合成计算结果数字语音播报。 (3) 数字拆分方法, 利用数字除以相应位上的权值, 获得商和余数, 对于中文数字读音, 所得商大于 0 即要获得整数语音再连接相应位权的语音。 如 2356 2356/1000,商为 2 余数为356, 此时获得 2 的语音和千的语音, 然后用余数 356 除以100;需要获得 3 的语音和百的语音;依次下去, 将整个数读出。 对于英文读音由于 11-19, 10、 20……90 的读音无规律, 所以都要配置相应语音后进行合成, 即比中文语音有所增加。 (4) 根据第 3 步数字拆分方法, 为了实现中英文语音的兼容性, 语音内容集合 S 中应包括 {…百万、 十万、 万、 千、百、 九十、 八十……二十、 十九、 十八、 ……十、 九、 八…… 零}。 3 系统实现 3.1 计算器功能实现 界面效果如图 1 所示,主要完成四则运算。 功能事件响应主要代码: public void actionPerformed(ActionEvent e){ if ((e.getActionCommand ().compareTo ("0") >=0)&&e. getActionCommand().compareTo("9")<=0)/* 按键为数字的事件响应代码 */ {this.text.setText(this.text.getText()+e.getActionCommand());} else if(e.getSource()==this.button_add){ /* 按键为加的事 件响应代码 */ String str=this.text.getText(); num=Double.parseDouble(str);; this.text.setText(""); type=1; } 摘 要: 随着计算器广泛应用于办公、 商业等日常生活, 录入速度和准确性越来越受到重视, 语音计算器具有提高录入数据速度和增加准确性等优势。 文中对语音计算器语音集合的算法进行探讨, 语音可自由更换并支持中英文语音播报, 采用 Jav

基于java的智能计算器_基于Java的语音计算器实现相关推荐

  1. 基于linux的智能小车_基于ARM10与LINUX智能小车系统设计.doc

    基于ARM10与LINUX智能小车系统设计 基于ARM的智能小车系统的设计 摘 要 基于ARM的嵌入式系统其性能优良,移植性好,已广泛应用在各个行业,因此将ARM微处理器应用于智能小车的控制系统是一种 ...

  2. 基于python的智能家居_基于Python的智能家居自动化测试脚本设计及实现

    投稿网址 http:www.VideoE.cn|<电视技术>第39 卷第5 期(总第458 期) 117 [本文献信息]沈杰,潘科,刘昕,等. 基于 Python 的智能家居自动化测试 ...

  3. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  4. java智能家居_基于JAVA的智能家居控制系统的设计(毕业设计).doc

    基于JAVA的智能家居控制系统的设计(毕业设计) 基于JAVA的智能家居系统的设计--信息控制子系统 PAGE 4 目 录 TOC \o "1-3" \h \z \u HYPERL ...

  5. java ee 物联网 论文_基于物联网的智能社区互助系统的设计研究论文

    基于物联网的智能社区互助系统的设计研究论文 1 绪论 目前行业内的智能社区解决方案分为两大阵营,无线阵营和总线阵营,无线阵营主张以互联网为平台,底层传感网使用短距离无线的传输网,并通过耦合两个异构网络 ...

  6. java线程卡住排查_基于 Java 线程栈 排查问题

    除日志外,还有没有别的方式跟踪线上服务问题呢?或者,跟踪并排除日志里无法发现的问题? 方法当然是有的,就是通过现场快照定位并发现问题.我们所说的现场,主要指这两方面: Java 线程栈.线程栈是Jav ...

  7. java课程设计拼图_基于Java拼图游戏的设计与实现(含录像)

    基于拼图游戏的设计与实现(含录像) 摘    要 本拼图游戏是基于J2SE平台开发的,它是一个Application,它的游戏规则和诺亚舟里的拼图游戏是一样的.这个游戏将一张大图切割成N张小图,然后在 ...

  8. java 写字板源代码_基于JAVA的模拟写字板的设计与实现(含录像)

    基于的模拟写字板的设计与实现(含录像)(任务书,开题报告,中期检查表,外文翻译,毕业论文18800字,程序代码,答辩PPT,答辩视频录像) 摘要 目前,很多新的技术领域都涉及到了Java语言,Java ...

  9. java微博源码_基于jsp的微博-JavaEE实现微博 - java项目源码

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的微博, 该项目可用各类java课程设计大作业中, 微博的系统架构分为前后台两部分, 最终实现在线上进行微博各项功能 ...

  10. java redis延迟队列_基于redis实现的延迟消息队列

    delay-queue redis实现延迟消息队列 需求背景 最近在做一个排队取号的系统 在用户预约时间到达前XX分钟发短信通知 在用户预约时间结束时要判断用户是否去取号了,不然就记录为爽约 在用户取 ...

最新文章

  1. spring计划任务
  2. Windows 安装 psutil
  3. js 中继承常用的几种方法
  4. zookeeper的设计猜想-关于 2PC 提交
  5. .NET CoreCLR开发人员指南(上)
  6. 微信小程序弹出框竖向滚动_微信小程序 解决自定义弹出层滑动时下层页面滚动问题...
  7. java做万年历,Java做的万年历
  8. 【数据结构】从零实现顺序表+链表相关操作
  9. 安装Hadoop2.10.1
  10. HTML+CSS奥运五环
  11. oracle rac 停机,RAC停机重启方案
  12. 滴滴二面:Kafka是如何读写副本消息的?
  13. 将数字转化为字符串的两种方法
  14. Fluent UDF代码编写
  15. The missing semester of your CS education--命令行环境
  16. python实现外星人入侵——3.事件分析
  17. Gitlab RCE CVE-2021-22205
  18. mysql的my.ini常用配置
  19. 涉及 GitHub、GitLab,研究人员发现 70 个 Web 缓存中毒漏洞;微软:许多攻击者仍对 Log4j 漏洞加以利用;VS 2022 新版发布 | 开源日报
  20. 7-3 接话茬 (100分)(简洁易懂的代码含思路分析)

热门文章

  1. 可缩放矢量图形svg
  2. Java多线程游戏-雷霆战机
  3. 一文让你初步了解壮族——一个奇葩但同样优秀的民族
  4. 完成有顺序约束的任务指派问题--应用模拟退火算法求解
  5. html table最小宽度,table宽度比tbody多1
  6. 传送网发展与各种网元的功能
  7. 开咖啡店如何盈利?用50家咖啡店揭晓一套盈利模式
  8. winEdt下编辑报错:Something‘s wrong--perhaps a missing \item. \end{thebibliography}
  9. 解决FAT32格式U盘安装win10时0x8007000D错误
  10. UT000010 Session is Invalid