前言:
如今看官们对“算法是硬件还是软件”可能比较关怀,你们都想要剖析一些“算法是硬件还是软件”的相关文章。那么小编同时在网摘上搜集了一些有关“算法是硬件还是软件””的相关资讯,希望你们能喜欢,我们快快来学习一下吧!不同规格的计算机用Adobe Flash或JavaScript编写的代码的听觉和视觉刺激同步
用户看到视觉呈现的刺激的能力是给定的,因为所有计算机都使用视觉界面(即监视器)进行交互。
音频传统上是可选的:早期的PC只能通过内部扬声器发出简单的哔哔声,而仅在十多年前,许多商用PC仅将声卡作为可选的附加功能。最近的一个问题是用户驱动的:人们并不总是能够收听计算机上呈现的声音,缺少扬声器或耳机。然而,越来越多地使用Web来播放视频,以及需要音频的应用程序(如Skype),可能使使用音频的能力更加普及。
尽管视觉刺激的外观因系统而异,但在大小、色调、饱和度、对比度等方面,人们需要能够查看显示器才能使用计算机这一事实意味着刺激的基本属性将被参与者感知。
另一方面,听觉刺激可能太安静而无法感知;它们可能会被扭曲;它们可能在嘈杂的环境中播放,使其无法辨别。它们也可以单声道或双耳呈现,这会影响感知,单声道或立体声(这将影响二分法聆听任务)等等。
浏览器的音频的呈现通常比视觉刺激的呈现更复杂。例如,所有当前流行的PC浏览器都不支持单一的音频格式,并且在HTML5标准最近发展之前,播放音频的最佳方法因浏览器而异。
我们主要感兴趣的是,在不同的系统-浏览器组合中,在Web上可以维持对听觉和视觉刺激开始异步(SOA)的控制。我们对绝对SOA不太感兴趣,因为一致的SOA可以通过在其中一个模态上增加刺激呈现的延迟来纠正。然而,SOA在计算机硬件和软件组合之间的实质性差异将是一个更难解决的问题。
我们之前已经展示了JavaScript和Flash高估视觉RT的程度,部分原因是刺激的呈现指令与刺激在计算机显示器上的出现之间存在滞后。如果我们试图同时呈现听觉和视觉刺激,我们可以使用测量的SOA,结合先前报道的已知的RT对视觉刺激的高估,来计算RT对听觉刺激的预期高估。
有几种方法可以编码和同步听觉和视觉刺激的生成。第一个方法中,我们使用了最简单,不受约束的方法,其中计算机代码基本上同时执行命令来呈现视觉和听觉刺激。基本方法如以下伪代码所示:
以黑屏开始新的试用,在屏幕上显示白色方块,启动 1,000 毫秒计时器,播放 1,000 毫秒正弦波,当 1,000 毫秒计时器完成时,隐藏矩形,等待 500 毫秒,然后重复。
我们只是发送了几乎并发的音频和视觉刺激请求来启动。该代码是用Flash(使用ActionScript 3,将嵌入式mp3样本传递给SoundChannel)和JavaScript(使用HTML5标签和JavaScript play方法)实现的。
听觉刺激的持续时间非常一致,无论是在系统-浏览器-编码配置内还是在系统-浏览器-编码配置之间。在各种条件下,平均听觉持续时间最多变化11 ms,条件内的SDs通常低于1 ms。一些条件间变异性也可能归因于工具包音频检测器的触发阈值。总体持续时间明显长于 1,000 毫秒的声音持续时间。然而,我们怀疑这可能是由于正弦波结束时发生的“爆裂”,这略微增加了持续时间。总体而言,该测试提供了良好的证据,证明听觉持续时间是一致的。
尽管呈现视觉和听觉刺激的代码基本上同时运行,但视觉和听觉刺激的开始并不是同时进行的。使用 JavaScript,听觉发作比视觉发作滞后 35 到 61 毫秒。当我们使用Flash时,SOA更加明显:在60到104毫秒之间。
第二个方法中,我们使用JavaScript或Flash启动声音播放,然后使用事件侦听器(一个在鼠标单击或屏幕刷新等事件触发时运行的过程)来检查声音是否实际报告为正在播放。一旦检测到它在播放,就会呈现视觉刺激。这样可以减少对刺激开始播放的精确点的控制,但可以减少跨模态异步。设计以以下伪代码给出:
以黑屏开始新的试用,播放持续 3,1 毫秒的正弦波 mp000,监视是否正在播放声音,如果正在播放声音,请使白色方块可见,监控声音是否完整,如果声音完整,则使白色方块不可见,等待 500 毫秒,然后重复。
视觉刺激的开始和偏移与音频开始和偏移的结合导致了视觉持续时间的实质性变化。其中包括演示持续时间略低于Flash所需的1,000毫秒,以及JavaScript下一些非常大的过长持续时间。和以前一样,听觉呈现持续时间的一致性非常好。结果与第一个方法中的结果非常相似。
很明显,特别是在 JavaScript 中,由声音完成触发的事件发生在声音结束后的一段时间,这意味着视觉刺激在屏幕上停留的时间比它应该停留的时间要长得多。总体而言,这种方法似乎并不比第一个方法更好,甚至可能更差。
标签: #算法是硬件还是软件