首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >心灵深处的纯音以不想要的点击结束

心灵深处的纯音以不想要的点击结束
EN

Stack Overflow用户
提问于 2015-12-06 03:50:24
回答 2查看 525关注 0票数 2

心灵感应中的纯音正以点击结束。我如何删除这些点击?在心理状态下产生的音调和作为.wav导入的音调都有相同的问题。我尝试添加0.025ms淡出在.wav色调,我产生了使用奥迪。但是,当他们在精神错乱中玩的时候,他们以一声咔嗒声结束。

现在我不知道该怎么做。我需要做一个心理声学实验,它不能进行那样的声调表现。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-06 20:10:01

声音开始和结束时的咔嗒声经常发生,因为声音中途停止,因此波动突然从某个值变为零。这种波形只能使用叠加在信号上的高幅高频波,即点击。因此,解决办法是使波在零时停止。

你在用旧版本的神经病吗?如果是,那就升级。较新的版本添加了一个Hamming窗口(淡入/退出)到自我生成的音调,这应该避免点击。

对于.wav文件,最后尝试添加(额外的)沉默,例如50毫秒。可能是那个神经病过早地停止了声音。

票数 1
EN

Stack Overflow用户

发布于 2015-12-06 15:00:30

据我所知,刺耳的声音或咔嗒声常常与缓冲错误有关。许多年前,当设置了不正确的比特率时,我在Linux系统上遇到了类似的问题。因此,这里可能至少有两个可能的罪魁祸首:比特率和缓冲区大小。

您已经应用了一个起始和偏移斜坡,以允许膜进入/流出,所以这不应该是问题。(顺便问一下,我想你是说0.025秒而不是ms?否则,斜坡就太短了!)

具有下列设置的PyGame 初始化声音系统:

代码语言:javascript
复制
initPygame(rate=22050, bits=16, stereo=True, buffer=1024)

而Pyo则以以下方式进行初始化

代码语言:javascript
复制
initPyo(rate=44100, stereo=True, buffer=128)

psychopy.sound的文档声明:

要控制比特率和缓冲区大小,可以在创建第一个声音对象之前调用psychopy.sound.init: 从精神病传入声音sound.init(rate=44100,stereo=True,buffer=128) s1 = sound.Sound('ding.wav')

所以,我建议你:

  • 尝试两个声音后端,Pyo和PyGame --您可以更改在通用/音频库下的PsychoPy首选项中使用哪一个。将字段更改为['pyo']以仅使用Pyo,或将['pygame']更改为只使用PyGame。
  • 用不同的设置来实验两个后端的比特率和缓冲区大小(Pyo,PyGame)。

然而,如果你想从严肃的心理声学开始,我建议你不要使用任何一种建议的解决方案,并获得一些专业的声音硬件或具有模拟输出的数据采集板,这将提供毫秒精度的不失真声音,比如由国家仪器公司或竞争对手生产的设备。NI板可以通过PyLibNIDAQmx从Python控制。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34113812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档