基于python的音频播放器的设计与实现_第1页
基于python的音频播放器的设计与实现_第2页
基于python的音频播放器的设计与实现_第3页
基于python的音频播放器的设计与实现_第4页
基于python的音频播放器的设计与实现_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本科学生毕业论文(设计)题目(中 文):基于python的音频播放器的设计与实现 (英 文):based on the design and implementation of python's audio player姓 名 学 号 院 (系)电子工程系专业、年级电子信息工程 级指导教师 ii湖南科技学院本科毕业论文(设计)诚信声明本人郑重声明:所呈交的本科毕业论文(设计),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以

2、明确方式标明。本人完全意识到本声明的法律结果由本人承担。本科毕业论文(设计)作者签名: 年 月 日34毕业论文(设计)任务书课题名称:基于python的音频播放器的设计与实现学生姓名: 系 别:电子工程系专 业:电子信息工程指导教师: 湖南科技学院本科毕业论文(设计)任务书1、 主题词、关键词: python语言,音频播放器,wave波形显示2、 毕业论文(设计)内容要求:1) 开发环境与开发工具的介绍;2) 软件界面窗口的实现;3) 音频解析与播放功能的实现;4) 波形解析与显示的实现;5) 界面、功能整体优化。6) 软件调试与测试结果7) 其它3、 文献查阅指引:1 http:/srini

3、kom.github.io/pyside-docs/ pyside文档2 / qt文档3 / matplot文档4 / numpy文档 5 csdn论坛6 开源中国社区7 汤韬. python库简介j. 程序员. 2006(06)8 胡守超. 基于python语言的音频捕获及频谱分析设计j. 电脑编程技巧与维护. 2009(09)9 (美)陈仲才(wesleyj.chun)著,杨涛等译.python核心编程m. 机械工业出版社, 200110 冷寒生. 音频天下,谁是英雄四款音

4、频播放器软件大比拼j. 软件. 200511 guido van rossum. foreword for "programming python" (1st ed.). 1996/5/1 12 python software foundation. python 3.0b3 release. 2008/8/20 2008/8/3013 python language guide (v1.0). google documents list data api v1.0. google.14 冯建元. 音频播放器的架构分析与关键技术的实现j. 计算机与网络. 2009(20)4

5、、 毕业论文(设计)进度安排:1)2012年7月-12月:学习计算机编程基础(c&java);2)2012年11月:选定论文题目;3)2013年2月:实现了软件界面及播放器的基本功能;4)2013年3月:加入波形模块;5)2013年4月上旬:完成系统整合并开始着手写论文初稿;6)2013年4月中旬:继续完善软件界面与功能,论文初稿基本完成;7)2013年5月上旬:程序代码优化完成,论文定稿,准备答辩。教研室意见:负责人签名: 注:本任务书一式三份,由指导教师填写,经教研室审批后一份下达给学生,一份交指导教师,一份留系里存档。湖南科技学院本科毕业论文(设计)开题报告书论文(设计)题目基于

6、python的音频播放器的设计与实现作 者 姓 名徐锌涛所属系、专业、年级 电子工程系 电子信息工程专业 2009年级指导教师姓名、职称张文昭 高级实验师预计字数10000开题日期2012.12.22选题的根据:1)说明本选题的理论、实际意义2)综述国内外有关本选题的研究动态和自己的见解1)本选题的理论、实际意义如今是信息化多媒体时代,互联网上出现了各种各样的解析音频的软件,像酷狗、千千静听、qq音乐等,这类软件使我们能随心所欲的欣赏音乐,有的软件还能够看到音乐的波形。基于对这方面的爱好,借助软件方面的知识,可以试着做一个软件,将音频播放与波形解析这两个主要功能整合在一起,做出属于自己的音乐播

7、放器。2)国内外有关本选题的研究动态和自己的见解在国外,音乐播放器主要有realplayer、kmplayer及微软自带的wmp等。不过我们还是习惯于用国内的,在国内的音乐播放器市场上,有所谓的“四大天王”,他们分别是千千静听、酷狗音乐、酷我音乐以及qq音乐。四款软件经过自身各个版本的升级更新,在功能及用户体验上都有着长足的进步。目前国内做过的有关音频波形的研究主要有两个,一个是胡守超的基于python语言的音频捕获及频谱分析设计:利用python编程语言和directsound的音频数据捕获技术,并对采集到的音频数据进行了相关分析处理,实时显示其波形和频谱。另一个是基于python何月顺的音

