- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PHP实现基于文本的莫斯电码生成器.doc
PHP实现基于文本的莫斯电码生成器 / 邮件群发 ? 介绍 我最近遇到一个基于输入文本生成摩斯代码音频文件的需求。几番有哪些信誉好的足球投注网站无果之后,我决定自己编写一个生成器。 下载源代码 – 2.63 KB 因为我希望通过web的方式访问我的摩斯代码音频文件,所以我决定采用PHP作为我主要的编程语言。上面的截图显示了一个开始生成莫斯代码的网页。在下载的zip文件中,包含了用于提交文本的网页以及用于生成和展现音频文件的PHP源文件。如果你想测试PHP代码,你需要将网页和相关的PHP文件复制到启用了PHP的服务器上。 对于许多人来说,莫斯代码就像一些老电影中表现的那样,就是一些“点”和“横线”的序列,或者一连串的哔哔声。显然,如果你想用计算机代码来生成莫斯代码,这样的了解是远远不够的。这篇文章将会介绍生成莫斯代码的要素,如何生成WAVE 格式的音频文件,以及如何用PHP将莫斯代码转化成音频文件。 莫斯代码 莫斯代码是一种文本编码方式。它的优点是编码方便,而且用人耳就能够方便的解码。本质上,是通过音频(或者无线电频)的开和关,从而形成或短或长的音频脉冲,一般称作点(dot)和线(dash),或者用无线电术语称作“嘀”和“嗒”。用现代数字通信术语,莫斯代码是一种振幅键控(amplitude shift keying ,ASK)。 在莫斯代码中,字符(字母,数字,标点符号和特殊符号)被编码成一个“嘀”和“嗒”的序列。所以为了把文本转化成莫斯代码,我们首先要确定如何来表示“嘀”和“嗒”。一个很显然的选择就是,用0表示“嘀”,用1表示“嗒”,或者反过来。不幸的是,莫斯代码采用的是可变长编码方案。所以我们也必须要使用一种可变长序列,或者采取一种方式,把数据打包成一种计算机内存通用的固定位宽(fixed bit-size)的格式。另外,需要特别注意的是,莫斯代码并不区分字母大小写,而且对一些特殊符号无法编码。在我们这个实现中,未定义的字符和符号将会被忽略。 在这个项目中,内存占用并不是一个需要特别考虑的问题。所以,我们提出一个简单的编码方案,即用“0”来表示每个“嘀”,用“1”来表示每个“嗒”,并且把他们放在一个字符串关联数组中。定义莫斯代码编码表的PHP代码就像下面这样: $CWCODE?=?array?(A=01,B=1000,C=1010,D=100,E=0,? ?????F=0010,G=110,H=0000,I=00,J=0111,? ?????K=101,L=0100,M=11,N=10,?O=111,? ?????P=0110,Q=1101,R=010,S=000,T=1,? ?????U=001,V=0001,W=011,X=1001,Y=1011,? ?????Z=1100,?0=11111,1=01111,2=00111,? ?????3=00011,4=00001,5=00000,6=10000,? ?????7=11000,8=11100,9=11110,.=010101,? ?????,=110011,/=10010,-=10001,~=01010,? ??????=001100,@=00101);? 需要注意的是,如果你特别在意内存占用的话,上面的代码可以解释为位(bit)。给每个代码增加一个开始位,就可以形成一个位的模式,每个字符就可以用一个字节来储存。同时,当解析最终编码的时候,要删除开始位左边的位(bit),从而获得真正的变长编码。 尽管许多人没有意识到,事实上“时间间隔”是定义莫斯代码的主要因素,所以理解这一点是生成莫斯代码的关键。所以,我们要做的第一件事,就是定义莫斯代码的内部码(即“嘀”和“嗒”)的时间间隔。为了方便起见,我们定义一个“嘀”的声音长度为一个时间单位dt,“嘀”和“嗒”之间的间隔也是一个时间单位dt;定义一个“嗒”的长度为3个dt,字符(letters)之间的间隔也是3个dt;定义单词(words)之间的间隔是7个dt。所以,总结起来,我们的时间间隔表就像下面这样: 项目 时间长度 嘀 dt “嘀”/“嗒”之间的间隔 dt “嗒” 3*dt 字符之间的间隔 3*dt 单词之间的间隔 7*dt 在莫斯代码中,编码声音的“播放速度”通常用 单词数/分钟(WPM) 来表示。由于英文单词有不同的长度,而且字符也有不同数量的“嘀”和“嗒”,所以,从WPM转化成(音频)数字采样并不是看上去那样简单。在一份被国际组织采用的方案中,采用5个字符作为单词的平均长度,同时,一个数字或标点符号被当做2个字符。这样,平均一个单词就是50个时间单位dt。这样,如果你指定了WPM,那么我们总的播放时间就是 50 * WPM的时间单位/分钟,每个“嘀”(即一个时间单位dt)的长度等于1.2/WPM秒。这样,给出一个“嘀”
您可能关注的文档
- 第四季度医德医风考评情况.doc
- 基于.NET的人事工资管理系统设计论文.doc
- 基于NETCONF协议的网管系统Agent端设计和实现.doc
- 创先争优活动工作手册.doc
- 西方经济学难点重点知识点.doc
- Components of a Dissemination Plan - CalSWEC一个传播计划的组成calswec.doc
- 审时度势理性看待社会需要.doc
- 英文简历必备doc - 英文简历必备如何描述自己性格.doc
- 素描与动漫造型的关系.doc
- LA INTERPRETACIÓN DEL PATRIMONIO NATURAL Y CULTURAL…La interpretaci和oacute;N删除丝帕特里莫尼奥自然Y文化….doc
最近下载
- 2025年省教师职称考试(体育与健康)(高中)综合试题及答案.docx VIP
- 理工英语边学边练.doc VIP
- 用户简易参考手册.PDF VIP
- (2025修订版)CAAC无人机理论考试题库资料必考题.docx VIP
- 2025年云南省国企招聘考试(工程管理)经典试题及答案二.docx VIP
- 大连理工大学854自动控制原理考研真题及答案1999-2024年.pdf VIP
- 广东省技工学校和职业培训机构教师教育理论函授培训作业册答案(2022年改版).pptx VIP
- 西藏乡村振兴真题及答案.doc VIP
- 简单零件钳加工完整版课件.pptx VIP
- 房屋市政工程安全生产标准化指导图册(k可编辑).pptx VIP
有哪些信誉好的足球投注网站
文档评论(0)