一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种实时空间指向性立体声解码方法与流程

2021-11-03 12:44:00 来源:中国专利 TAG:


1.本发明涉及空间立体声播放设备领域,具体是一种实时空间指向性立体声解码方法。


背景技术:

2.随着视频影视投影技术的发展,展馆展会等的展项内容极为丰富,结合了影视、声音、动画等的多媒体互动展项变得炙手可热。但是传统的展项多是双通道声音,声音位置大小不明确。故而无法给观众提供身临其境的体验。


技术实现要素:

3.本发明的目的在于克服上述缺陷,提出一种低成本的生成空间中立体音效的方法,从而达到丰富展项内容,提升观众互动体验的目的。
4.为了达到上述目的,本发明是这样实现的:一种实时空间指向性立体声解码方法;其包括带有声卡的作为播放器的pc主机,还包括功放和音响组件,所述功放、音响组件通过hdmi线与pc主机连接,所述音响组件包含两个前置音响,两个吊顶音响,两个后置音响,一个中置音响,一个低音炮;其特征是,解码方法包括步骤1、声音对象的创建和控制:采用openal创建和管理声音对象,输入空间位置坐标控制声音对象;步骤1.1、声音对象的具体实现:1)、读取声音文件;2)、读入声音数据到buffer;3)、读取声音格式;4)、创建openal上下文;5)、创建openal声音对象;6)、将声音数据buffer拷贝给openal声音对象;步骤2、使用和播放声音对象:步骤2.1、采用以下代码执行sound.sounds[0]->setloop(true); //设置循环播放声音;sound.sounds[0]->play(); //播放声音;sound.sounds[0]->setsource(x, y, z); //设置声音位置,此处xyz为udp消息发送的位置坐标步骤3、创建和设置听众对象:步骤3.1、采用以下代码执行void initlistener() { //创建听众
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
float vec[6] = { 0.0, 0.0,
ꢀ-
1.0, 0.0, 1.0, 0.0 };
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
allistenerfv(al_orientation, vec);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
allistener3f(al_position, 0.0, 0.0, 0.0);
ꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀ
void setlistener(float x, float y, float z) { //设置听众位置
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
allistener3f(al_position, x, y, z);
ꢀꢀꢀꢀꢀꢀꢀ
}步骤4、空间立体声的制作,采用steinberg nuendo 10编码软件以及立体声卡进行立体声编码;步骤5、声音解码及播放;步骤5.1、读取音频文件:1)、根据路径读取声音文件到内存;2)、从读取的内存获得文件头;3)、根据文件头解析声音格式;4)、根据读取的内容解析出声音数据;5)、把声音数据拷贝到buffer;步骤6、解析音频格式:将音频格式转换为openal可以识别的格式步骤7、读取到声音格式的nchannels确定声音通道数;步骤8、读取到声音格式的dwchannelmask确定通道对应的音响;步骤9、播放控制:创建一个udp接收对象接收互动程序发送的位置坐标,将坐标发送给声音对象和观众对象,音频程序获取到声音坐标立即赋值给声音对象位置并播放对应的声音对象即可听到对应位置的声音。
[0005]
本解码方法采用计算机领域的多通道立体声技术,通过一张立体声卡合成立体声效,同时使用专用的播放程序负责声音解码,以生成空间中立体的音效;创造性的将3d立体音效应用于互动展项上,丰富展项的内容,提升观众的互动体验;空间指向性立体声是一种全新的声音方案,它比普通的多通道声音增加了声音对象的概念,在互动程序中创建和移动声音对象,声音对象能够控制多个声音通道音量的大小,在互动时给观众一种身临其境的体验。
附图说明
[0006]
图1为本立体声解码方法的运作过程示意图。
具体实施方式
[0007]
以下通过具体实施例进一步说明本发明。
[0008]
如图1所示,一种实时空间指向性立体声解码方法;其包括带有声卡的作为播放器的pc主机,还包括功放和音响组件,所述功放、音响组件通过hdmi线与pc主机连接,所述音响组件包含两个前置音响,两个吊顶音响,两个后置音响,一个中置音响,一个低音炮;其特征是,解码方法包括步骤1、声音对象的创建和控制:采用openal创建和管理声音对象,输入空间位置坐标控制声音对象;
步骤1.1、声音对象的具体实现:1)、读取声音文件;2)、读入声音数据到buffer;3)、读取声音格式;4)、创建openal上下文;5)、创建openal声音对象;6)、将声音数据buffer拷贝给openal声音对象;步骤2、使用和播放声音对象:步骤2.1、采用以下代码执行sound.sounds[0]->setloop(true); //设置循环播放声音;sound.sounds[0]->play(); //播放声音;sound.sounds[0]->setsource(x, y, z); //设置声音位置,此处xyz为udp消息发送的位置坐标步骤3、创建和设置听众对象:步骤3.1、采用以下代码执行void initlistener() { //创建听众
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
float vec[6] = { 0.0, 0.0,
ꢀ-
1.0, 0.0, 1.0, 0.0 };
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
allistenerfv(al_orientation, vec);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
allistener3f(al_position, 0.0, 0.0, 0.0);
ꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀ
void setlistener(float x, float y, float z) { //设置听众位置
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
allistener3f(al_position, x, y, z);
ꢀꢀꢀꢀꢀꢀꢀ
}步骤4、空间立体声的制作,采用steinberg nuendo 10编码软件以及立体声卡进行立体声编码;步骤5、声音解码及播放;步骤5.1、读取音频文件:1)、根据路径读取声音文件到内存;2)、从读取的内存获得文件头;3)、根据文件头解析声音格式;4)、根据读取的内容解析出声音数据;5)、把声音数据拷贝到buffer;步骤6、解析音频格式:将音频格式转换为openal可以识别的格式步骤7、读取到声音格式的nchannels确定声音通道数;步骤8、读取到声音格式的dwchannelmask确定通道对应的音响;步骤9、播放控制:创建一个udp接收对象接收互动程序发送的位置坐标,将坐标发送给声音对象和观众对象,音频程序获取到声音坐标立即赋值给声音对象位置并播放对应的声音对象即可听到对应位置的声音。
[0009]
本解码方法采用计算机领域的多通道立体声技术,通过一张立体声卡合成立体声
效,同时使用专用的播放程序负责声音解码,以生成空间中立体的音效;创造性的将3d立体音效应用于互动展项上,丰富展项的内容,提升观众的互动体验;空间指向性立体声是一种全新的声音方案,它比普通的多通道声音增加了声音对象的概念,在互动程序中创建和移动声音对象,声音对象能够控制多个声音通道音量的大小,在互动时给观众一种身临其境的体验。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献