您现在正在浏览:首页 > 论文 > 计算机 > 毕业设计-基于移动终端的音乐云社区—匹配数据库与Android端识别整合

免费下载毕业设计-基于移动终端的音乐云社区—匹配数据库与Android端识别整合

  • 资源类别:论文
  • 资源分类:计算机
  • 适用专业:软件工程
  • 适用年级:大学
  • 上传用户:liuqiansg
  • 文件格式:word+pdf+java
  • 文件大小:2.07MB
  • 上传时间:2013-10-30 0:42:26
  • 下载次数:0
  • 浏览次数:38

安全检测:瑞星:安全 诺顿:安全 卡巴:安全

资料简介

毕业设计-基于移动终端的音乐云社区—匹配数据库与Android端识别整合,共39页,12585字,附完整java源代码、开题报告等
主要内容
基于我们的情景描述以及需求,结合现实中录音文件的格式多位wav来看,我们主要需要考虑的就是wav格式的音乐识别,通过对比录制的wav和原歌曲的特征进行相似度计算,从而获得相应的检索结果。
前期我们需要先建立一个歌曲数据库,将一定数量的歌曲通过预处理,预处理阶段是将各种媒体格式的音乐中把旋律和节奏这两个特征信息提取出来,保存为结构化的特征数据库,供查询时使用。查询处理部分主要是将查询者哼唱的输入声音经过类似的处理变化成于数据库相同的特征表示以进行匹配。将原始音乐数据和输入都转换为特征序列表示以后,就可以使用字符串匹配或文本搜索方法进行查询,匹配搜索引擎的作用就是将转换后的输入序列与经过预处理的特征数据库中的特征进行比对,找到可能匹配的结果,并且按照匹配的相似度排序返回查询结果。
其难点在于建立特征数据库时,特征点的选取数量控制,数量过少则数据库精度不够,而数量过多则增加了存储及匹配的开销。同时由于录音环境的不同,声音样本可能会受到不同程度的干扰,增大了匹配的难度。
通过查询资料以及讨论,我们决定以哈希表作为存储结构,首先将歌曲转化为波形,没隔一定时间段去几个当时的波形点数据,与当时的时间点一并存储。创建索引数据库,我们将进行如下操作,将数据库的track Id 设置成一个小型数据结构,其可以容纳 64bit数据。其中 32bit数据作为hash存储,之后的 32bit用于存储时间偏移量。我们创建数据库并生成有关联的 hash和偏移时间量。为了加快搜索速度,我们还 需要将 64bit 数据结构根据其hash密钥进行排序。从而得到我们需要的数据库。
并且,一段音乐信号可以通过频谱图表示。横轴表示时间,纵轴为频率,另一个轴表示强度,即一个三维的频谱。那么,一条水平线代表一段连续的音频,垂直线代表一个瞬间的白噪声。我们大约是每秒提取3个锚点。
........

中文摘要
本文介绍了一个基于移动终端的云社区系统,主要使用到了基于声学指纹的音频检索系统,实现了音乐识别的功能,同时建立了一个社区系统,使用者可以随时与好友分享自己偶然听到的好听的歌曲。
其中本文重点介绍了系统中音乐识别部分检索特征数据库的建立办法,主要涉及MP3文件的解码操作与PCM数据的处理操作,详细介绍了解码方法与PCM的存储结构。同时本文也介绍了在Android平台下录音及取点算法的实现,详细介绍了录音与取点算法的时间优化问题。
关键字:
音乐识别;特征点数据库;MP3解码;PCM数据处理
Abstract
The article describes a mobile terminal-based cloud community systems mainly use to acoustic fingerprint-based audio retrieval system, the music recognition feature, while establishing a Community system, users can share with friends happened to hear the good songs.
This article focuses on music recognition system part of the retrieval characteristics of the establishment of the database approach, mainly related to the MP3 file decoding operation and PCM data processing operations, detailing the decoding method with PCM storage structure. The article also describes the sound recording and take algorithm implementation on the Android platform, detailing the time of the recording and access point algorithm optimization problem.
Key words:
Music identified;Feature points database;MP3 decoding;PCM dat

