问题标签 [psychtoolbox]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
389 浏览

matlab - GetChar 不等待响应

我在 MATLAB 中使用 psychtoolbox,我想让参与者从 0-9 对一串图像的失真进行评分。我试过使用 GetChar,但是当我运行脚本时,它不会等待用户给出响应,而是移动到下一个屏幕。关于如何解决这个问题的任何建议?

0 投票
1 回答
1101 浏览

matlab - 使用循环以随机顺序显示图片

我正在尝试使用循环在屏幕的左侧和右侧显示闪烁的图像。它目前正在工作,但按照它们出现在我的文件夹中的顺序显示图像,这不是主意,因为我希望它们随机呈现。想法将不胜感激。

我在 Windows 上的 MATLAB 中使用 psychtoolbox,这是我的代码:

0 投票
1 回答
34 浏览

matlab - 使用一个元胞数组创建另一个元胞数组

我正在进行一项实验,我有 5 种不同的条件,参与者在每次试验中给出 0-9 的响应。作为运行实验的结果,我得到了两个单元阵列——一个包含每个试验的条件,一个包含参与者对该试验的响应。例如这个(10 次试验,每个条件 2 次):

我想运行回归,因此我希望将条件转换为实际代表自变量的值,即两个图像之间的距离(以像素为单位)。

级别 1 = 580 像素,2=480,3=380,4=280,5=180

如果这是一个非常明显的问题,我很抱歉,但是如何从我的“条件”单元阵列轻松创建一个新的单元阵列 - “像素距离”?我对 MATLAB 和编程非常陌生,很抱歉,如果我错过了任何重要的事情,我会尽可能多地尝试编辑这个问题以回应建议。我在 Windows 上使用 psychtoolbox 运行 MATLAB。

0 投票
2 回答
773 浏览

matlab - 从 PsychToolBox 教程中解释代码中的一行

我正在学习 PsychToolBox 并参考本教程。http://peterscarfe.com/movingdotgriddemo.html

有这条线:

我无法弄清楚。有人可以向我解释一下吗?尤其是那 vbl + (waitframes - 0.5) * ifi)部分。谢谢!

0 投票
1 回答
5574 浏览

matlab - 检查一个数字是否能被 20 整除 MATLAB

下面的代码将不起作用,因为程序不会知道我们所在的试用号是否可以被 20 整除。基本上,我想检查试用号是否 = 20、40、60 等,如果是,有主题如果他们愿意,可以休息一下。

提前致谢!

0 投票
1 回答
149 浏览

matlab - 播放 6 通道音频 Matlab

我想在 6 个通道上同时播放 6 个声音。(我有一个 logiLink,我插入了 3 根电缆 Front、Surround、Bass/Center)。我不知道该怎么做。从我在谷歌上看到的,我可以用数据采集工具箱(但我没有钱),用 Playrec 或用 PsychToolbox
这个信息我找到了 这里找到的

我要问的是向我推荐使用什么,并向我指出一些有关您将推荐的软件的文档。

谢谢。

0 投票
3 回答
630 浏览

matlab - 在特定耳塞(频道)上播放歌曲

我有一个设备,就像 3 个耳机合二为一(所以 6 个耳塞)。我的目标是在每个耳塞上播放一首不同的歌曲(6 首歌曲)。所以我开始在耳塞上播放一首歌。对我来说,一个频道意味着一个耳塞(但也许我错了)。我正在使用 Psychtoolbox:

但它没有奏效。它不是只在一个耳塞上播放声音,而是在 2 个耳塞上播放。

我收到此警告

PTB-INFO:使用经过特殊修改的PortAudio引擎,基于官方版本:PortAudio V19-devel WITH-DIM

将使用 ASIO 增强的 Portaudio 驱动 DLL。有关此 dll 的确切使用条款,请参阅 Psychtoolbox/PsychSound/PortAudioLICENSE.txt。

免责声明:“ASIO 是 Steinberg Media Technologies GmbH 的商标和软件。”

PTB-警告:虽然使用启用了 ASIO 的 Psychtoolbox 声音驱动程序,

PTB-警告:在您的系统中找不到任何支持 ASIO 的声卡。