8、频数据处理研究与应用:介绍了基于python的音频数据处理函数;实现了自动测试声音文件的格式、声音文件的播放及声音文件在不同的存储格式之间的转换;对声音进行分离与合成;提取声音的特征值以便进行分析与鉴别;改变原始声音的采样速率、采样编码、采样宽度等。国外主流的专业的多媒体解析与编辑软件是adobe公司开发的系列软件,audition专为在照相室、广播设备和后期制作设备方面工作的音频和视频专业人员设计,可提供先进的音频混合、编辑、控制和效果处理功能。本设计所做的设计是仿照adobe audition这款软件,在windows环境下,利用python编程语言来实现音频播放与波形解析两大功能。主要内

9、容:1.主要研究内容:本课题主要是研究并设计了一个可显示波形的音频播放器。其中重点设计实现音频数据解析及波形绘制的功能。本课题研究的内容主要有以下几个方面:1) 开发环境与开发工具;2) 软件界面窗口的实现; 3) 音频解析与播放功能的实现; 4) 波形解析与显示的实现。 2.重点解决的问题: 音频数据解析与音乐波形的绘制。3.预期的研究成果: 软件所需功能已经实现研究方法:1. 学习python语法、qt designer界面设计;2. 设计音频播放器功能;3. 加入波形绘制部分;4. 查阅国内外最新资料,开拓视野,对已有的成果加以分析利用。完成期限和采取的主要措施:1、完成期限:2012.

10、7.16-2013.5.61)2012年7月-12月:学习计算机编程基础(c&java);2)2012年11月:选定论文题目;3)2013年2月:实现了软件界面及播放器的基本功能;4)2013年3月:加入波形模块;5)2013年4月上旬:完成系统整合并开始着手写论文初稿;6)2013年4月下旬:继续完善软件界面与功能,论文初稿基本完成;7)2013年5月上旬:程序代码优化完成,论文定稿,准备答辩;2、主要措施:1)密切联系本组设计成员及毕业设计指导导师,寻求有关毕业设计信息,确定设计课题方向与设计内容;2)充分利用图书馆和网络查阅相关资料,广泛获取必要的知识,了解最新研究动态。 3)虚

11、心向老师请教和同学进行学习交流,保障毕业设计的顺利完成。主要参考资料:1 http:/srinikom.github.io/pyside-docs/ pyside文档2 / qt文档3 / matplot文档4 / numpy文档 5 csdn论坛6 开源中国社区7 汤韬. python库简介j. 程序员. 2006(06)8 胡守超. 基于python语言的音频捕获及频谱分析设计j. 电脑编程技巧与维护. 2009(09)9 (美)陈仲才(wesleyj.chun)著,杨涛等

12、译.python核心编程m. 机械工业出版社, 200110 冷寒生. 音频天下,谁是英雄四款音频播放器软件大比拼j. 软件. 200511 guido van rossum. foreword for "programming python" (1st ed.). 1996/5/1 12 python software foundation. python 3.0b3 release. 2008/8/20 2008/8/3013 python language guide (v1.0). google documents list data api v1.0. googl

13、e.14 冯建元. 音频播放器的架构分析与关键技术的实现j. 计算机与网络. 2009(20)指导教师意见:指导教师签名: 教研室意见:签 名: 年 月 日开 题 报 告 会 纪 要时间2012-12-22地点3-706与会人员姓 名职务(职称)姓 名职务(职称)姓 名职务(职称)刘志壮教授陈泽顺副教授刘爱林副教授张文昭高级实验师徐晓高级实验师周玲讲师会议记录摘要:1. 此论题的现实意义?近年来,在网络上出现了各种各样的音视频播放器,在工作之余通过听歌来释放压力、娱乐身心。一款实用的、方便的、高效的播放器成为了pc等设备上的必备软件。通过选做此题可培养编程能力及自主创新能力,将理论与实际相结合

