用于处理由evtaf程序和evsongAnaly图形用户界面创建的文件的函数
evfuncs的Python项目详细描述
ev函数
用于处理由evtaf和evsongAnaly图形用户界面创建的文件的函数。
如果需要使用python中的这些文件(请参阅下面的“用法”)。
本文首次发表了使用evtaf和evsongeAnaly收集数据的工作:
Tumer、Evren C.和Michael S.Brainard。
“性能变异性使‘结晶’成年鸟鸣具有适应性可塑性。”
自然450.7173(2007):1240。
https://www.nature.com/articles/nature06390
这些函数是原始函数的python翻译 由Evren Tumer用Matlab编写(版权所有MathWorks)(如下所示)。
安装
$ pip install evfuncs
使用量
在python中开发这些函数的主要目的是 使用此数据存储库中的孟加拉芬奇歌曲文件: https://figshare.com/articles/Bengalese_Finch_song_repository/4805749
使用存储库中的evfuncs
,您可以加载.cbin
音频文件…
>>>importevfuncs>>>rawsong,samp_freq=evfuncs.load_cbin('gy6or6_baseline_230312_0808.138.cbin')
…以及.not.mat
文件中的注释…
>>>notmat_dict=evfuncs.load_notmat('gy6or6_baseline_230312_0808.138.cbin')
(或者,直接使用.not.mat
文件名)
>>>notmat_dict=evfuncs.load_notmat('gy6or6_baseline_230312_0808.138.not.mat')
…你应该能够重现鸟鸣原始音频文件的分割 使用.not.mat文件和 segmentnotes.m函数应用的简单算法。
>>>smooth=evfuncs.smooth_data(rawsong,samp_freq)>>>threshold=notmat_dict['threshold']>>>min_syl_dur=notmat_dict['min_dur']/1000>>>min_silent_dur=notmat_dict['min_int']/1000>>>onsets,offsets=evfuncs.segment_song(smooth,samp_freq,threshold,min_syl_dur,min_silent_dur)>>>importnumpyasnp>>>np.allclose(onsets,notmat_dict['onsets'])True
(请注意,如果.not.mat中的onset和offset 注释文件已被修改,例如,evsongAnalyGUI的一个用户编辑了它们, 它们最初是由segmentnotes.m函数计算出来的。)
获得帮助
请在此提出问题:
https://github.com/NickleDave/evfuncs/issues