目录
第一章 概述 1
1.1. 研究背景 1
1.2. 技术背景 1
1.2.1. 基于声学指纹的音乐检索 1
1.2.2. MP3解码技术 2
1.2.3. PCM数据 2
1.2.4. FFT算法 2
1.2.5. JAVA语言 3
1.3. 同类软件现状 3
1.4. 本文结构 4
第二章 音乐识别系统总体设计 5
2.1. 项目总体结构 5
2.2. 需求分析 6
2.3. 服务器端 6
2.3.1. MP3解码 6
2.3.2. 歌曲信息处理 7
2.3.3. PCM数据处理 7
2.3.4. 获取特征点 7
2.4. Android客户端程序 8
2.4.1. 录音 9
2.4.2. FFT及取点 9
2.4.3. 网络传输 9
第三章 系统重点难点分析及实现 10
3.1. 音乐获取 10
3.2. 匹配数据库建立 10
3.2.1. MP3解码 10
3.2.2. MP3标签 13
3.3. MP3解码流程 14
3.3.1. 读取文件 14
3.3.2. 解析文件信息 14
3.3.3. 按帧解析MP3 14
3.4. PCM数据处理 17
3.5. 代码优化 19
3.6. Android端录音取点 19
3.6.1. 录音及处理的合理调用 19
3.6.2. Android端网络通信 20
第四章 音乐识别系统系统测试 21
4.1. 服务器端功能测试 21
4.1.1. 歌曲信息获取测试 21
4.1.2. PCM数据获取测试 22
4.1.3. FFT及取点测试 23
4.1.4. PCM处理正确性测试 24
4.2. Android端测试 25
第五章 总结与展望 26
5.1. 课题感想 26
5.2. 课题展望 26
致谢 27
参考文献 28

本文结构
本文第一章为绪论,主要叙述了项目的背景,所用到的技术,以及同类软件的比较与分析。
第二章为系统总体设计,其中包括了服务器端和客户端需求分析与总体设计,讲述了匹配特征数据库的建立与维护办法,所需编写的功能模块,以及客户端所需的功能模块。概括讲述了解决办法。
第三章为系统的具体实现,包括编写过程中发现的重点难点问题,及相应的解决方案,详细的说明了匹配特征数据库的建立办法与客户端功能的实现方法。
本文第四章为系统的结果实验与各种测试,检查系统是否可以完成预定的功能,并检测在错误输入的条件下,系统能否顺利识别并提示错误。同时检测了Android端的录音匹配与网络等功能。
最后一章为总结,叙述了项目的完成情况,与我们在完成项目途中的收获。