14、,做出一款可同步显示波形的音频播放器。2. 此研究包含的主要模块?本研究计划在eclipse编辑器里用python语言编程,实现播放器功能和波形同步显示功能这两个模块。3研究需注意的问题及重难点部分?需要注意python库函数的调用及一些工具包的导入等问题。重难点在于音乐波形的绘制,波形的精确显示等。会议主持人:记 录 人:年 月 日指导小组意见负责人签名: 年 月 日系部 意 见负责人签名:年月日注:此表由学生本人填写,一式三份,一份留系里存档,指导老师和本人各保存一份湖南科技学院毕业论文(设计)中期检查表毕业论文(设计)题 目基于python的音频播放器的设计与实现学生姓名徐锌涛学 号20

15、0906002327系 别电子工程系专 业电子信息工程指导教师张文昭检查日期2013-4-10指导教师检查情况记载及修改意见:已经完成的工作: 1、完成了软件整体界面的设计; 2、完成所以格式音频播放的功能; 3、完成了音乐波形的绘制;4、基本完成了软件性能的优化; 5、论文大部分内容已经完成。下一步的工作: 1、进一步完善波形的绘制部分; 2、完成软件各模块的整合 3、同时继续论文的写作工作,找出错误,完善论文; 签名: 湖南科技学院毕业设计(论文)指导过程记录表毕业论文(设计)题目基于python的音频播放器的设计与实现学生姓名徐锌涛学号200906002327专业班级电信0903指导教师

16、张文昭职称高级实验师系(教研室)电子技术教研室指导过程记录指导内容记录(一)查找资料及讨论选题。 学 生 签 名: 2012 年 12月 22日 指导教师签名: 2012 年 12月 22日指导内容记录(二)确定标题,下达设计任务书。学 生 签 名: 年 月 日指导教师签名: 年 月 日指导内容记录(三)设计可行性分析及开题报告的写作。学 生 签 名: 年 月 日指导教师签名: 年 月 日指导内容记录(四)论文的构思及基本框架。学 生 签 名: 年 月 日指导教师签名: 年 月 日指导过程记录指导内容记录(五)设计中的软件开发方案程序设计思路的讨论。学 生 签 名: 年 月 日指导教师签名:

17、年 月 日指导内容记录(六)中期检查,内容及结构的合理性。学 生 签 名: 年 月 日指导教师签名: 年 月 日指导内容记录(七)论文内容修改。学 生 签 名: 年 月 日指导教师签名: 年 月 日指导内容记录(八)论文格式修改。学 生 签 名: 年 月 日指导教师签名: 年 月 日答辩小组组长意见(对情况是否属实做出意见)组长(签名): 年 月 日注:本表与毕业论文一起装订存档。湖南科技学院本科毕业论文(设计)评审表论文题目基于python的音频播放器的设计与实现作者姓名徐锌涛所属系、专业、年级电子工程 系 电子信息工程 专业 2009年级指导教师姓名、职称张文昭 高级实验师字 数10000

18、定稿日期2013.5.8中文摘要如今是信息化多媒体时代,互联网上出现了各种各样的解析音频的软件,像酷狗、千千静听、qq音乐等,这类软件使我们能随心所欲的欣赏音乐,有的软件还能够看到音乐的波形。基于对这方面的爱好,借助软件方面的知识,可以试着做一个软件,将音频播放与波形解析这两个主要功能整合在一起,做出属于自己的播放器。本论文设计实现了一种在windows环境下可显示波形的音频播放器,利用qt designer设计音频播放器的界面,利用eclipse编辑工具为软件开发平台,用python语言编程来实现音频播放器的各种功能。该音频播放器由音乐播放模块和波形显示模块组成,音乐播放模块能播放所有音视频

19、格式的文件,具有:暂停、停止功能,以及声音控制、音量调节、进度条调节、时间定位、快进快退等功能。波形显示模块能同步显示wav格式文件波形,波形可放大缩小等功能。 关键词python语言,音频播放器,wave波形显示英文摘要now is an information-based multimedia era, appeared on the internet all kinds of parsing of audio software, like cool dog, qq music, etc., this software enables us to follow one's incl

20、inations appreciate the music, and some software also can see the music of the waveform. based on the interest in this area, with the aid of software knowledge, can try to do a software, audio playback and waveform analysis integrated with the two major functions, to make their own players.this thes

