Hello, I am Luca from Italy and I have a problem with the functions mirregularity and mirpeaks. Giving as input to mirregularity a frame decomposed object like f = mirframes(audio) or s = mirspectrum(f) produces a lot of divide by zero warning (obviously audio = miraudio(myfile.wav)) : Warning: Divide by zero. In mirpeaks>main at 461 In mirfunction at 151 In mirpeaks at 177 In mirregularity>init at 45 In mirfunction at 126 In mirregularity at 37 The problem should be given by mirpeaks function, but when I call it on the same object, for ex. s, no warning is given. Instead, if I try to visualize the result, Matlab crashes giving the following message. p = mirpeaks(s); %no error p %crash ---------------------------------------------------------------------- Segmentation violation detected at Sat Nov 08 02:27:40 2008 ------------------------------------------------------------------------ Configuration: MATLAB Version: 7.0.0.19920 (R14) Operating System: Microsoft Windows XP Window System: Version 5.1 (Build 2600: Service Pack 2) Processor ID: x86 Family 6 Model 15 Stepping 6, GenuineIntel Virtual Machine: Java 1.4.2 with Sun Microsystems Inc. Java HotSpot(TM) Client VM (mixed mode) Default Charset: ibm-5348_P100-1997 Register State: EAX = 00239587 EBX = 0f416630 ECX = 28600030 EDX = 002399fa ESI = 1a5946f0 EDI = 1a686580 EBP = 00cdc9f4 ESP = 00cdc6a4 EIP = 791bc242 FLG = 00010287 Stack Trace: [0] hg.dll:_render_mesh_zbuf(0x1a4acf40, 0x1ae46470, 0x01000001, 0x1a4acf40) + 3746 bytes [1] hg.dll:_GO_RenderZbuffer(0x1a4acf40, 0x1ae46470, 0x1a686580, 0x1a686580) + 25 bytes [2] hg.dll:void __cdecl renderKidsZbufRecursive(struct GObject_tag *,struct RenderBuffer *,struct MaterialProps_tag *,struct NLights_tag *)(0x1a72dc20, 0x1a686580, 0x1a5946c0, 0x1a594690) + 362 bytes [3] hg.dll:void __cdecl renderKidsZbuf(struct GObject_tag *,struct RenderBuffer *)(0x1a686580, 0x1a686580, 0x1a72dc20, 0xb5040f00) + 137 bytes [4] hg.dll:_RenderAxisZbuffer(0x1a72dc20, 0, 0x01686580, 0x1a72dc20) + 145 bytes [5] hg.dll:_GO_RenderZbuffer(0x1a72dc20, 0, 0x1a686580, 0x1a686290) + 25 bytes [6] hg.dll:bool __cdecl RenderNormalAxesChildrenRecursive(struct GObject_tag *,struct RenderBuffer *)(0x1a686290, 0x1a686580, 0x1a686580, 0x1acae370) + 246 bytes [7] hg.dll:void __cdecl RenderFigureZbuffer(struct GObject_tag *,struct XFormedData *,struct RenderBuffer *)(0x1a686290, 0, 0x1a686500, 0x1a686290) + 112 bytes [8] hg.dll:_GO_RenderZbuffer(0x1a686290, 0, 0x1a686580, 0x1a686290) + 25 bytes [9] hg.dll:public: virtual void __thiscall ZBufferRenderEngine::draw(struct GObject_tag *)(0x1a686290, 0x00cdcb58 "°ËÍ", 0x79187849, 0x1ae49bd4) + 128 bytes [10] hg.dll:void __cdecl RenderEngineDraw(struct RenderEngine_tag *,struct GObject_tag *)(0x1ae49bd4, 0x1a686290, 0x0f417730, 0x0f0cbb30 "PÍ\ny") + 22 bytes [11] hg.dll:_figure_expose_fcn(0x0f417730, 0x00cdcb98, 0x0f417730, 0) + 185 bytes [12] libmwgui.dll:void __cdecl wm_ExposeFcn(struct WinRec_tag *)(0x0f417730, 0x0f417730, 0, 0x0f49d110) + 97 bytes [13] libuij.dll:public: static void __cdecl FigureJavaEventManager::PaintCallback(class UDInterface *,void *,void const *,bool)(0x1a345750, 0x1a665010, 0x00cdcc8c, 0) + 208 bytes [14] libuij.dll:public: virtual bool __thiscall uij::JavaEventListener::execute(class UDEvent *)(0x00cdcc8c, 0x0f564ec0, 0x1a345750, 0x00cdcc8c) + 64 bytes [15] udd.dll:public: bool __thiscall UDListenerList::execute(class UDEvent *)(0x00cdcc8c, 0x00cdcc54 "lÌÍ", 0x788d8df9, 0x0ef745a0) + 86 bytes [16] udd.dll:public: virtual void __thiscall UDListenerManagerHost::notifyEvent(class UDDatabaseClient *,class UDEventSource const *,class UDEventInfo const *,class UDEvent *)(0x0ef745a0, 0x1a345754, 0x0f564ec0, 0x00cdcc8c) + 52 bytes [17] udd.dll:public: virtual void __thiscall UDEventInfo::send(class UDDatabaseClient *,class UDInterface *,class UDEvent *)(0x0ef745a0, 0x1a345750, 0x00cdcc8c, 0x1a345750) + 57 bytes [18] udd.dll:public: void __thiscall UDInterface::send(class UDDatabaseClient *,class UDEventInfo *,class UDEvent *)(0x0ef745a0, 0x0f564ec0, 0x00cdcc8c, 0) + 85 bytes [19] udd_mi.dll:_ProcessBeanUDDEvent(291, 0x00cdcd0c, 0, 0x00cdcdf0) + 551 bytes [20] uiw.dll:bool __cdecl UIW_DispatchUserMessage(int,int)(9223, 291, 0, 0x00030000 "Actx ") + 76 bytes [21] uiw.dll:_HandleUserMsgHook@12(0, 1, 0x00cdcdf0, 0x00cdcec4 "ÔÎÍ") + 74 bytes [22] USER32.dll:0x7e3b18e3(0x00030000 "Actx ", 1, 0x00cdcdf0, 0x7905d8b0) [23] USER32.dll:0x7e39f7f6(0x00cdcde0, 0x00cdcdf0, 0x00cdce0c, 0) [24] USER32.dll:0x7e39f94b(0x00cdcde0, 48, 0x00030000 "Actx ", 1) [25] ntdll.dll:0x7c91eae3(0x00cdcec4 "ÔÎÍ", 0, 0, 0) [26] uiw.dll:void __cdecl ws_ProcessPendingEventsMainLoop(int,bool)(0, 1, 0x00cdcf28 "HÏÍ", 0x79189112) + 378 bytes [27] uiw.dll:void __cdecl ws_ProcessPendingEventsWaitForWindows(int)(0, 0xffffffff, 0, 0x00cdd21c "PÒÍ") + 79 bytes [28] hg.dll:_hgDrawnow(1, 0x00cdd1bc, 0, 0x00cdd21c "PÒÍ") + 130 bytes [29] m_dispatcher.dll:public: virtual void __thiscall Mfh_builtin<struct mxArray_tag>::dispatch_mf(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0x00cdd1bc, 0, 0x00cdd21c "PÒÍ") + 55 bytes [30] m_dispatcher.dll:public: virtual void __thiscall Mfh_MATLAB_fn::dispatch_fh(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0x00cdd1bc, 0, 0x00cdd21c "PÒÍ") + 200 bytes [31] m_interpreter.dll:_inDispatchFromStack(172, 0x1a66816c "drawnow", 0, 0) + 891 bytes [32] m_interpreter.dll:enum opcodes __cdecl inDispatchCall(char const *,int,int,int,int *,int *)(0x1a66816c "drawnow", 172, 0, 0) + 111 bytes [33] m_interpreter.dll:int __cdecl inInterp(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag volatile *)(1, 8238, 407, 0) + 2282 bytes [34] m_interpreter.dll:int __cdecl inInterPcodeSJ(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag *)(1, 8238, 9, 0) + 272 bytes [35] m_interpreter.dll:int __cdecl inExecuteMFunctionOrScript(class Mfh_mp *,bool)(0x1a681cd0, 0, 13, 13) + 773 bytes [36] m_interpreter.dll:_inWordsj(1, 0x00cdd8dc, 13, 0x00cdd93c) + 441 bytes [37] m_interpreter.dll:public: void __thiscall Mfh_mp::inRunMP(int,struct mxArray_tag * *,int,struct mxArray_tag * *,struct inWorkSpace_tag *)(1, 0x00cdd8dc, 13, 0x00cdd93c) + 158 bytes [38] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(struct _mdUnknown_workspace *,int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 1, 0x00cdd8dc, 13) + 28 bytes [39] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(1, 0x00cdd8dc, 13, 0x00cdd93c) + 26 bytes [40] m_dispatcher.dll:public: virtual void __thiscall Mfh_file::dispatch_fh(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(1, 0x00cdd8dc, 13, 0x00cdd93c) + 273 bytes [41] m_interpreter.dll:_inDispatchFromStack(621, 0x1a6c8dec "displot", 1, 0x01fffff3) + 891 bytes [42] m_interpreter.dll:enum opcodes __cdecl inDispatchCall(char const *,int,int,int,int *,int *)(0x1a6c8dec "displot", 0, 1, 0xfffffff3) + 111 bytes [43] m_interpreter.dll:int __cdecl inInterp(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag volatile *)(1, 1160, 63, 0) + 2282 bytes [44] m_interpreter.dll:int __cdecl inInterPcodeSJ(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag *)(1, 1160, 4, 0) + 272 bytes [45] m_interpreter.dll:int __cdecl inExecuteMFunctionOrScript(class Mfh_mp *,bool)(0x1a6c1d00, 0, 2, 1) + 773 bytes [46] m_interpreter.dll:_inWordsj(0, 0x00cddffc, 2, 0x00cde05c) + 441 bytes [47] m_interpreter.dll:public: void __thiscall Mfh_mp::inRunMP(int,struct mxArray_tag * *,int,struct mxArray_tag * *,struct inWorkSpace_tag *)(0, 0x00cddffc, 2, 0x00cde05c) + 158 bytes [48] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(struct _mdUnknown_workspace *,int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0, 0x00cddffc, 2) + 28 bytes [49] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0x00cddffc, 2, 0x00cde05c) + 26 bytes [50] m_dispatcher.dll:public: virtual void __thiscall Mfh_file::dispatch_fh(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0x00cddffc, 2, 0x00cde05c) + 273 bytes [51] m_interpreter.dll:_inDispatchFromStack(620, 0x1a33c580 "mirdisplay", 0, 2) + 891 bytes [52] m_interpreter.dll:enum opcodes __cdecl inDispatchCall(char const *,int,int,int,int *,int *)(0x1a33c580 "mirdisplay", 0, 0, 2) + 111 bytes [53] m_interpreter.dll:int __cdecl inInterp(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag volatile *)(1, 35, 4, 0) + 2282 bytes [54] m_interpreter.dll:int __cdecl inInterPcodeSJ(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag *)(1, 35, 4, 0) + 272 bytes [55] m_interpreter.dll:int __cdecl inExecuteMFunctionOrScript(class Mfh_mp *,bool)(0x0eef0580 "D¸¹xF", 0, 1, 1) + 773 bytes [56] m_interpreter.dll:_inWordsj(0, 0x00cde71c, 1, 0x00cde77c) + 441 bytes [57] m_interpreter.dll:public: void __thiscall Mfh_mp::inRunMP(int,struct mxArray_tag * *,int,struct mxArray_tag * *,struct inWorkSpace_tag *)(0, 0x00cde71c, 1, 0x00cde77c) + 158 bytes [58] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(struct _mdUnknown_workspace *,int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0, 0x00cde71c, 1) + 28 bytes [59] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0x00cde71c, 1, 0x00cde77c) + 26 bytes [60] m_dispatcher.dll:public: virtual void __thiscall Mfh_file::dispatch_fh(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0x00cde71c, 1, 0x00cde77c) + 273 bytes [61] m_interpreter.dll:_inDispatchFromStack(70, 0x1a33a1a0 "display", 0, 1) + 891 bytes [62] m_interpreter.dll:enum opcodes __cdecl inDispatchCall(char const *,int,int,int,int *,int *)(0x1a33a1a0 "display", 70, 0, 1) + 111 bytes [63] m_interpreter.dll:int __cdecl inInterp(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag volatile *)(2, 0, 0, 0) + 2411 bytes [64] m_interpreter.dll:int __cdecl inInterPcodeSJ(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag *)(2, 0, 0, 0) + 272 bytes [65] m_interpreter.dll:_inInterPcode(2, 0x7876f2d8 "¸òvx°úrx`ûrxÐúrx¸òvxØòvx", 0, 0) + 69 bytes [66] m_interpreter.dll:enum inExecutionStatus __cdecl in_local_call_eval_function(int *,struct _pcodeheader *,int *,struct mxArray_tag * * const,enum inDebugCheck)(0x00cdf2c8, 0x00cdf3bc, 2, 0x1a22b0c0 "p\n") + 162 bytes [67] m_interpreter.dll:$L72592(0x7876f2d8 "¸òvx°úrx`ûrxÐúrx¸òvxØòvx", 0x1a22b0c0 "p\n", 2, 0) + 196 bytes [68] m_interpreter.dll:enum inExecutionStatus __cdecl inEvalCmdWithLocalReturnandtype(char const *,int *,enum inDebugCheck)(0, 2, 1, 0x00cdf44c "ôôÍ") + 86 bytes [69] m_interpreter.dll:_inEvalCmdNoEnd(0x1a22b0c0 "p\n", 0x00cdf4e4, 0x00cdf4a0, 0x014b1f98) + 16 bytes [70] bridge.dll:_mnParser(0x7c80b6a1, 0x014b1f98, 0, 0) + 431 bytes [71] mcr.dll:public: void __thiscall mcrInstance::mnParser(void)(271268, 0x505c3a43, 0x72676f72, 0x696d6d61) + 87 bytes [72] MATLAB.exe:0x00401d2f(4194304, 0, 271268, 0x014b1f98) [73] MATLAB.exe:0x00403e45(3342384, 3276849, 0x7ffde000, 0x8054a6ed) [74] kernel32.dll:0x7c816fd7(0x00403cc0 "jth(U@", 0, 0, 1245343) Is the function working properly or there are some problems? I am quite sospicious because of all those warnings and of the crash... Another last question: I wanted to use mirroughness to get some information, but there are some problems. If I pass to it a frame decomposed object like f = mirframe(audio) only one value is returned instead of the different values of roughness along time. Using a simple audio object I read that an automatic frame decomposition is performed, and roughness along time is returned. But what about if I wanted to use a different frame length than 50 ms? Thanks in advance for the help, best regards Luca Piccina