资料文件预览
共75文件夹,149个文件,文件总大小:2.86MB,压缩后大小:2.07MB
  • 毕业设计-基于移动终端的音乐云社区—匹配数据库与Android端识别整合
    • 基于移动终端的音乐云社区—匹配数据库与Android端识别整合
      • 毕业设计
        • IdentifySound
          • .settings
            • prefsorg.eclipse.jdt.core.prefs  [587.00B]
          • bin
            • sound
              • Java类文件Complex.class  [3.01KB]
              • Java类文件DataPoints.class  [641.00B]
              • Java类文件FFT.class  [2.83KB]
              • Java类文件Harvester.class  [481.00B]
              • Java类文件SoundListener.class  [5.46KB]
          • src
            • sound
              • Java源文件Complex.java  [2.95KB]
              • Java源文件DataPoints.java  [376.00B]
              • Java源文件FFT.java  [2.80KB]
              • Java源文件Harvester.java  [192.00B]
              • Java源文件SoundListener.java  [4.90KB]
          • classpath.classpath  [295.00B]
          • project.project  [372.00B]
        • mp3ToPCMBuffer
          • .settings
            • prefsorg.eclipse.jdt.core.prefs  [598.00B]
            • prefsorg.eclipse.php.core.prefs  [77.00B]
          • bin
            • mp3ToPCMBuffer
              • decoder
                • Java类文件BitStream.class  [2.36KB]
                • Java类文件Header.class  [10.57KB]
                • Java类文件HuffmanBits.class  [25.93KB]
                • Java类文件IFrame123.class  [155.00B]
                • Java类文件Layer123.class  [2.74KB]
                • Java类文件Layer3$Channel.class  [965.00B]
                • Java类文件Layer3$GRInfo.class  [2.31KB]
                • Java类文件Layer3$SideInfo.class  [1.06KB]
                • Java类文件Layer3.class  [27.27KB]
                • Java类文件Synthesis.class  [21.22KB]
              • instream
                • Java类文件BuffRandReadFile.class  [1.39KB]
                • Java类文件BuffRandReadURL$Writer.class  [2.85KB]
                • Java类文件BuffRandReadURL.class  [6.22KB]
                • Java类文件IRandomRead.class  [326.00B]
                • Java类文件Multiplex.class  [3.55KB]
              • player
                • Java类文件MainForDebug.class  [1.13KB]
                • Java类文件Mp3ToPCM.class  [2.15KB]
                • Java类文件Mp3ToPCMBuffer.class  [3.57KB]
              • tag
                • Java类文件ID3Tag.class  [6.32KB]
          • src
            • mp3ToPCMBuffer
              • decoder
                • Java源文件BitStream.java  [3.33KB]
                • Java源文件Header.java  [17.59KB]
                • Java源文件HuffmanBits.java  [22.62KB]
                • Java源文件IFrame123.java  [982.00B]
                • Java源文件Layer123.java  [3.95KB]
                • Java源文件Layer3.java  [42.52KB]
                • Java源文件Synthesis.java  [33.31KB]
              • instream
                • Java源文件BuffRandReadFile.java  [1.68KB]
                • Java源文件BuffRandReadURL.java  [7.08KB]
                • Java源文件IRandomRead.java  [1.16KB]
                • Java源文件Multiplex.java  [5.82KB]
              • player
                • Java源文件MainForDebug.java  [522.00B]
                • Java源文件Mp3ToPCM.java  [2.05KB]
                • Java源文件Mp3ToPCMBuffer.java  [4.91KB]
                • Java源文件SoundBufferOperation.java  [3.47KB]
              • tag
                • Java源文件ID3Tag.java  [9.82KB]
          • classpath.classpath  [301.00B]
          • project.project  [380.00B]
        • MusicBoomAndroid
          • .settings
            • prefsorg.eclipse.jdt.core.prefs  [173.00B]
            • prefsorg.eclipse.php.core.prefs  [77.00B]
          • assets
          • bin
            • classes
              • com
                • is
                  • generateHash
                    • ds_store.DS_Store  [6.00KB]
                    • ds_store._.DS_Store  [82.00B]
                    • Java类文件Harvester.class  [537.00B]
                    • Java类文件HashGenerator.class  [3.09KB]
                  • mathMethod
                    • Java类文件Complex.class  [2.98KB]
                    • Java类文件FFT.class  [2.89KB]
                    • Java类文件NewFFT.class  [1.81KB]
                  • musicboom
                    • activity
                      • Java类文件MainActivity.class  [1.98KB]
                    • record
                      • Java类文件MusicBoomRecord.class  [3.79KB]
                    • Socket
                      • Java类文件ConnectionToServer.class  [3.12KB]
                    • Java类文件BuildConfig.class  [341.00B]
                    • Java类文件R$attr.class  [334.00B]
                    • Java类文件R$drawable.class  [401.00B]
                    • Java类文件R$id.class  [455.00B]
                    • Java类文件R$layout.class  [403.00B]
                    • Java类文件R$string.class  [493.00B]
                    • Java类文件R$style.class  [425.00B]
                    • Java类文件R.class  [563.00B]
                  • ds_store.DS_Store  [6.00KB]
                  • ds_store._.DS_Store  [82.00B]
                • ds_store.DS_Store  [6.00KB]
                • ds_store._.DS_Store  [82.00B]
              • ds_store.DS_Store  [6.00KB]
              • ds_store._.DS_Store  [82.00B]
            • dexedLibs
              • Java档案文件android-support-v4-ad95322be595939e3001ecf21bed2fc0.jar  [146.26KB]
              • Java档案文件annotations-f4f7b9103eece400389f36cf69fc1cbf.jar  [943.00B]
            • res
              • drawable-hdpi
                • PNG图像文件ic_launcher.png  [6.15KB]
              • drawable-ldpi
                • PNG图像文件ic_launcher.png  [2.12KB]
              • drawable-mdpi
                • PNG图像文件ic_launcher.png  [3.22KB]
              • drawable-xhdpi
                • PNG图像文件ic_launcher.png  [9.85KB]
            • xmlAndroidManifest.xml  [1019.00B]
            • dexclasses.dex  [579.67KB]
            • cachejarlist.cache  [119.00B]
            • apkMusicBoomAndroid.apk  [181.46KB]
            • ap_resources.ap_  [25.18KB]
          • gen
            • com
              • is
                • musicboom
                  • Java源文件BuildConfig.java  [158.00B]
                  • Java源文件R.java  [1.63KB]
          • libs
            • Java档案文件android-support-v4.jar  [376.65KB]
          • res
            • drawable-hdpi
              • PNG图像文件ic_launcher.png  [8.02KB]
            • drawable-ldpi
              • PNG图像文件ic_launcher.png  [2.50KB]
            • drawable-mdpi
              • PNG图像文件ic_launcher.png  [3.97KB]
            • drawable-xhdpi
              • PNG图像文件ic_launcher.png  [13.25KB]
            • layout
              • xmlactivity_music_boom.xml  [1.04KB]
            • values
              • xmlstrings.xml  [263.00B]
              • xmlstyles.xml  [679.00B]
          • src
            • com
              • is
                • generateHash
                  • ds_store.DS_Store  [6.00KB]
                  • ds_store._.DS_Store  [82.00B]
                  • Java源文件Harvester.java  [232.00B]
                  • Java源文件HashGenerator.java  [2.17KB]
                • mathMethod
                  • Java源文件Complex.java  [1.91KB]
                  • Java源文件FFT.java  [2.05KB]
                  • Java源文件NewFFT.java  [1.67KB]
                • musicboom
                  • activity
                    • Java源文件MainActivity.java  [3.29KB]
                  • record
                    • Java源文件MusicBoomRecord.java  [2.93KB]
                  • Socket
                    • Java源文件ConnectionToServer.java  [2.53KB]
                • ds_store.DS_Store  [6.00KB]
                • ds_store._.DS_Store  [82.00B]
              • ds_store.DS_Store  [6.00KB]
              • ds_store._.DS_Store  [82.00B]
            • ds_store.DS_Store  [6.00KB]
            • ds_store._.DS_Store  [82.00B]
          • classpath.classpath  [364.00B]
          • ds_store.DS_Store  [6.00KB]
          • project.project  [819.00B]
          • ds_store._.DS_Store  [82.00B]
          • xmlAndroidManifest.xml  [1019.00B]
          • PNG图像文件ic_launcher-web.png  [54.44KB]
          • 文本文档proguard-project.txt  [781.00B]
          • propertiesproject.properties  [562.00B]
        • ReadPCMFile
          • .settings
            • prefsorg.eclipse.jdt.core.prefs  [598.00B]
            • prefsorg.eclipse.php.core.prefs  [77.00B]
          • bin
            • com
              • is
                • generateHash
                  • ds_store.DS_Store  [6.00KB]
                  • ds_store._.DS_Store  [82.00B]
                  • Java类文件Harvester.class  [537.00B]
                  • Java类文件HashGenerator.class  [3.03KB]
                • mathMethod
                  • Java类文件Complex.class  [2.98KB]
                  • Java类文件FFT.class  [2.89KB]
                  • Java类文件NewFFT.class  [1.81KB]
            • Java类文件Main.class  [1.93KB]
          • src
            • com
              • is
                • generateHash
                  • ds_store.DS_Store  [6.00KB]
                  • ds_store._.DS_Store  [82.00B]
                  • Java源文件Harvester.java  [232.00B]
                  • Java源文件HashGenerator.java  [2.16KB]
                • mathMethod
                  • Java源文件Complex.java  [1.91KB]
                  • Java源文件FFT.java  [2.05KB]
                  • Java源文件NewFFT.java  [1.67KB]
            • Java源文件Main.java  [1.33KB]
          • classpath.classpath  [301.00B]
          • project.project  [387.00B]
      • Microsoft Word文档基于移动终端的音乐云社区—匹配数据库与Android端识别整合.doc  [1.02MB]
      • Adobe Acrobat可导出文档格式文件中期检查表.pdf  [3.87KB]
      • Adobe Acrobat可导出文档格式文件开题报告.pdf  [5.65KB]
      • Adobe Acrobat可导出文档格式文件成绩单.pdf  [2.25KB]
      • Adobe Acrobat可导出文档格式文件答辩记录单.pdf  [2.36KB]
      • Adobe Acrobat可导出文档格式文件进度报告.pdf  [7.05KB]
下载地址
资料评论
注意事项
下载FAQ:
Q: 为什么我下载的文件打不开?
A: 本站所有资源如无特殊说明,解压密码都是www.xuehai.net,如果无法解压,请下载最新的WinRAR软件。
Q: 我的学海币不多了,如何获取学海币?
A: 上传优质资源可以获取学海币,详细见学海币规则
Q: 为什么我下载不了,但学海币却被扣了?
A: 由于下载人数众多,下载服务器做了并发的限制。请稍后再试,48小时内多次下载不会重复扣学海币。
下载本文件意味着您已经同意遵守以下协议
1. 文件的所有权益归上传用户所有。
2. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
3. 学海网仅提供交流平台,并不能对任何下载内容负责。
4. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
5. 本站不保证提供的下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
返回顶部