21、is designed and implemented in a windows environment can display the waveform of the audio player, audio player using qt designer design the interface, use the eclipse editing tool for software development platform, using the python programming language to realize the functions of audio player.the a

22、udio player is composed of music playback module and waveform display module, music playback module can all audio and video file formats, has: pause, stop function, and the voice control, volume control, the progress bar to adjust, time orientation, fast forward, fast rewind. waveform display module

23、 can synchronize wav format file waveform, the waveform can be zoom in, and other functions, etc. keywordsthe python language, audio player, wave waveform display指导教师评定成绩评审基元评审要素评审内涵满分指导教师实评分选题质量25%目的明确符合要求选题符合专业培养目标,体现学科、专业特点和教学计划的基本要求,达到毕业论文(设计)综合训练的目的。10理论意义或实际价值符合本学科的理论发展,有一定的学术意义;对经济建设和社会发展的应用性

24、研究中的某个理论或方法问题进行研究,具有一定的实际价值。10 选题恰当题目规模适当,难易度适中;有一定的科学性。5能力水平40%查阅文献资料能力能独立查阅相关文献资料,归纳总结本论文所涉及的有关研究状况及成果。10综合运用知识能力能运用所学专业知识阐述问题;能对查阅的资料进行整理和运用;能对其科学论点进行论证。10研究方案的设计能力整体思路清晰;研究方案合理可行。5研究方法和手段的运用能力能运用本学科常规研究方法及相关研究手段(如计算机、实验仪器设备等)进行实验、实践并加工处理、总结信息。10外文应用能力能阅读、翻译一定量的本专业外文资料、外文摘要和外文参考书目(特殊专业除外)体现一定的外语水

25、平。5论文质量35% 文题相符较好地完成论文选题的目的要求。5 写作水平论点鲜明;论据充分;条理清晰;语言流畅。15 写作规范符合学术论文的基本要求。用语、格式、图表、数据、量和单位、各种资料引用规范化、符合标准。10 论文篇幅10000字左右。5实评总分 成绩等级 指导教师评审意见:指导教师签名: 说明:评定成绩分为优秀、良好、中等、及格、不及格五个等级,实评总分90100分记为优秀,8089分记为良好,7079分记为中等,6069分记为及格,60分以下记为不及格。评阅教师评定成绩评审基元评审要素评审内涵满分评阅教师实评分选题质量25%目的明确符合要求选题符合专业培养目标,体现学科、专业特点

26、和教学计划的基本要求,达到毕业论文(设计)综合训练的目的。10理论意义或实际价值符合本学科的理论发展,有一定的学术意义;对经济建设和社会发展的应用性研究中的某个理论或方法问题进行研究,具有一定的实际价值。10选题恰当题目规模适当,难易度适中;有一定的科学性。5能力水平40%查阅文献资料能力能独立查阅相关文献资料,归纳总结本论文所涉及的有关研究状况及成果。10综合运用知识能力能运用所学专业知识阐述问题;能对查阅的资料进行整理和运用;能对其科学论点进行论证。10研究方案的设计能力整体思路清晰;研究方案合理可行。5研究方法和手段的运用能力能运用本学科常规研究方法及相关研究手段(如计算机、实验仪器设备

27、等)进行实验、实践并加工处理、总结信息。10外文应用能力能阅读、翻译一定量的本专业外文资料、外文摘要和外文参考书目(特殊专业除外)体现一定的外语水平。5论文质量35%文题相符较好地完成论文选题的目的要求。5写作水平论点鲜明;论据充分;条理清晰;语言流畅。15写作规范符合学术论文的基本要求。用语、格式、图表、数据、量和单位、各种资料引用规范化、符合标准。10论文篇幅10000字左右。5实评总分 成绩等级 评阅教师评审意见:评阅教师签名: 说明:评定成绩分为优秀、良好、中等、及格、不及格五个等级,实评总分90100分记为优秀,8089分记为良好,7079分记为中等,6069分记为及格,60分以下记

