数字语音教室中DirectShow的应用

以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
资料介绍:
概念及其现状
多媒体语音教室是现代化的外语教学设备,它不仅意味着教学模式上的飞跃,更在教学上更带来了很多的实际效果。它让学生摆脱了最初的只听老师讲的原始学习状态,让学生自己从以往那种只是读和听的学习过程转移到更好的参与互动讨论,动口说,用耳听,用眼看,使开发大脑加工多种形式的能力成为可能。它将质量更好的读、写和看结合到一起,为学生提供一个更好的思维训练和学习的平台。
最早出现的语音教室是由单一的麦克风和传音设备所组成的类似于对讲机的原始设备,很快,它并为添加了各种各样的多媒体设备的多媒体语音教室所代替,这个时候的语音教室大都由一些投影仪、幻灯机和录音机所拼接而成,在相当长的一段时间后,一整套的带有控制器的语音设备开始流行于各个学校之内,但是这个时候的语音教室还是基于硬件所建立的,我们将其成为传统的语音教室。
1.2数字语音教室的概念及其发展
随着现代信息化得发展,我们也看到了传统的基于硬件的系统所带来的局限性,外围教学工具缺少,媒体应用范围单一,灵活控制不够,课件的传统和单一,这些都逐步突显出来,如何才能更好的组织学生参与到学习过程中成为一个急待解决的问题。从信息理解的角度来看,由视觉传递的信息能被理解的为83%,由听觉传递的信息能被理解的为11%,由触觉传递的信息能被理解的为3%,其余的不到4%,而由视觉和听觉相结合产生的效果大于任何一个前者。显然,从效果来看,想要提高的话,最有效率的途径,也是空间最大的,是加大视觉的输入。,但这也是传统的多媒体教室所不具有的优势,这个时候,出现在人们眼前的PC网络却正好在这方面有着强大的优势,既而由此而产生的数字语音系统正好能给语音教室带来一个全新的诠释。数字语音教室是在建立在PC和网络上的纯数字音频系统,它将人声通过电脑和网络传送到另一端的电脑终端,通过模拟/数字转换实现语音交流,并且在这之上添加一系列权限控制。它具有良好的音质,性价比较高,容易推广,在极大的满足教学需求的同时,又合理的利用了有限的教学资源。它不仅支持传统语音的功能,还支持数字化广播,可视化视音频的点播,上课内容储存等更新的功能。
如何将语音教室发展得更为成熟和强大将是未来一个很重要的课题,数字语音所具有的优势还需要我们进一步的发现和集成,在数字语音的研究上面,我们还有很多方面需要改进,如如何将延迟减为更小,如何把混音处理做得更好等一系列难题需要解决。
1.3 数字语音教室的市场前景
总体来说,语音教室在国内外都具有很大的市场价值,由于数字系统不同于硬软或者硬件系统,它并不需要较大的投入,而且它本身由于是依附于PC,因此操作方便,简单,容易推广。从商业和学术上来说,都值得我们投入更多的力量。
1.4 语音教室的市场前景
数字教室作为一个整体的教学辅助手段,与传统的教学方式上有很大的区别。在上课时,学生可以参与分组讨论,在线提问和交流,同步观看老师的教学课件,浏览多媒体教学动画,甚至在PC时进行考试,而老师能在上课时对学生的PC进行远程控制,同时对学生说话的权利能进行有效控制,以保证上课的顺利进行,除此之外,对于外语教学所需要的步进,重复,跟读等有必须有完善的功能提供。但这中间最为关键的还是语音处理这一块,多套系统之间的竞争所凭的质量也就完全靠语音互动的效果。本文提出的基于Directshow的语音处理解决方案也就是完全为了改善语音处理的性能。 本文来自think58 [资料来源:THINK58.com]
语音处理模块
3.1处理环节
语音的互动实现是本系统十分关键的部分,对系统的运作性能有至关重要的影响,对于整套声音的处理其实有几套技术方案,以前如API, Direcdsound都在这方面比较成熟,有比较好的语音聊天作品,但是遗憾的是他们对于格式的扩展和灵活转换上支持不强,不同的网络可能需要不同的压缩格式和混音方式,同时,系统可能向视频演进,这样以后的系统开发就不得不重新考虑架构了。
语音互动是通过在网络发送,接收两端共同协作完成的,在一端,声音被捕获,可能经过预处理,然后传送到另一端,又经过预处理,然后被回放。这中间可分为:捕获和回放,压缩,解压,网络传输这几个部分。整个语音处理就可以被封装成一个功能模块,提供说话和收听功能。
Graph的构成
在Directshow中,一个完整的处理程序都是建造在Graph中,Graph是由过滤器连接而构成的过滤器连接。数据从最上面一个过滤器跑到最下面一个过滤器,完成它所有的数据处理。每个过滤器都需要被添加到连中才能完成自己的效果。在声音的源端我们将构建如下的Graph:
从始至终的声音样本
语音数据是以声音样本的形容贯穿整个处理流程的,每个样本是CMediaSample来具体化,CMediaSample是由每个PIN负责维护的,它有一个指向内存快的指针,所存储的就是真正的音频格式数据。利用网络发送数据也就是将这块内存中的东西完全照搬。 [资料来源:THINK58.com]
声音样本通过一个媒体类型(CMediaType)来定义其格式,媒体类型是描述数字媒体格式的一种通用的可扩展方式。两个过滤器相连时,必须使用一致的媒体类型,否则这两个过滤器就不能相连。媒体类型能识别上一级过滤器传送给下一级过滤器的数据类型,并对数据进行分类。实际在很多应用程序中,用户根本不需要担心媒体类型的问题,DirectShow会处理好所有的细节。但有些应用程序需要对媒体类型进行操作。媒体类型一般可以有两种表示:AM_MEDIA_TYPE和CMediaType。
typedef struct _MediaType {
GUID majortype;
GUID subtype;
BOOL bFixedSizeSamples;
BOOL bTemporalCompression;
ULONG lSampleSize;
GUID formattype;
IUnknown *pUnk;
ULONG cbFormat;
[size_is(cbFormat)] BYTE *pbFormat;
} AM_MEDIA_TYPE;
前者是一个结构,后者是从这个结构继承过来的类。
多媒体语音教室是现代化的外语教学设备,它不仅意味着教学模式上的飞跃,更在教学上更带来了很多的实际效果。它让学生摆脱了最初的只听老师讲的原始学习状态,让学生自己从以往那种只是读和听的学习过程转移到更好的参与互动讨论,动口说,用耳听,用眼看,使开发大脑加工多种形式的能力成为可能。它将质量更好的读、写和看结合到一起,为学生提供一个更好的思维训练和学习的平台。
最早出现的语音教室是由单一的麦克风和传音设备所组成的类似于对讲机的原始设备,很快,它并为添加了各种各样的多媒体设备的多媒体语音教室所代替,这个时候的语音教室大都由一些投影仪、幻灯机和录音机所拼接而成,在相当长的一段时间后,一整套的带有控制器的语音设备开始流行于各个学校之内,但是这个时候的语音教室还是基于硬件所建立的,我们将其成为传统的语音教室。
1.2数字语音教室的概念及其发展
随着现代信息化得发展,我们也看到了传统的基于硬件的系统所带来的局限性,外围教学工具缺少,媒体应用范围单一,灵活控制不够,课件的传统和单一,这些都逐步突显出来,如何才能更好的组织学生参与到学习过程中成为一个急待解决的问题。从信息理解的角度来看,由视觉传递的信息能被理解的为83%,由听觉传递的信息能被理解的为11%,由触觉传递的信息能被理解的为3%,其余的不到4%,而由视觉和听觉相结合产生的效果大于任何一个前者。显然,从效果来看,想要提高的话,最有效率的途径,也是空间最大的,是加大视觉的输入。,但这也是传统的多媒体教室所不具有的优势,这个时候,出现在人们眼前的PC网络却正好在这方面有着强大的优势,既而由此而产生的数字语音系统正好能给语音教室带来一个全新的诠释。数字语音教室是在建立在PC和网络上的纯数字音频系统,它将人声通过电脑和网络传送到另一端的电脑终端,通过模拟/数字转换实现语音交流,并且在这之上添加一系列权限控制。它具有良好的音质,性价比较高,容易推广,在极大的满足教学需求的同时,又合理的利用了有限的教学资源。它不仅支持传统语音的功能,还支持数字化广播,可视化视音频的点播,上课内容储存等更新的功能。
think58.com [资料来源:http://www.THINK58.com]
如何将语音教室发展得更为成熟和强大将是未来一个很重要的课题,数字语音所具有的优势还需要我们进一步的发现和集成,在数字语音的研究上面,我们还有很多方面需要改进,如如何将延迟减为更小,如何把混音处理做得更好等一系列难题需要解决。
1.3 数字语音教室的市场前景
总体来说,语音教室在国内外都具有很大的市场价值,由于数字系统不同于硬软或者硬件系统,它并不需要较大的投入,而且它本身由于是依附于PC,因此操作方便,简单,容易推广。从商业和学术上来说,都值得我们投入更多的力量。
1.4 语音教室的市场前景
数字教室作为一个整体的教学辅助手段,与传统的教学方式上有很大的区别。在上课时,学生可以参与分组讨论,在线提问和交流,同步观看老师的教学课件,浏览多媒体教学动画,甚至在PC时进行考试,而老师能在上课时对学生的PC进行远程控制,同时对学生说话的权利能进行有效控制,以保证上课的顺利进行,除此之外,对于外语教学所需要的步进,重复,跟读等有必须有完善的功能提供。但这中间最为关键的还是语音处理这一块,多套系统之间的竞争所凭的质量也就完全靠语音互动的效果。本文提出的基于Directshow的语音处理解决方案也就是完全为了改善语音处理的性能。 本文来自think58 [资料来源:THINK58.com]
语音处理模块
3.1处理环节
语音的互动实现是本系统十分关键的部分,对系统的运作性能有至关重要的影响,对于整套声音的处理其实有几套技术方案,以前如API, Direcdsound都在这方面比较成熟,有比较好的语音聊天作品,但是遗憾的是他们对于格式的扩展和灵活转换上支持不强,不同的网络可能需要不同的压缩格式和混音方式,同时,系统可能向视频演进,这样以后的系统开发就不得不重新考虑架构了。
语音互动是通过在网络发送,接收两端共同协作完成的,在一端,声音被捕获,可能经过预处理,然后传送到另一端,又经过预处理,然后被回放。这中间可分为:捕获和回放,压缩,解压,网络传输这几个部分。整个语音处理就可以被封装成一个功能模块,提供说话和收听功能。
Graph的构成
在Directshow中,一个完整的处理程序都是建造在Graph中,Graph是由过滤器连接而构成的过滤器连接。数据从最上面一个过滤器跑到最下面一个过滤器,完成它所有的数据处理。每个过滤器都需要被添加到连中才能完成自己的效果。在声音的源端我们将构建如下的Graph:
从始至终的声音样本
语音数据是以声音样本的形容贯穿整个处理流程的,每个样本是CMediaSample来具体化,CMediaSample是由每个PIN负责维护的,它有一个指向内存快的指针,所存储的就是真正的音频格式数据。利用网络发送数据也就是将这块内存中的东西完全照搬。 [资料来源:THINK58.com]
声音样本通过一个媒体类型(CMediaType)来定义其格式,媒体类型是描述数字媒体格式的一种通用的可扩展方式。两个过滤器相连时,必须使用一致的媒体类型,否则这两个过滤器就不能相连。媒体类型能识别上一级过滤器传送给下一级过滤器的数据类型,并对数据进行分类。实际在很多应用程序中,用户根本不需要担心媒体类型的问题,DirectShow会处理好所有的细节。但有些应用程序需要对媒体类型进行操作。媒体类型一般可以有两种表示:AM_MEDIA_TYPE和CMediaType。
typedef struct _MediaType {
GUID majortype;
GUID subtype;
BOOL bFixedSizeSamples;
BOOL bTemporalCompression;
ULONG lSampleSize;
GUID formattype;
IUnknown *pUnk;
ULONG cbFormat;
[size_is(cbFormat)] BYTE *pbFormat;
本文来自think58 [资料来源:http://think58.com]
} AM_MEDIA_TYPE;
前者是一个结构,后者是从这个结构继承过来的类。