[发明专利]一种在线卡拉OK伴奏、人声与字幕的同步方法有效
申请号: | 201210484133.1 | 申请日: | 2012-11-24 |
公开(公告)号: | CN102982832A | 公开(公告)日: | 2013-03-20 |
发明(设计)人: | 操灿;王松松;张旭;张磊;聂小林 | 申请(专利权)人: | 安徽科大讯飞信息科技股份有限公司 |
主分类号: | G11B27/10 | 分类号: | G11B27/10 |
代理公司: | 北京科迪生专利代理有限责任公司 11251 | 代理人: | 成金玉 |
地址: | 230088 安徽省*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种在线卡拉OK伴奏、人声与字幕的同步方法,在演唱者端进行人声、伴奏混音,加上播放的时间戳编码后发送到流媒体服务器;在收听者端,流媒体播放器线程启动后,首先从服务器端加载歌词,然后接收流媒体数据,采用接收到媒体数据量的大小来同步字幕的播放,从而实现收听者端与演唱者端卡拉OK伴奏、人声与字幕的同步。本发明减少网络带宽的实时传输,在接收者端多媒体播放线程启动前,从服务器上下载完字幕;同时降低CPU的计算消耗,在演唱者端将伴奏与人声进行混音、加上播放时间压缩编码形成多媒体数据块,接收者端进行解码播放,且按播放数据量的大小进行字幕同步。 | ||
搜索关键词: | 一种 在线 卡拉 ok 伴奏 人声 字幕 同步 方法 | ||
【主权项】:
一种在线卡拉OK伴奏、人声与字幕的同步方法,其特征在于实现如下步骤;(1)在演唱者端,启动混音线程,定义两个缓冲区MusicBuffer、SoundBuffer用于缓存伴奏和用户录音数据,当两个缓冲区中的数据到达指定的量MaxBuffer时,记录当前的播放时间PlayedTime,对录音数据先进行AGC处理然后再与伴奏进行混音处理,混音数据的时长为单位时间Unit1Time的整数倍,混音的数据长度ProcessTime为:ProcessTime=Int(Min(MusicBuffer,SoundBuffer)/Unit1Time)*Unit1Time将混音后的数据进行MP3编码,把编码后的数据与已播放的时间戳TimeStamp一起通过AMF数据格式封装,当演唱者端一首歌曲演唱结束时,达到设定的TimeStamp的结束阈值,采用RTMP协议发送到流媒体服务器,由流媒媒体服务器广播给各个收听者端,分别将未混音完成的伴奏数据和录音数据重新加入MusicBuffer、SoundBuffer缓冲区,按步骤(1)进行循环处理;(2)在接收者端,定义一个播放缓冲区PlayingBuffer用于接收演唱者端发送过来的数据,启动数据接收线程、音频播放线程、字幕渐近线程;接收线程将接收到的数据解码成音频数据及时间戳TimeStamp;播放线程开始准备播放,依据接收到的时间戳与缓冲数据量实时计算出当前播放器相对应的演唱者端的时间PlayTime,计算公式如下:PlayTime=TimeStamp‑播放缓冲区PlayingBuffer剩余的数据时长;字幕渐近线程依据计算出的播放时间进行字幕渐近,所述进行字幕渐近方法如下:a.根据当前播放器相对应的演唱者端的时间PlayTime,定位到当前播放的字,并提取出当前字的开始时间Word.endtime和结束时间Word.EndTime;b.进行字幕的渐变,处理的长度=(PlayTime‑Word.StartTime)*(字的宽度像素)/(Word.EndTime‑Word.StartTime);c.每隔单位时间Unit2Time,循环执行步骤a、b;d.当当前播放器相对应的演唱者端的时间PlayTime的值为设定的TimeStamp的结束阈值时,表明演唱已结束,并进行结果的展示。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安徽科大讯飞信息科技股份有限公司,未经安徽科大讯飞信息科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210484133.1/,转载请声明来源钻瓜专利网。
- 上一篇:一种薄规格热连轧家具用钢及其生产方法
- 下一篇:基于无线网络的云计算系统