28、为不及格。湖南科技学院本科毕业论文(设计)答辩记录表论文题目基于python的音频播放器的设计与实现作者姓名徐锌涛所属系、专业、年级电子工程系 电子信息工程专业 2009年级指导教师姓名、职称张文昭 高级实验师答 辩 会 纪 要时间2013-05-18地点3-707答辩小组成员姓 名职务(职称)姓 名职务(职称)姓 名职务(职称)刘志壮教授陈泽顺副教授刘爱林副教授张文昭高级实验师徐晓高级实验师周玲讲师答辩中提出的主要问题及回答的简要情况记录:1.为什么用python语言开发,有什么优势?答:python是一种面向对象的开源的脚本语言,其语法简洁,编写方便。由于它是开源的,所以里面很多函数可以直

29、接调用,这样能够大大提高编程效率。2.音乐波形的起伏表示了什么?答:波形的起伏表示的是声音强度的高低。3.为什么只能解析出wav格式的波形?答:这是由于python的库里没有转码的函数,而所用绘图工具matplot只能将原始无压缩音乐的波形画出来。会议主持人:记 录 人: 年 月 日答辩小组意见评语:评定等级:负责人(签名): 年 月 日系学位委员会意见评语:论文(设计)最终评定等级:负责人(签名): 系部(公章) 年 月 日校学位委员会意见评语:评定等级:负责人(签名): 年 月 日目 录绪论1国内外研究现状1本设计所做的工作21 软件开发环境与开发工具31.1 eclipse软件简介31.

30、2 python语言简介31.3 所用到的python工具包42 软件界面窗口的实现52.1 qt designer软件简介52.2 软件整体界面的绘制5 2.3 将.ui文件转为.py文件63 音频解析与播放功能的实现12 3.1 phonon模块简介12 3.2功能具体实现过程124 波形显示的实现164.1对wav文件获取数据16 4.2根据音频数据绘制音乐波形17 4.2.1音频数据全部波形17 4.2.2当前时间段波形20 4.2.3上下波形区整合265 系统整合与测试295.1 程序主界面整合295.2 系统测试效果30结论32参考文献33致谢34基于python的音频播放器的设计

31、与实现摘 要如今是信息化多媒体时代,互联网上出现了各种各样的解析音频的软件,像酷狗、千千静听、qq音乐等,这类软件使我们能随心所欲的欣赏音乐,有的软件还能够看到音乐的波形。基于对这方面的爱好,借助软件方面的知识,可以试着做一个软件,将音频播放与波形解析这两个主要功能整合在一起,做出属于自己的播放器。本论文设计实现了一种在windows环境下可显示波形的音频播放器,利用qt designer设计音频播放器的界面,利用eclipse编辑工具为软件开发平台,用python语言编程来实现音频播放器的各种功能。该音频播放器由音乐播放模块和波形显示模块组成,音乐播放模块能播放所有音视频格式的文件,具有:暂

32、停、停止功能,以及声音控制、音量调节、进度条调节、时间定位、快进快退等功能。波形显示模块能同步显示wav格式文件波形,波形可放大缩小等功能。【关键词】:python语言,音频播放器,wave波形显示based on the design and implementation of python's audio playerabstractnow is an information-based multimedia era, appeared on the internet all kinds of parsing of audio software, like cool dog, qq

33、 music, etc., this software enables us to follow one's inclinations appreciate the music, and some software also can see the music of the waveform. based on the interest in this area, with the aid of software knowledge, can try to do a software, audio playback and waveform analysis integrated wi

34、th the two major functions, to make their own players.this thesis designed and implemented in a windows environment can display the waveform of the audio player, audio player using qt designer design the interface, use the eclipse editing tool for software development platform, using the python prog

35、ramming language to realize the functions of audio player.the audio player is composed of music playback module and waveform display module, music playback module can all audio and video file formats, has: pause, stop function, and the voice control, volume control, the progress bar to adjust, time

36、orientation, fast forward, fast rewind. waveform display module can synchronize wav format file waveform, the waveform can be zoom in, and other functions, etc.【key words】: the python language, audio player, wave waveform display绪论随着人们对精神文化的追求,听音乐成了人们最广泛的业余爱好。目前在互联网上,音频播放器软件可谓千姿百态,各领风骚。音乐播放器是一种用于播放各

