山水知音--目前可以进行的步骤和待思考步骤

来源:互联网 发布:上交所网络投票流程 编辑:程序博客网 时间:2024/04/28 12:41

项目具体实现

1.搭建java开发环境
2.分析:鉴于项目是要将录音实时在线识别并合成乐曲,(因此整个过程就是不断的在处理音频文件,故以文件为单位),那么整个项目的思路如下


思路流程图:采集->识别->发散->合成

Created with Raphaël 2.1.01.采集到音频文件(即录音,得到一个录音文件)2.识别成音谱文件 (录音文件经matlab算法处理得到新的文件(文件内容:1.一共有多少个音,2.每个音的音调是什么,3.音之间的间隔多少秒)3.发散多个同类型音乐文件 (得到上面的乐谱文件之后,再用各种乐器弹奏出多个音频文件)4.合成最终音乐文件再播放:将如上多个速度相同,音谱相同,音不同的音乐文件用matlab 处理得到最终的音乐文件);

具体实现

第一步:采集 得到record.pcm(目前的任务:先把这一步实现出来,可以开始写代码了,前提开发环境搭好)

目标:这个app上要有一个按钮,按一下开始录音,再按一下停止,把这个录音文件(record.pcm)保存下来;
代码实现:网上有代码参考….


第二步:识别(询问结果为:这个技术目前语音识别领域正在研究中 -.-,不过先学习怎样分析音频文件再说,有进展我会写文发出来)

第一,从录音文件中找到每个音的位置(音出现的时间):频谱中波比较密集的地方==>算法怎么实现?
第二,提取这个音的频段并和标准音谱对比进而转化成 一个数字代替
第三,将每个音出现的时间和转换后的数字 记录成一个新文件 transform.txt

第三步:发散(后续到了这一步再思考)

1.解析transform.txt 得到每个音的时间和数字,并立即用其他乐器演奏出对应音,并记录在多个文件里 guitar.pcm, flute.pcm 等

第四步:将多个音频文件合成(…)

原创粉丝点击