PTB-警告:如果您认为您应该拥有 ASIO 卡,请检查您的

PTB-警告:系统正确安装和配置驱动程序并重试。

PTB-警告:阅读“帮助 InitializePsychSound”以了解有关 ASIO 等人的更多信息。

PTB-INFO:带有句柄 0 的新音频设备作为 PortAudio 流打开:

PTB-INFO:对于 1 个通道播放:音频子系统是 MME,音频设备名称是 Microsoft Sound Mapper - 输出

PTB-INFO:实际采样率 44100.000000 Hz。输入延迟 0.000000 毫秒,输出延迟 464.399093 毫秒。




然后我决定尝试另一个方法。让我们在其他 2 个耳塞上播放歌曲

我使用 PsychPortAudio('GetDevices') 来查找耳塞对的 id。奇怪的是,我找到了 4 个而不是 3 个具有 2 个通道的设备。我使用 PsychPortAudio('Open' for id 7,9,18 和 20 但每次歌曲在同一对耳塞上播放时,我尝试只在一个耳塞上播放。
这是一张有 4 台设备的照片

在此处输入图像描述

现在唯一不同的是警告它这个

PTB-INFO:对于 2 声道播放:音频子系统是 Windows DirectSound,音频设备名称是扬声器(USB 多声道音频设备)

很抱歉这篇长篇文章,但我想给你所有的信息。

你能说我错了吗。如何在特定耳塞上播放一首歌曲。我想如果我知道的话,我只需复制代码并放另一首歌曲,这样我就会在每个耳塞上播放一首歌曲

0 投票
1 回答
1778 浏览

matlab - 在屏幕中央画一个点

我最近开始学习如何在 matlab 中编码,即为认知心理学调查编写简单的体验。我想问一下,是否有人知道这两者,如何定义,在屏幕上画一个点的位置,以及如何定义刺激开始前的注视时间。我知道,定义点位置的代码如下:

但是,我不知道,哪个坐标定义了屏幕的确切中间。先感谢您!

0 投票
1 回答
1693 浏览

slider - 心理工具箱刻度滑块

我正在尝试制作一个简单比例的滑块,用户只能在水平轴上看到鼠标移动(水平比例上的固定 y 位置)。

更详细地说:当刻度出现时,我希望光标在水平刻度的中心显示为一条短垂直线(又名滑块)。当用户移动鼠标时,滑块应在水平轴上相应移动(不反映垂直轴的任何变化,即应保持在刻度上)

我坚持将光标的外观更改为垂直线滑块,并将光标的移动限制在水平轴上。

这是我尝试过的:

  • 我可以使用 SetMouse 成功放置光标。
  • 我尝试 ShowCursor 来更改光标的外观,但这只有几个命名选项,编号选项不能跨操作系统移植(“数字到形状的映射取决于操作系统”),这是我需要的。关于如何将光标更改为垂直线滑块的任何其他想法?

至于将移动限制为水平,我找不到任何似乎可以做到这一点的 PTB 功能。我确实在 Matlab 中找到了一些解决方法来制作用户 GUI,但似乎这些不能与 PTB 的屏幕一起使用。任何想法都会很棒!

我还是 PTB 的新手,非常感谢您的帮助!

0 投票
1 回答
5226 浏览

matlab - 如何在 Psychtoolbox 中以透明背景显示 PNG 文件?

我需要使用该Screen('DrawTexture')功能在屏幕上同时显示两个图像。一个图像是场景图像,第二个是对象,其中背景是透明的。我想在场景图像的顶部显示对象。但是,当我尝试此操作时,该对象似乎有黑色背景。

对象图像绝对没有问题;当用 调用时[object,map,alpha] = imread(objectimage.png),alpha 值返回一个适当大小的矩阵。我还使用 Python 成功地显示了这些图像,一个在另一个之上。但是,由于各种研究原因,这个项目不能用 Python 编写。

我尝试寻找解决方案,但我能找到的唯一解决方案与图形或绘图有关,而不是Screen. 我怀疑我需要对 alpha 混合做一些事情(可能是一些非常基本的事情),但我找不到任何适合初学者的指南。

我的测试代码目前如下所示:

任何意见,将不胜感激!