37、种音乐文件的多媒体播放软件。它涵盖了各种音乐格式的播放工具,比如:mp3播放器,wma播放器,mp4播放器等。它们不仅界面美观,而且操作简单,带你进入一个完美的音乐空间。音乐播放器就是音频解码器的可视化操作界面,其实质是针对各种音频编码格式的解码器。大部分音乐播放器都支持多种音乐格式的文件,这是因为这些播放器将不同的音频解码器打包起来,并制作统一的播放界面,从而让使用者能够方便地播放和聆听各种音乐。正因为音乐播放器仅仅是将音频解码器打包,而同一种音频的解码方式又是固定的,因此理论上所有播放器的音质应当是完全相同的,并不存在音质最好的音乐播放器。有些音乐播放器会在解码器的基础上添加dsp插件,对

38、原始的音乐进行转换和扭曲,以迎合人们的喜好(如加强低音或过滤细节),美其名曰优化音质以获得天籁之音,实质却是破坏原本音乐,虽然能够使部分音乐更好听,却也导致另一些音乐音质大打折扣。音乐播放器的人性化界面和扩展性才是各种音乐播放器的特色所在。大部分商业版播放软件往往将界面打造得非常华丽,操作也十分简便,但却缺乏扩展性,支持格式较少。开源播放软件一般能够较好地进行扩展,支持较多的音乐格式,但往往界面朴素,难以吸引用户。国内外研究现状在国外,音乐播放器主要有realplayer、kmplayer及微软自带的wmp等。不过我们还是习惯于用国内的,在国内的音乐播放器市场上,有所谓的“四大天王”,他们分别

39、是千千静听、酷狗音乐、酷我音乐以及qq音乐10 。四款软件经过自身各个版本的升级更新,在功能及用户体验上都有着长足的进步。目前国内做过的有关音频波形的研究主要有两个,一个是胡守超的基于python语言的音频捕获及频谱分析设计:利用python编程语言和directsound的音频数据捕获技术,并对采集到的音频数据进行了相关分析处理,实时显示其波形和频谱8 。另一个是何月顺的基于python的音频数据处理研究与应用:介绍了基于python的音频数据处理函数;实现了自动测试声音文件的格式、声音文件的播放及声音文件在不同的存储格式之间的转换;对声音进行分离与合成;提取声音的特征值以便进行分析与鉴别;

40、改变原始声音的采样速率、采样编码、采样宽度等9 。国外主流的专业的多媒体解析与编辑软件是adobe公司开发的系列软件,audition专为在照相室、广播设备和后期制作设备方面工作的音频和视频专业人员设计,可提供先进的音频混合、编辑、控制和效果处理功能。本研究所做的工作本研究仿照cool edit pro软件的界面及功能,主要运用python语言和eclipse程序编辑器和qt designer软件及一系列python工具包,设计出一款音频播放器,实现了全格式的音频播放及显示wave格式文件的波形等功能。1 软件开发环境与开发工具1.1 eclipse软件简介eclipse是著名的跨平台的自由集

41、成开发环境(ide)。最初主要用来java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如c+和python的开发工具。eclipse的本身只是一个框架平台,但是众多插件的支持使得eclipse拥有其他功能相对固定的ide软件很难具有的灵活性。eclipse的插件机制是轻型软件组件化架构。在客户机平台上,eclipse使用插件来提供所有的附加功能,例如支持java以外的其他语 言。 已有的分离的插件已经能够支持c/c+(cdt)、perl、ruby,python、telnet和数据库开发。插件架构能够支持将任意的扩展加入到 现有环境中,例如配置管理,而决不仅仅限于支持各种编程语言。e

42、clipse的设计思想是:一切皆插件。eclipse核心很小,其它所有功能都以插件的形式附加于eclipse核心之上。eclipse基本内核包括:图形api (swt/jface), java开发环境插件(jdt ),插件开发环境(pde)等。eclipse sdk(软件开发者包)是eclipse platform、jdt和pde所生产的组件合并,它们可以一次下载。这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到eclipse platform中的工具。eclipse sdk由eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。eclipse

43、项目生产的软件以 gpl发布,第三方组件有各自自身的许可协议。1.2 python语言简介python3是一种解释型、面向对象、动态数据类型的高级程序设计语言。自从20世纪90年代初python语言诞生至今,它逐渐被广泛应用于处理系统管理任务和web编程。python已经成为最受欢迎的程序设计语言之一。由于python语言的简洁、易读以及可扩展性,在国外用python做科学计算的研究机构日益增多,一些知名大学已经采用python教授程序设计课程。众多开源的科学计算软件包都提供了python的调用接口。而python专用的科学计算扩展库就更多了,例如如下3个十分经典的科学计算扩展库:numpy、

44、scipy和matplotlib,它们分别为python提供了快速数组处理、数值运算以及绘图功能。因此python语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。python的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译。其中很重要的一项就是python的缩进规则。一个和其他大多数语言(如c)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的(而c语言是用一对花括号来明确的定出模块的边界的,与字符的位置毫无关系)。这一点曾经引起过争议。因为自从c这类的语言诞

45、生后,语言的语法含义与字符的排列方式分离开来,曾经被认为是一种程序语言的进步。不过不可否认的是,通过强制程序员们缩进(包括if,for和函数定义等所有需要使用模块的地方),python确实使得程序更加清晰和美观。python是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。python支持重载运算符和动态类型。相对于lisp这种传统的函数式编程语言,python对函数式设计只提供了有限的支持。python在执行时,首先会将.py文件中的源代码编译成python的byte code(字节码),然后再由python virtua

46、l machine(python虚拟机)来执行这些编译好的byte code。除此之外,python还可以以交互模式运行,比如主流操作系统unix/linux、mac、window都可以直接在命令模式下直接运行python交互环境。直接下达操作指令即可实现交互操作。1.3 所用到的python工具包在开发过程中所需的python工具包有pyside,matplotlib,numpy,pysideuic等。pyside 1 是跨平台的应用程式框架 qt 的 python 绑定版本 。matplotlib3 用于绘制波形。numpy4 用于对音频数据进行科学计算。pysideuic用于将.ui文件

47、转换为.py文件。2 软件界面窗口的实现2.1 qt designer软件简介qt designer2 是一个gui的工具.这个工具可以加快编写qt 程序的速度.利用qt designer可以用一种所见既所得的方式,来产生qt程序的gui介面的代码.通过增加一些功能,就可以完成一个程序了。首先,用qt designer来搭建整体界面,并保存为ui文件,然后在cmd命令解释器中输入命令将ui文件转换为py文件。2.2 软件整体界面的绘制整个界面由上中下三部分构成,最上面一层是播放器层,这一层由时间编辑盒、文件选择按钮、文件路径文本框、播放(暂停)&停止按钮、音量调节条、波形放大按钮、波形

48、缩小按钮、快退按钮、快进按钮、时间显示器、进度条这些部件构成;中间一层是动态波形区;最下面一层是静态波形区。运行qt designer软件,首先新建一个窗口,向里面从左往右依次添加,时间编辑盒、文件选择按钮、文件路径文本框、播放(暂停)&停止按钮、音量调节条、波形放大按钮、波形缩小按钮、快退按钮、快进按钮、时间显示器、进度条这些部件,然后将布局设为水平模式。然后再新建一个窗口,将窗口划分为上下两个部分,下面是音乐的全部波形,即静态波形,上面是播放位置附近区域的波形,即动态波形。这样,软件整体的界面就画出来了(如图1所示)。图1 软件整体界面2.3 将.ui文件转为.py文件通过qt d

49、esigner,可得到ui文件,接着需要将ui文件转换为python的py文件。打开windows的命令提示符cmd,进入ui文件所在目录,执行语句:pyside-uic a.ui>a.py,这样就生成了界面对应的python文件。代码如下:class ui_toolboxwidget(object):def setupui(self, toolboxwidget):toolboxwidget.setobjectname("toolboxwidget")toolboxwidget.resize(1623, 170)toolboxwidget.setautofillba

50、ckground(true)self.gridlayout = qtgui.qgridlayout(toolboxwidget)self.gridlayout.setcontentsmargins(0, 0, 0, 0)self.gridlayout.setobjectname("gridlayout")self.verticallayout = qtgui.qvboxlayout()self.verticallayout.setspacing(0)self.verticallayout.setcontentsmargins(0, 0, 0, 0)self.verticallayout.setobjectname("verticallayout")self.horizontallayout = qtgui.qhboxlayout()self.horizontallayout.setspacing(10)self.horizontallayout.setobjectname(&q

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论